Trace Id is missing
Skip to main content
Azure

Modern application development

Respond to changes faster, optimize costs, and ship confidently.

What is Modern application development?

Modern application 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 personalized experiences and change dynamically to respond to events in real time.

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.

Reduce costs

Pay only 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 optimization 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 application development

Cloud-native architecture

Cloud-native architecture enables you to act on new ideas more often, respond to changing needs faster, and run resilient and scalable applications more easily. By packaging application 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 application.

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 application logic

Infuse AI into both the user interface and business logic application 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 like search, personalization, document processing, image analytics, anomaly detection, and speech analytics.

Modern application development enables developers of all skill levels to easily add AI capabilities to their apps with prebuilt and customizable 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 like 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 personalized, 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 application 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.

Plan, develop, deploy and operate

Proactively apply policies and controls, and set automated gates as part of the pipeline to move applications between stages seamlessly until they’re made available to customers.

Maximizing automation in operations

With an increasingly complex environment to manage, maximizing 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 applications and the underlying system are key to a modern application development approach.

Maximize automation with observability, alerting, troubleshooting, zero downtime deployment, system reliability and high availability

Automating regular checkups and applying best practices like infrastructure as code and site reliability engineering promotes resiliency and helps you respond to incidents with minimal downtime and data loss.

Multi-layered security

Modern applications require multilayered security across code, delivery pipelines, app runtimes, and databases. Start by providing developers 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 applications and give the operations team centralized policy enforcement.

With fully managed compute and database services, security control is built in and threat protection is executed in real time.

Back to tabs

Common modern application development scenarios

Learn more through example solution architectures.

IoT data streaming

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.

Line-of-business app modernization

Improve employee productivity and accelerate decision making with a line-of-business application that consolidates data from multiple business systems and surfaces it through web and mobile front ends.

Personalized recommendations

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).

Mobile workforce app

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.

Handling spikes in demand

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.

Chatbots

Create conversational interfaces and contextually process customer requests using text and voice. Add the speech recognition service to support voice commands.

Secure DevOps

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.

Serverless event processing

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.

DevOps for machine learning (MLOps)

Accelerate deployment and simplify management of machine learning solutions with MLOps. Implement a CI/CD and retraining pipeline for an AI application using Azure DevOps and Azure Machine Learning.

Highly scalable web app

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.

Document processing

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.

Knowledge-mining apps

Uncover latent insights from all your content with AI-powered cloud search for mobile and web app development. Extract and enhance searchable, indexable text from unstructured data sources.

Customers are doing great things with modern application development on Azure

Mars Petcare

"Azure services enabled us to provide a secure, fully monitored, enterprise-ready foundation to our implementation."

Adam Lind, Vice President of Software Development, VCA

A veterinarian examining a dog

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."

Jonathan Turwy, Senior DevOps Engineer, Finxact

A person standing in front of a wall of windows using a mobile phone.

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."

Jeremy Walker, Head of Technology Transformation, BBC

Colorful working pods inside the BBC office

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."

Mike Smith, Lead Software Developer, Chipotle Mexican Grill

A top-down view of Chipotle tacos and burrito bowls.

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."

Bernhard Rode, Software engineer, Bosch

A mobile phone mounted in a car displaying an alert that says “Wrong-way driver nearby?”
Back to tabs

Empower your people with modern engineering practices

DevOps is the engineering foundation for modern application 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 applications 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 workstyles 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 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 organizes 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.

    Learn more about microservice boundaries.

  • 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.

    Learn more about security practices for serverless.

  • If you have an on-premises app and you don't want to modernize, 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.

    Learn more about Azure Functions and AKS.

Start building modern applications today

Start free
#chatEngagement { color: #fff; background-color: #006abb; border: 1px solid #0078d4; border-radius: 4px; display: inline-block; font-size: 14px; font-weight: 600; padding: 10px 16px; } #chatEngagement:hover, #chatEngagement:active { text-decoration: underline; } #chatDisengagement { color: #0062ad; display: inline-block; font-size: 14px; font-weight: 600; padding-right: 1em; position: relative; text-decoration: none; border: none; background-color: transparent; } #chatEngagement:focus { outline: 1px solid #fff; outline-offset: -4px; text-decoration: underline; } #chatDisengagement:after { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 1L9 6L4 11' stroke='%230062ad'/%3E%3C/svg%3E"); content: ' '; height: 12px; width: 12px; display: inline-flex; vertical-align: middle; margin-left: .2em; transition: all .2s ease-in-out; position: absolute; bottom: -6px; background-color: transparent; } #chatDisengagement:focus { outline-offset: 10px; } #lp-iframe-container { border: 0; bottom: 0; box-shadow: 0 5px 15px 0 #00000033; height: 500px; left: auto !important; min-width: 300px; max-width: 350px; padding: 0; position: fixed; right: 0; top: auto !important; z-index: 1031; } #iFrame { height: 100%; width: 100%; border: 0; } #proactive-chat-dialog { position: fixed; z-index: 10400; bottom: -24px; right: 11px; } #proactive-chat-dialog .chatContainer { min-width: 272px; height: 277px; color: #000; line-height: 0; position: relative; border: 0 !important; background-repeat: no-repeat !important; background-color: #fff !important; margin: auto; padding: 12px; background-size: contain !important; box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.034), 0 6.7px 5.3px rgba(0, 0, 0, 0.048), 0 12.5px 10px rgba(0, 0, 0, 0.06), 0 22.3px 17.9px rgba(0, 0, 0, 0.072), 0 41.8px 33.4px rgba(0, 0, 0, 0.086), 0 100px 80px rgba(0, 0, 0, 0.12); } #proactive-chat-dialog .chatContainer .chat-cta { text-align: center; font-size: 24px; font-weight: 600; position: relative; top: 160px; } #proactive-chat-dialog .chatContainer .chat-buttons { position: relative; top: 185px; width: 100%; display: flex; gap: 1em; justify-content: center; flex-direction: column; } #proactive-chat-dialog .chatContainer .chat-buttons .arrow-link { width: auto; margin: auto; } #proactive-chat-dialog .chatContainer .chat-buttons .arrow-link:after { bottom: -6px; } @media only screen and (min-width: 33.75em) { #proactive-chat-dialog .chatContainer .chat-buttons { top: 200px; flex-direction: row; } } </style> <div id="proactive-chat-dialog" class="proactive-chat-hidden"> <div class="chatContainer" style="background: url('{{module.bg-img-src}}') no-repeat top left" > <div class="chat-cta">{{module.heading}}</div> <div class="chat-buttons"> <button type="button" id="chatEngagement" aria-label="{{chat-engagement.aria-label}}" class="button button--primary01 lp-chatnow" data-lp-event="click" data-bi-id="expand-chat" data-bi-an="chat" data-bi-chtid="azure chat 1" data-bi-chtnm="live person proactive chat" data-bi-bhvr="16" data-bi-tn="button button--primary01 lp-chatnow" > {{chat-engagement.btn-txt}} </button> <button type="button" id="chatDisengagement" aria-label="{{chat-disengagement.aria-label}}" class="arrow-link lp-nothanks" data-lp-event="close" data-bi-id="collapse-chat" data-bi-an="chat" data-bi-chtid="azure chat 1" data-bi-chtnm="live person proactive chat" data-bi-tn="arrow-link lp-nothanks" > {{chat-disengagement.btn-txt}} </button> </div> </div> </div> '/>
AI-powered assistant