Technical Story
Cloud-First Development on Azure
Customer, an international technology leader in optics and optoelectronics, continues to break ground with Azure solutions that enhance quality and efficiency across the business. The latest innovation is a cloud-native approach to order processing that replaces an existing monolithic application architecture, making it increasingly difficult to update business rules and scale. Working with Microsoft Gold Partner customer became an early adopter of the Distributed Application Runtime (Dapr), an open-source developer runtime created by Microsoft that makes it easy to build resilient, stateless, and stateful microservice applications that run on the cloud and at the edge. The new application uses the global reach of Azure and the integration of Dapr with Azure Kubernetes Service (AKS) to fulfil orders faster for end customers while also speeding development and improving business continuity for the company.
A More Agile Solution
This Group is an internationally leading technology enterprise operating in the fields of semiconductor manufacturing technology, industrial quality and research, medical technology, and consumer markets. Since its founding in 1846, the customer has continued to advance the world of optics and shape technological progress.
The main challenge was a 20-year-old back-end system with hard-coded business rules. “The original order validation and routing solution was based on a monolithic architecture with fixed capacities,” notes Kai Walter, a lead architect at this Group. Developers couldn’t easily update, reroute, or track orders without reconfiguring tables directly in the system. In addition, business units had no direct control over their order processing flow. With so many system dependencies, changes always require costly, time-consuming developer intervention.
In an earlier project, the team used APIs to decouple front-end interfaces from back-end systems. This time, however, the team also wanted to go global and distribute the order processing environment across multiple Azure data centers to provide faster service to customers worldwide.
The Dapr Approach To Coding
The Customer team found a solution for rapidly building its new order processing system using Dapr. This event-driven runtime helps enterprise developers build resilient and portable microservice applications. The customer was an early adopter of Dapr. As an open-source project, Dapr has a large and rapidly growing community that contributes code, components, and tools, including the customer developers.
Dapr solves the distributed system challenges faced by developers when building microservice applications. It does this by codifying the best practices into open, independent building blocks—APIs that enable developers to build portable applications with the language and framework of their choice. For example, using the secrets building block, developers can easily access secrets from Azure Key Vault or other secrets stores, reducing their development time and making code portable across cloud and edge environments.
In addition, with no additional work, they get essential information for diagnosing issues in production. Using the Dapr APIs, a customer gets detailed tracing and metrics and logs information from its applications to send to Azure Application Insights.
An Event-driven Workflow
The architecture of the Order Processing application distributes the workload across Azure data centers. The ingress point for incoming orders is Azure Front Door, a scalable and secure entry point for global web applications. Azure Front Door routes a request to the nearest region, and each region includes the Azure resources needed to process and store data specific to that locale. An order submitted from a customer in Spain, for example, can be sent to the nearest Azure region in Europe. The customer plans to run in at least six regions, representing three continents. In the event of unexpected errors, an order is automatically routed to another region.
Azure Front Door passes the order to Azure Application Gateway, a web traffic load balancer that is mounted on an Azure API Management endpoint. API Management serves as the gateway to the regional resources, giving customer a single place for efficiently managing its APIs hosted on-premises and on Azure. Next, API Management triggers Azure Service Bus, a message broker, to pick up the incoming orders. Order details are stored in Azure Blob Storage, and the order processing logic runs in containers orchestrated by Azure Kubernetes Service.
High-Level Design
Solution Design
Next Step
Launching the new order processing platform has given the customer the scalable and resilient architecture it needs. Using AKS with Dapr helped the customer develop services and get them to market faster. Customers benefit from faster order fulfilment and timely progress notifications—something the existing system couldn’t do. The new solution is also completely configurable. The business can easily make updates when its customers or supply chains change and can roll these out in hours instead of days.
“Dapr made it much faster for us to build an app on Azure Kubernetes Service,” notes Walter. “The development team could focus on the business logic instead of spending cycles on the common configuration elements.”
Comments