{"id":586,"date":"2020-06-24T00:00:00","date_gmt":"2020-06-24T00:00:00","guid":{"rendered":"https:\/\/azure.microsoft.com\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture"},"modified":"2025-06-30T03:58:29","modified_gmt":"2025-06-30T10:58:29","slug":"how-azurecom-operates-on-azure-part-2-technology-and-architecture","status":"publish","type":"post","link":"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/","title":{"rendered":"How Azure.com operates on Azure part 2: Technology and architecture"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">When you\u2019re the company that builds the cloud platforms used by millions of people, your own cloud content needs be served up fast. Azure.com\u2014a complex, cloud-based application that serves millions of people every day\u2014is built entirely from Azure components and runs on Azure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft culture has always been about using our own tools to run our business. Azure.com serves as an example of the convenient platform-as-a-service (PaaS) option that Azure provides for agile web development. We trust Azure to run Azure.com with 99.99-percent availability across a global network capable of a round-trip time (RTT) of less than 100 milliseconds per request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In part two of our two-part series we share our blueprint, so you can learn from our experience building a website on planetary scale and move forward with your own website transformation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This post will help you get a technical perspective on the infrastructure and resources that make up Azure.com. For details about our design principles, read <a href=\"https:\/\/azure.microsoft.com\/blog\/azurecom-operates-on-azure-part-1-design-principles-and-best-practices\" target=\"_blank\" rel=\"noopener\">Azure.com operates on Azure part 1: Design principles and best practices<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-architecture-of-a-global-footprint\">The architecture of a global footprint<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">With Azure.com, our goal is to run a world-class website in a cost-effective manner at planetary scale. To do this, we currently run more than 25 Azure services. (See <b>Services in Azure.com<\/b> below.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This blog examines the role of the main services, such as Azure Front Door, which routes HTTP requests to the web front end, and Azure App Service, a fully managed platform for creating and deploying cloud applications.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The following diagram shows you a high-level view of the global Azure.com architecture.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">On the left, networking services provide the secure endpoints and connectivity that give users instant access, no matter where they are in the world.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">On the right, developers use Azure DevOps services to run a continuous integration (CI) and continuous deployment (CD) pipeline that delivers updates and features with zero downtime.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">In between, a variety of PaaS options that provide compute,\u00a0 storage, security, monitoring, and more.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image has-custom-border\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2020\/06\/e5be3fcf-fcf4-46ac-8dd8-2e85399a3716.webp\" alt=\"Diagram of a high-level view of the global Azure.com architecture.\" style=\"border-radius:0px\" title=\"Diagram of a high-level view of the global Azure.com architecture.\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><i>Azure.com global architecture: A high-level look at the Azure services and dataflow.<\/i><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"host-globally-deliver-regionally\">Host globally, deliver regionally<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Azure.com architecture is hosted globally but runs locally in multiple regions for high availability. Azure App Service hosts Azure.com from the nearest global datacenter infrastructure, and its automatic scaling features ensure that Azure.com meets changing demands.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The diagram below shows a close-up of the regional architecture hosted in App Service. We use <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/app-service\/deploy-staging-slots\" target=\"_blank\" rel=\"noopener\">deployment slots<\/a> to deploy to development, staging, and production environments. Deployment slots are live apps with their own host names. We can swap content and configurations between the slots while maintaining application availability.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized has-custom-border\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2020\/06\/cfc91c9f-fb5e-4b79-a396-faf129fc0331.webp\" alt=\"Diagram of the regional architecture hosted in App Service.\" style=\"border-radius:0px;width:1024px;height:auto\" title=\"Diagram of the regional architecture hosted in App Service.\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><i>Azure.com regional architecture: App Service hosts regional instances in slots.<\/i><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"a-look-at-the-key-paas-components-behind-azure-com\">A look at the key PaaS components behind Azure.com<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Azure.com is a complex, multi-tier web application. We use PaaS options as much as possible because managed services save us time. Less time spent on infrastructure and operations means more time to create a world-class customer experience. The platform performs OS patching, capacity provisioning, and load balancing, so we\u2019re free to focus elsewhere.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Azure DNS<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Azure DNS enables self-service quick edits to DNS records, global nameservers with 100-percent availability, and blazing fast DNS response times via Anycast addressing. We use <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/dns\/dns-alias\">Azure DNS aliases<\/a> for both CNAME and ANAME record types.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Azure Front Door Service<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Azure Front Door Service enables <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/frontdoor\/front-door-routing-architecture#splittcp\" target=\"_blank\" rel=\"noopener\">low-latency TCP-splitting<\/a>, <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/frontdoor\/front-door-http2\" target=\"_blank\" rel=\"noopener\">HTTP\/2 multiplexing and concurrency<\/a>, and <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/frontdoor\/front-door-lb-with-azure-app-delivery-suite#global-load-balancing\" target=\"_blank\" rel=\"noopener\">performance based global routing<\/a>. We saw a reduction in RTT to less than 100 milliseconds per request, as clients only need to connect to edge nodes, not directly to the origin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For business continuity, Azure Front Door Service <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/frontdoor\/front-door-health-probes\" target=\"_blank\" rel=\"noopener\">supports backend health probes<\/a>, a <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/architecture\/patterns\/category\/resiliency\" target=\"_blank\" rel=\"noopener\">resiliency pattern<\/a>, that in effect removes unhealthy regions when they are misbehaving. In addition, to enable a backup site, Azure.com uses <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/frontdoor\/front-door-routing-methods#priority\" target=\"_blank\" rel=\"noopener\">priority-based traffic routing<\/a>. In the event our primary service backend goes offline, this method enables Azure Front Door Service to support ringed failovers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Azure Front Door Service also <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/frontdoor\/front-door-overview#application-layer-security\" target=\"_blank\" rel=\"noopener\">acts as a reverse proxy<\/a>, enabling <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/frontdoor\/front-door-url-rewrite\" target=\"_blank\" rel=\"noopener\">pattern-based URL rewriting<\/a> or <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/frontdoor\/front-door-route-matching#route-matching\" target=\"_blank\" rel=\"noopener\">request forwarding<\/a> to handle dynamic traffic changes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Web Application Firewall<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Web Application Firewall (WAF) helps improve the platform\u2019s security posture by providing <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/web-application-firewall\/afds\/afds-overview#bot-protection-rule-set-preview\" target=\"_blank\" rel=\"noopener\">load shedding bad bots<\/a> and protection against <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/web-application-firewall\/ag\/application-gateway-crs-rulegroups-rules?tabs=owasp31\" target=\"_blank\" rel=\"noopener\">OWASP top 10 attacks<\/a> at the application layer. WAF forces developers to pay more attention to their data payloads, such as cookies, request URLs, form post parameters, and request headers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We use WAF <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/web-application-firewall\/afds\/waf-front-door-custom-rules\" target=\"_blank\" rel=\"noopener\">custom rules<\/a> to block traffic to certain geographies, IPs, URLs, and other request properties. Rules offload traffic at the network edge from reaching your origin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Content Delivery Network<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To reduce load times, Azure.com uses Content Delivery Network (CDN) for load shedding to origin. CDN helps us lower the consumed bandwidth and keep costs down. CDN also improves performance by <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cdn\/cdn-how-caching-works\" target=\"_blank\" rel=\"noopener\">caching static assets<\/a> at the Point of Presence (POP) edge nodes and reducing RTT latency. Without CDN, our origin nodes would have to handle every request for static assets.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CDN also supports <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cdn\/cdn-ddos\" target=\"_blank\" rel=\"noopener\">DDoS protection<\/a>, improving app security. We enable <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cdn\/cdn-improve-performance\" target=\"_blank\" rel=\"noopener\">CDN compression<\/a> and <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cdn\/cdn-http2\" target=\"_blank\" rel=\"noopener\">HTTP\/2<\/a> to optimize delivery for static payloads. Using CDN is also a sustainable approach to <a href=\"https:\/\/principles.green\/principles\/applied\/n-tier\/#heading-optimize-your-network-traffic\" target=\"_blank\" rel=\"noopener\">optimizing network traffic<\/a> because it reduces the data movement across a network.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Azure App Service<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We use App Service horizontal <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-monitor\/platform\/autoscale-get-started\" target=\"_blank\" rel=\"noopener\">autoscaling to handle burst traffic<\/a>. The Autoscale feature is simple to use and is based on Azure Monitor metrics for requests per second (RPS) per node. We also reduced our Azure expenses by 50 percent by using elastic compute\u2014a benefit that directly <a href=\"https:\/\/principles.green\/principles\/carbon\/\" target=\"_blank\" rel=\"noopener\">reduces our carbon consumption<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Azure.com uses several other handy App Service features:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/app-service\/faq-availability-performance-application-issues#how-do-i-decrease-the-response-time-for-the-first-request-after-idle-time\" target=\"_blank\" rel=\"noopener\">Always On<\/a> means there\u2019s no idle timeout.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/app-service\/deploy-staging-slots#Warm-up\" target=\"_blank\" rel=\"noopener\">Application initialization<\/a> provides custom warmup and validation.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">VIP swap <a href=\"https:\/\/docs.microsoft.com\/en-us\/learn\/modules\/manage-release-cadence\/2-what-are-deployment-patterns\" target=\"_blank\" rel=\"noopener\">blue-green deployment pattern<\/a> supports <a href=\"https:\/\/docs.microsoft.com\/en-us\/archive\/msdn-magazine\/2017\/february\/azure-inside-the-azure-app-service-architecture#deploying-to-production-with-no-downtime\" target=\"_blank\" rel=\"noopener\">zero-downtime deployments<\/a>.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">To reduce network latency to the edge, we run our app in 12 <a href=\"https:\/\/azure.microsoft.com\/en-us\/global-infrastructure\/regions\/\" target=\"_blank\" rel=\"noopener\">geographically separate datacenters<\/a>. This practice supports geo-redundancy should one or more datacenters go dark.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">To improve app performance, we use the App Service <a href=\"https:\/\/azure.github.io\/AppService\/2018\/06\/06\/App-Service-Diagnostics-Profiling-an-ASP.NET-Web-App-on-Azure-App-Service.html\" target=\"_blank\" rel=\"noopener\">DaaS &#8211; .NET profiler<\/a>. This feature identifies node bottlenecks and hotspots for weak performing code blocks or slow dependencies.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">For disaster recovery and improved mean time to recovery (MTTR), we use <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/app-service\/deploy-staging-slots#swap-two-slots\" target=\"_blank\" rel=\"noopener\">slot swap<\/a>. In the event that an app deployment exception is not caught by our PPE testing, we can quickly roll back to <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/app-service\/deploy-staging-slots#roll-back-a-swap\" target=\"_blank\" rel=\"noopener\">last stable version<\/a>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">App Service is also a <a href=\"https:\/\/docs.microsoft.com\/en-us\/archive\/msdn-magazine\/2017\/february\/azure-inside-the-azure-app-service-architecture\" target=\"_blank\" rel=\"noopener\">PaaS service<\/a>, which means we don&#8217;t have to worry about the virtual machine (VM) infrastructure, OS updates, app frameworks, and the downtime associated with managing these. We follow the <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/best-practices-availability-paired-regions\" target=\"_blank\" rel=\"noopener\">paired region concept<\/a> when choosing our datacenters to mitigate against any rolling infrastructure updates and ensure improved isolation and resiliency.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As a final note, it\u2019s important to choose the right App Service plan tier so that you can right-size your vertical scaling. The plan you choose also affects <a href=\"https:\/\/principles.green\/principles\/energy-proportionality\/\" target=\"_blank\" rel=\"noopener\">sustainable energy proportionality<\/a>, which means <a href=\"https:\/\/principles.green\/principles\/applied\/n-tier\/#heading-increase-your-compute-utilization\" target=\"_blank\" rel=\"noopener\">running instances at a higher utilization rate<\/a> to maximize carbon efficiency.<\/p>\n\n\n\n<figure class=\"wp-block-image has-custom-border\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2020\/06\/59852b89-5954-4a2a-a767-3bc91d846ecb.webp\" alt=\"DaaS - .NET Profiler: identifying code bottlenecks and measuring improvements. \" style=\"border-radius:0px\" title=\"DaaS - .NET Profiler: identifying code bottlenecks and measuring improvements. \" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><i>DaaS &#8211; .NET Profiler: identifying code bottlenecks and measuring improvements. In this case we found our HTML whitespace \u201cminifier\u201d was saturating our compute nodes. After disabling it, we verified response times, and CPU usage improved significantly.<\/i><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Azure Monitor<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/monitor\/\" target=\"_blank\" rel=\"noopener\">Azure Monitor<\/a> enables passive health monitoring over Application Insights, Log Analytics, and <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/data-explorer\/\" target=\"_blank\" rel=\"noopener\">Azure Data Explorer<\/a> data sources. We rely on these <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-monitor\/app\/alerts\" target=\"_blank\" rel=\"noopener\">query monitor alerts<\/a> to build configuration-based health models based on our telemetry logs so we know when our app is misbehaving before our customers tell us.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, we <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-monitor\/platform\/app-insights-metrics#process-cpu-performancecountersprocesscpupercentage\" target=\"_blank\" rel=\"noopener\">monitor CPU consumption<\/a> by datacenter as the following screenshot shows. If we see sustained, high CPU usage for our app metrics, Monitor can trigger a notification to our response team, who can quickly respond, triage the problem, and help improve MTTR. We also receive proactive notifications if a client-browser is misbehaving or throwing console errors, such as when <a href=\"https:\/\/trac.webkit.org\/changeset\/198687\/webkit\" target=\"_blank\" rel=\"noopener\">Safari changes a specific push and replace state pattern<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image has-custom-border\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2020\/06\/67bdc02d-2e58-4944-ac4a-66db59abde21.webp\" alt=\"CPU consumption by datacenter.\" style=\"border-radius:0px\" title=\"CPU consumption by datacenter.\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><i>Performance counters: We are alerted if CPU spikes are sustained for more than five minutes.<\/i><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Application Insights<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Application Insights, a feature of Monitor, is used for <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-monitor\/app\/javascript\" target=\"_blank\" rel=\"noopener\">client<\/a>&#8211; and server-side Application Performance Management (APM) <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-monitor\/app\/app-insights-overview\" target=\"_blank\" rel=\"noopener\">telemetry logging<\/a>. It monitors page performance, exceptions, slow dependencies, and offers <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-monitor\/app\/profiler\" target=\"_blank\" rel=\"noopener\">cross-platform profiling<\/a>. Customers typically use Application Insights in break-fix scenarios to improve MTTR and to quickly triage failed requests and application exceptions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We recommend <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-monitor\/app\/sampling\" target=\"_blank\" rel=\"noopener\">enabling telemetry sampling<\/a> so you don\u2019t exhaust your data volume storage quota. We set up <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-monitor\/app\/pricing#create-alerts-for-the-daily-cap\" target=\"_blank\" rel=\"noopener\">daily storage quota alerts<\/a> to capture any telemetry saturation before it shuts off our logging pipeline.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Application Insights also provides <a href=\"https:\/\/devblogs.microsoft.com\/aspnet\/observability-asp-net-core-apps\/\" target=\"_blank\" rel=\"noopener\">OpenTelemetry support<\/a> for distributed tracing across app domain boundaries and dependencies. This feature enables traceability from the client side all the way to the backend data or service tier.<\/p>\n\n\n\n<figure class=\"wp-block-image has-custom-border\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2020\/06\/a9252ae9-b0ae-429f-98ef-56d1264a5b04.webp\" alt=\"Data volume capacity alert showing that the data storage threshold is exceeded.\" style=\"border-radius:0px\" title=\"Data volume capacity alert showing that the data storage threshold is exceeded.\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><i>Data volume capacity alert:<b> <\/b>Example showing that the data storage threshold is exceeded, which is useful for tracking runaway telemetry logs.<\/i><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"developing-with-azure-devops\">Developing with Azure DevOps<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A big team works on Azure.com, and we use <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/devops\/\" target=\"_blank\" rel=\"noopener\">Azure DevOps Services<\/a> to coordinate our efforts. We create internal technical docs with <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/devops\/project\/wiki\/about-readme-wiki?view=azure-devops\" target=\"_blank\" rel=\"noopener\">Azure Wikis<\/a>, track work items using <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/devops\/boards\/\" target=\"_blank\" rel=\"noopener\">Azure Boards<\/a>, build CI\/CD workflows using <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/devops\/pipelines\/\" target=\"_blank\" rel=\"noopener\">Azure Pipelines<\/a>, and manage application packages using <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/devops\/artifacts\/\" target=\"_blank\" rel=\"noopener\">Azure Artifacts<\/a>. For software configuration management and quality gates, we use <a href=\"https:\/\/azure.microsoft.com\/en-us\/products\/github\/\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>, which works well with <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/devops\/boards\/github\/?view=azure-devops\" target=\"_blank\" rel=\"noopener\">Azure Boards<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We submit hundreds of daily pull requests as part of our build process, and the CI\/CD pipeline deploys multiple updates every day to the production site. Having a single tool to manage the entire software development life cycle (SDLC) simplifies the learning curve for the engineering team and our internal customers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To stay on top of what\u2019s coming, we do a lot of planning in <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/devops\/boards\/plans\/review-team-plans?view=azure-devops\" target=\"_blank\" rel=\"noopener\">Delivery Plans<\/a>. It\u2019s a great tool for viewing incremental tasks and creating forecasts for the major events that affect Azure.com traffic, such as Microsoft Build, Microsoft Ignite, and Microsoft Ready.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-s-next\">What\u2019s next<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">As the Azure platform evolves, so does Azure.com. But some things stay the same\u2014the need for a reliable, scalable, sustainable, and cost-effective platform. That\u2019s why we trust Azure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft offers many resources and best practices for cloud developers, please see our additional resources below. To get started, create your <a href=\"https:\/\/azure.microsoft.com\/en-us\/free\/\" target=\"_blank\" rel=\"noopener\">Azure free account today.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"services-in-azure-com\">Services in Azure.com<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For more information about the services that make up Azure.com, check out the following resources.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Compute<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/app-service\/\" target=\"_blank\" rel=\"noopener\">Azure App Service<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-functions\/functions-overview\" target=\"_blank\" rel=\"noopener\">Azure Functions<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cognitive-services\/Welcome\" target=\"_blank\" rel=\"noopener\">Azure Cognitive Services<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Networking<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/frontdoor\/\" target=\"_blank\" rel=\"noopener\">Azure Front Door<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/dns\/\" target=\"_blank\" rel=\"noopener\">Azure DNS<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/web-application-firewall\/\" target=\"_blank\" rel=\"noopener\">Web Application Firewall<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/traffic-manager\/traffic-manager-overview\" target=\"_blank\" rel=\"noopener\">Azure Traffic Manager<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/cdn\/\" target=\"_blank\" rel=\"noopener\">Azure Content Delivery Network<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Storage<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/azure\/search\/search-what-is-azure-search\" target=\"_blank\" rel=\"noopener\">Azure Cognitive Search<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-cache-for-redis\/cache-overview\" target=\"_blank\" rel=\"noopener\">Azure Cache for Redis<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/storage\/blobs\/storage-blobs-introduction\" target=\"_blank\" rel=\"noopener\">Azure Blob storage<\/a> and <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/storage\/queues\/storage-queues-introduction\" target=\"_blank\" rel=\"noopener\">Azure queues<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-monitor\/app\/app-insights-overview\" target=\"_blank\" rel=\"noopener\">Application Insights<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cosmos-db\/introduction\" target=\"_blank\" rel=\"noopener\">Azure Cosmos DB<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/data-explorer\/data-explorer-overview\" target=\"_blank\" rel=\"noopener\">Azure Data Explorer<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/media-services\/latest\/media-services-overview\" target=\"_blank\" rel=\"noopener\">Azure Media Services<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Access provisioning<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/active-directory\/fundamentals\/active-directory-whatis\" target=\"_blank\" rel=\"noopener\">Azure Active Directory<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/graph\/overview\" target=\"_blank\" rel=\"noopener\">Microsoft Graph<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/key-vault\/general\/overview\" target=\"_blank\" rel=\"noopener\">Azure Key Vault<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Application life cycle<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/devops\/\" target=\"_blank\" rel=\"noopener\">Azure DevOps<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-monitor\/log-query\/log-query-overview#what-is-log-analytics\" target=\"_blank\" rel=\"noopener\">Azure Log Analytics<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/monitor\/\" target=\"_blank\" rel=\"noopener\">Azure Monitor<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/security-center\/security-center-intro\" target=\"_blank\" rel=\"noopener\">Azure Security Center<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-resource-manager\/management\/overview\" target=\"_blank\" rel=\"noopener\">Azure Resource Manager<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cost-management-billing\/cost-management-billing-overview\" target=\"_blank\" rel=\"noopener\">Azure Cost Management<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/service-health\/overview\" target=\"_blank\" rel=\"noopener\">Azure Service Health<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/advisor\/advisor-overview\" target=\"_blank\" rel=\"noopener\">Azure Advisor<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>In part two of our two-part series we share our blueprint, so you can learn from our experience building a website on global scale and move forward with your own website transformation.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","footnotes":"","msx_community_cta_settings":[]},"categories":[1467,1551,1456,1466,1482,1457,1459,1461],"tags":[],"audience":[3053,3056],"content-type":[1481],"product":[2902,1560,1562,1533,1616],"tech-community":[],"topic":[],"coauthors":[266],"class_list":["post-586","post","type-post","status-publish","format-standard","hentry","category-compute","category-developer-tools","category-devops","category-hybrid-multicloud","category-management-and-governance","category-networking","category-security","category-web","audience-it-decision-makers","audience-it-implementors","content-type-thought-leadership","product-app-service","product-azure-devops","product-azure-front-door","product-azure-monitor","product-web-application-firewall","review-flag-1680286581-295","review-flag-1-1680286581-825","review-flag-2-1680286581-601","review-flag-alway-1680286580-106","review-flag-free-1680286579-836","review-flag-percent","review-flag-vm-1680286585-143"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How Azure.com operates on Azure part 2: Technology and architecture | Microsoft Azure Blog<\/title>\n<meta name=\"description\" content=\"In part two of our two-part series we share our blueprint, so you can learn from our experience building a website on global scale and move forward with your own website transformation.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How Azure.com operates on Azure part 2: Technology and architecture | Microsoft Azure Blog\" \/>\n<meta property=\"og:description\" content=\"In part two of our two-part series we share our blueprint, so you can learn from our experience building a website on global scale and move forward with your own website transformation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Azure Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/microsoftazure\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-24T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-30T10:58:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2020\/06\/e5be3fcf-fcf4-46ac-8dd8-2e85399a3716.webp\" \/>\n<meta name=\"author\" content=\"Aaron Hogue\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@azure\" \/>\n<meta name=\"twitter:site\" content=\"@azure\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Aaron Hogue\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/\"},\"author\":[{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/aaron-hogue\/\",\"@type\":\"Person\",\"@name\":\"Aaron Hogue\"}],\"headline\":\"How Azure.com operates on Azure part 2: Technology and architecture\",\"datePublished\":\"2020-06-24T00:00:00+00:00\",\"dateModified\":\"2025-06-30T10:58:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/\"},\"wordCount\":1784,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2020\/06\/e5be3fcf-fcf4-46ac-8dd8-2e85399a3716.webp\",\"articleSection\":[\"Compute\",\"Developer tools\",\"DevOps\",\"Hybrid + multicloud\",\"Management and governance\",\"Networking\",\"Security\",\"Web\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/\",\"name\":\"How Azure.com operates on Azure part 2: Technology and architecture | Microsoft Azure Blog\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2020\/06\/e5be3fcf-fcf4-46ac-8dd8-2e85399a3716.webp\",\"datePublished\":\"2020-06-24T00:00:00+00:00\",\"dateModified\":\"2025-06-30T10:58:29+00:00\",\"description\":\"In part two of our two-part series we share our blueprint, so you can learn from our experience building a website on global scale and move forward with your own website transformation.\",\"breadcrumb\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#primaryimage\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2020\/06\/e5be3fcf-fcf4-46ac-8dd8-2e85399a3716.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2020\/06\/e5be3fcf-fcf4-46ac-8dd8-2e85399a3716.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog home\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Compute\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/compute\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How Azure.com operates on Azure part 2: Technology and architecture\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"name\":\"Microsoft Azure Blog\",\"description\":\"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.\",\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\",\"name\":\"Microsoft Azure Blog\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"width\":512,\"height\":512,\"caption\":\"Microsoft Azure Blog\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/microsoftazure\",\"https:\/\/x.com\/azure\",\"https:\/\/www.instagram.com\/microsoftdeveloper\/\",\"https:\/\/www.linkedin.com\/company\/16188386\",\"https:\/\/www.youtube.com\/user\/windowsazure\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117\",\"name\":\"shakir\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"caption\":\"shakir\"},\"sameAs\":[\"https:\/\/azure.microsoft.com\"],\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How Azure.com operates on Azure part 2: Technology and architecture | Microsoft Azure Blog","description":"In part two of our two-part series we share our blueprint, so you can learn from our experience building a website on global scale and move forward with your own website transformation.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/","og_locale":"en_US","og_type":"article","og_title":"How Azure.com operates on Azure part 2: Technology and architecture | Microsoft Azure Blog","og_description":"In part two of our two-part series we share our blueprint, so you can learn from our experience building a website on global scale and move forward with your own website transformation.","og_url":"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/","og_site_name":"Microsoft Azure Blog","article_publisher":"https:\/\/www.facebook.com\/microsoftazure","article_published_time":"2020-06-24T00:00:00+00:00","article_modified_time":"2025-06-30T10:58:29+00:00","og_image":[{"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2020\/06\/e5be3fcf-fcf4-46ac-8dd8-2e85399a3716.webp","type":"","width":"","height":""}],"author":"Aaron Hogue","twitter_card":"summary_large_image","twitter_creator":"@azure","twitter_site":"@azure","twitter_misc":{"Written by":"Aaron Hogue","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#article","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/"},"author":[{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/aaron-hogue\/","@type":"Person","@name":"Aaron Hogue"}],"headline":"How Azure.com operates on Azure part 2: Technology and architecture","datePublished":"2020-06-24T00:00:00+00:00","dateModified":"2025-06-30T10:58:29+00:00","mainEntityOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/"},"wordCount":1784,"commentCount":0,"publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2020\/06\/e5be3fcf-fcf4-46ac-8dd8-2e85399a3716.webp","articleSection":["Compute","Developer tools","DevOps","Hybrid + multicloud","Management and governance","Networking","Security","Web"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/","name":"How Azure.com operates on Azure part 2: Technology and architecture | Microsoft Azure Blog","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#primaryimage"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2020\/06\/e5be3fcf-fcf4-46ac-8dd8-2e85399a3716.webp","datePublished":"2020-06-24T00:00:00+00:00","dateModified":"2025-06-30T10:58:29+00:00","description":"In part two of our two-part series we share our blueprint, so you can learn from our experience building a website on global scale and move forward with your own website transformation.","breadcrumb":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#primaryimage","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2020\/06\/e5be3fcf-fcf4-46ac-8dd8-2e85399a3716.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2020\/06\/e5be3fcf-fcf4-46ac-8dd8-2e85399a3716.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/how-azurecom-operates-on-azure-part-2-technology-and-architecture\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog home","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/"},{"@type":"ListItem","position":2,"name":"Compute","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/compute\/"},{"@type":"ListItem","position":3,"name":"How Azure.com operates on Azure part 2: Technology and architecture"}]},{"@type":"WebSite","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","name":"Microsoft Azure Blog","description":"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.","publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization","name":"Microsoft Azure Blog","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","width":512,"height":512,"caption":"Microsoft Azure Blog"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/microsoftazure","https:\/\/x.com\/azure","https:\/\/www.instagram.com\/microsoftdeveloper\/","https:\/\/www.linkedin.com\/company\/16188386","https:\/\/www.youtube.com\/user\/windowsazure"]},{"@type":"Person","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117","name":"shakir","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4","url":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","caption":"shakir"},"sameAs":["https:\/\/azure.microsoft.com"],"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/"}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Azure Blog","distributor_original_site_url":"https:\/\/azure.microsoft.com\/en-us\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/586","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/comments?post=586"}],"version-history":[{"count":1,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/586\/revisions"}],"predecessor-version":[{"id":44486,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/586\/revisions\/44486"}],"wp:attachment":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/media?parent=586"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/categories?post=586"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tags?post=586"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/audience?post=586"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/content-type?post=586"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/product?post=586"},{"taxonomy":"tech-community","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tech-community?post=586"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/topic?post=586"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/coauthors?post=586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}