Modern application development
Respond to changes faster, optimise costs and ship confidently.
What is modern application development?
Modern app development is an approach that enables you to innovate rapidly by using cloud-native architectures with loosely coupled microservices, managed databases, AI, DevOps support and built-in monitoring. Meet your customers’ changing needs with applications that provide highly personalised experiences and change dynamically to respond to events in real time.
Accelerate time to market
Rapidly build application front ends with low-code solutions. Add custom logic on the server side using event-driven programming. Easily infuse AI into your apps. And improve workload portability and ease of deployment – without compromising scalability and resiliency – using cloud-native architectures.
Increase reliability and security
Deliver consistent quality and performance at any scale using fully managed databases with built-in high availability, point-in-time backup and single-digit millisecond latency. Build more securely by integrating controls into your DevOps processes. Increase data security with advanced threat detection and data protection.
Only pay for what you need and offload maintenance by using on-demand tools and serverless compute and databases. Reduce development costs with low-code solutions. Get proactive and actionable cost optimisation and resource management recommendations – including when to use free-tier and spot instances.
Enable remote development
Get up and running on any project in minutes with fully configured, secure, cloud-hosted development environments. Collaborate in real time on code reviews and pair programming with well-governed identity and access. Automate code-to-cloud workflows and monitor app health and performance before problems happen.
Building blocks of modern app development
Cloud-native architecture enables you to act on new ideas more often, respond to changing needs faster, and run resilient and scalable apps more easily. By packaging app code and dependencies in containers and deploying them as microservices, you increase architectural portability to deploy applications across environments with little or no modification. Changes can be made to individual components with lower risk to the whole app.
Kubernetes helps you manage the containers at scale. Increase release velocity and operational scalability by using DevOps processes and tools to automate build, test and delivery of the microservices.
AI-powered user interface and app logic
Infuse AI into both the user interface and business logic app layers to enhance user experiences and deepen business insights. Engage audiences globally by adding translation, chatbots and voice for AI-enabled user interfaces. Enhance business logic with AI for scenarios such as search, personalisation, document processing, image analytics, anomaly detection and speech analytics.
Modern app development enables developers of all skill levels to easily add AI capabilities to their apps with prebuilt and customisable AI models for speech, vision, language and decision-making.
Integration using out-of-the-box connectors and API management
Modern integrations using out-of-the-box connectors and APIs help you to be more productive, access data easily and keep your disparate systems up to date in real time. Connectors are ready-made integrations that make it easier to connect apps with software as a service, systems and data anywhere – on-premises or in the cloud.
Lightweight APIs enable integration with protocols such as REST and OAuth. They simplify data retrieval and sharing between services without having to use a heavier message bus. Tap into APIs that already exist in an enterprise and expose them securely through a gateway with hybrid capabilities to access APIs at the edge, on-premises or in other clouds.
Fully managed databases
Deliver personalised, responsive digital experiences without handling complex database infrastructure and security management. Fully managed, cloud-based databases provide limitless scale, low-latency access to rich data and advanced data protection – all built in, regardless of languages or frameworks. Choose the data models, APIs, storage structures and deployment options that best fit your app patterns.
Elastic and always-on databases support business continuity and improve responsiveness to the changing environment. They help operations comply with a consistent availability and latency goal without conducting the heavy lifting tasks of database management – reducing the total cost of ownership.
Software delivery using DevOps practices
Rapid market changes require shorter release cycles without sacrificing quality, stability and security. Tools and processes for continuous integration and delivery (CI/CD) make it easier for you to plan, manage risk, adapt to evolving customer needs faster and improve system stability. Release in a fast, consistent and reliable way by using highly productive tools, automating mundane and manual steps, and iterating in small increments through continuous testing and integration.
Proactively apply policies and controls, and set automated gates as part of the pipeline to move apps between stages seamlessly until they’re made available to customers.
Maximising automation in operations
With an increasingly complex environment to manage, maximising the use of automation helps you improve operational efficiency, identify issues before they affect the customer experience and quickly mitigate issues when they occur. Fully managed platforms provide automated logging, scaling and high availability. Rich telemetry, actionable alerting and full visibility into apps and the underlying system are key to a modern app development approach.
Automating regular checkups and applying best practices such as infrastructure as code and site reliability engineering promotes resiliency and helps you respond to incidents with minimal downtime and data loss.
Modern apps require multilayered security across code, delivery pipelines, app runtimes and databases. Start by providing developers with secure dev boxes with well-governed identity. As part of the DevOps lifecycle, use automated tools to examine dependencies in code repositories and scan for vulnerabilities as you deploy apps to the target environment. Enterprise-grade secrets and policy management encrypt the apps and give the operations team centralised policy enforcement.
With fully managed compute and database services, security control is built in and threat protection is executed in real time.
Common modern app development scenarios
Learn more through example solution architectures.
Easily ingest and process a real-time data stream with millions of data points collected via sensors. Perform fast analysis and computations to develop insights into complex scenarios quickly.
Improve employee productivity and accelerate decision-making with a line-of-business app that consolidates data from multiple business systems and surfaces it through web and mobile front ends.
Train a recommendation model using Azure Databricks and deploy it as an API by using Azure Cosmos DB, Azure Machine Learning and Azure Kubernetes Service (AKS).
Build a robust and responsive app that enables field engineers to view and edit the jobs assigned to them offline. A highly available API backend supports both mobile and web clients.
Offer customers fast, reliable service quality during seasonal and other high-traffic demand periods. Instant, elastic scaling handles traffic and sales bursts without the need to manage infrastructure.
Create conversational interfaces and contextually process customer requests using text and voice. Add the speech recognition service to support voice commands.
Achieve a balance between speed and security and deliver code faster at scale by implementing secure DevOps with Kubernetes on Azure. Accelerate the feedback loop with constant monitoring.
Design event-driven architecture that ingests a stream of data, processes it, and writes the results to a back-end database in a highly available, low latency manner.
Accelerate deployment and simplify management of machine learning solutions with MLOps. Implement a CI/CD and retraining pipeline for an AI app using Azure DevOps and Azure Machine Learning.
Use proven practices for improving scalability and performance in an Azure App Service web app. Enable elastic provisioning of compute capacity and cache publicly available content to reduce latency.
Accelerate business processes by automating information extraction. Accurately extract text, key value pairs and tables from documents to reduce the need for manual review and avoid costly mistakes.
Uncover latent insights from all of your content with AI-powered cloud search for mobile and web app development. Extract and enhance searchable, indexable text from unstructured data sources.
White papers and analyst reports
Tutorials and courses
Customers are doing great things with modern app development on Azure
Adam Lind, Vice President of Software Development, VCA
"Azure services enabled us to provide a secure, fully monitored, enterprise-ready foundation to our implementation."
Jonathan Turwy, Senior DevOps Engineer, Finxact
"The operational ease and simplicity provided by the managed Azure Database for PostgreSQL service allows for high availability and geographically remote failover capability deployed with simple infrastructure scripting."
Richard Pineo, Software Developer, GE Aviation
"We have a lot of security requirements in aviation. With Azure Pipelines, we can embed some of those within the pipeline, so they'll run at every build."
Jeremy Walker, Head of Technology Transformation, BBC
"Azure offers us the flexibility and control we needed to create a natural, branded voice assistant while maintaining the necessary privacy for our customers' data."
Chipotle Mexican Grill
Mike Smith, Lead Software Developer, Chipotle Mexican Grill
"Our move to .NET Core, Visual Studio Code, TypeScript, and Azure services worked out just like we had planned. Our new website makes us much more agile in supporting Chipotle's primary mission: bringing people responsibly sourced, classically cooked, real food, with wholesome ingredients."
Bernhard Rode, Software engineer, Bosch
"When we started our journey on Azure, we were a really small team—just one or two developers. Our partnership with Microsoft, the support from their advisory teams, the great AKS documentation and enterprise expertise—it all helped us very much to succeed."
Empower your people with modern engineering practices
DevOps is the engineering foundation for modern app development. By adopting a DevOps culture along with DevOps practices and tools, you empower your teams to better respond to customer needs, gain confidence in the apps they build and achieve business goals faster. Here are some of the practices that are important to effective DevOps.
Evolve the scope of the team
- Shift to a site reliability engineering (SRE) model. Developers become accountable for the performance and stability their changes bring to operations.
- Enable better collaboration using open-source software and inner-source practices.
- Accommodate different working styles to keep productivity high, even when working remotely.
Create a culture of customer obsession
- Collect telemetry data to assess the value that your products bring to your customers.
- Listen to your customers on social forums and ensure that engineers hear their feedback early and often.
- Engender customer trust by exposing live-site incidents and creating ways to keep customers informed.
Adopt a growth mindset
- Embrace a continuous learning approach that allows teams to fail fast and incorporate lessons learned into better processes that accelerate innovation.
- Encourage developers to test and experiment with new ideas. Conduct post-launch review meetings to improve success measurement.
- Empower developers to use the tools that are most efficient and productive for their individual work styles and that enable them to code from anywhere.
Frequently asked questions
Modern applications are cloud-native architectures that leverage packaged code and dependencies in containers and deploy them as microservices to increase developer velocity using DevOps practices. Modern applications leverage automation by incorporating continuous integration, delivery and deployment, along with automated security to ensure that development teams can produce faster and deliver safely.
Start with a domain model. A domain model is an abstract model of the business domain that organises domain knowledge and provides a common language for developers and domain experts. Derive the microservices from the domain model in a four-step process. Use the link below to learn how to build a domain model into the right microservices for you.
Modern architectures enable improved security by including security through the application lifecycle management (ALM) process. It’s entrenched in the design, development, testing and launch, and reassessment stages. Thus, security is constantly reviewed to ensure compliance. Automation of key security and triggers during ALM and CI/CD pipeline ensure continued security surveillance and reduce manual workload and potential errors.
If you have an on-premises app and you don’t want to modernise, export it into a container and run it on Kubernetes. This requires minimal code alterations, so the app would run similarly, but it could scale much easier. If you want your on-premises app to incorporate Azure Functions, some code must be rewritten to incorporate events and triggers. Alternatively, run Azure Functions in Kubernetes containers, which requires a move to the cloud.