Microsoft Azure, often referred to as Azure (/ˈæʒər, ˈeɪʒər/ AZH-ər, AY-zhər, UK also /ˈæzjʊər, ˈeɪzjʊər/ AZ-ure, AY-zure), is a cloud computing service operated by Microsoft for application management via Microsoft-managed data centers. It provides software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS) and supports many different programming languages, tools, and frameworks, including both Microsoft-specific and third-party software and systems.
Azure, announced at Microsoft’s Professional Developers Conference (PDC) in October 2008, went by the internal project codename “Project Red Dog”, and formally released in February 2010, as Windows Azure before being renamed to Microsoft Azure on March 25, 2014.
Azure uses large-scale virtualization at Microsoft data centers worldwide and it offers more than 600 services.
- Virtual machines, infrastructure as a service (IaaS) allowing users to launch general-purpose Microsoft Windows and Linux virtual machines, as well as preconfigured machine images for popular software packages.
- Most users run Linux on Azure, some of the many Linux distributions offered, including Microsoft’s own Linux-based Azure Sphere.
- App services, platform as a service (PaaS) environment letting developers easily publish and manage websites.
- Websites, Azure Web Sites allows developers to build sites using ASP.NET, PHP, Node.js, Java, or Python and can be deployed using FTP, Git, Mercurial, Team Foundation Server or uploaded through the user portal. This feature was announced in preview form in June 2012 at the Meet Microsoft Azure event. Customers can create websites in PHP, ASP.NET, Node.js, or Python, or select from several open source applications from a gallery to deploy. This comprises one aspect of the platform as a service (PaaS) offerings for the Microsoft Azure Platform. It was renamed to Web Apps in April 2015.
- WebJobs, applications that can be deployed to an App Service environment to implement background processing that can be invoked on a schedule, on demand, or run continuously. The Blob, Table and Queue services can be used to communicate between WebApps and WebJobs and to provide state.
- Azure Active Directory is used to synchronize on-premises directories and enable SSO (Single Sign On). 
- Azure Active Directory B2C allows the use of consumer identity and access management in the cloud.
- Azure Active Directory Domain Services is used to join Azure virtual machines to a domain without domain controllers.
- Azure information protection can be used to protect sensitive information.
- Mobile Engagement collects real-time analytics that highlight users’ behavior. It also provides push notifications to mobile devices.
- HockeyApp can be used to develop, distribute, and beta-test mobile apps.
- Storage Services provides REST and SDK APIs for storing and accessing data on the cloud.
- Table Service lets programs store structured text in partitioned collections of entities that are accessed by partition key and primary key. Azure Table Service is a NoSQL non-relational database.
- Blob Service allows programs to store unstructured text and binary data as blobs that can be accessed by an HTTP(S) path. Blob service also provides security mechanisms to control access to data.
- Queue Service lets programs communicate asynchronously by message using queues.
- File Service allows storing and access of data on the cloud using the REST APIs or the SMB protocol.
- Azure Communication Services offers an SDK for creating web and mobile communications applications that include SMS, video calling, VOIP and PSTN calling, and web based chat.
- Azure Data Explorer provides big data analytics and data-exploration capabilities
- Azure Search provides text search and a subset of OData’s structured filters using REST or SDK APIs.
- Cosmos DB is a NoSQL database service that implements a subset of the SQL SELECT statement on JSON documents.
- Azure Cache for Redis is a managed implementation of Redis.
- StorSimple manages storage tasks between on-premises devices and cloud storage.
- Azure SQL Database works to create, scale and extend applications into the cloud using Microsoft SQL Server technology. It also integrates with Active Directory and Microsoft System Center and Hadoop.
- Azure Synapse Analytics is a fully managed cloud data warehouse.
- Azure Data Factory, is a data integration service that allows creation of data-driven workflows in the cloud for orchestrating and automating data movement and data transformation.
- Azure Data Lake is a scalable data storage and analytic service for big data analytics workloads that require developers to run massively parallel queries.
- Azure HDInsight is a big data relevant service, that deploys Hortonworks Hadoop on Microsoft Azure, and supports the creation of Hadoop clusters using Linux with Ubuntu.
- Azure Stream Analytics is a Serverless scalable event processing engine that enables users to develop and run real-time analytics on multiple streams of data from sources such as devices, sensors, web sites, social media, and other applications.
The Microsoft Azure Service Bus allows applications running on Azure premises or off-premises devices to communicate with Azure. This helps to build scalable and reliable applications in a service-oriented architecture (SOA). The Azure service bus supports four different types of communication mechanisms:
- Event Hubs, which provide event and telemetry ingress to the cloud at massive scale, with low latency and high reliability. For example, an event hub can be used to track data from cell phones such as a GPS location coordinate in real time.
- Queues, which allow one-directional communication. A sender application would send the message to the service bus queue, and a receiver would read from the queue. Though there can be multiple readers for the queue only one would process a single message.
- Topics, which provide one-directional communication using a subscriber pattern. It is similar to a queue, however, each subscriber will receive a copy of the message sent to a Topic. Optionally the subscriber can filter out messages based on specific criteria defined by the subscriber.
- Relays, which provide bi-directional communication. Unlike queues and topics, a relay doesn’t store in-flight messages in its own memory. Instead, it just passes them on to the destination application.
A PaaS offering that can be used for encoding, content protection, streaming, or analytics.
A global content delivery network (CDN) for audio, video, applications, images, and other static files. It can be used to cache static assets of websites geographically closer to users to increase performance. The network can be managed by a REST-based HTTP API.
Azure has 94 point of presence locations worldwide (also known as Edge locations) as of April 2020.
- Application Insights
- Azure DevOps
- Azure Automation provides a way for users to automate the manual, long-running, error-prone, and frequently repeated tasks that are commonly performed in a cloud and enterprise environment. It saves time and increases the reliability of regular administrative tasks and even schedules them to be automatically performed at regular intervals. You can automate processes using runbooks or automate configuration management using Desired State Configuration.
- Microsoft SMA
- Microsoft Azure Machine Learning (Azure ML) provides tools and ML frameworks for developers to create their own machine learning and artificial intelligence (AI) services.
- Microsoft Azure Cognitive Services are a set of prebuilt APIs, SDKs and customizable services for developers, including perceptual and cognitive intelligence covering speech recognition, speaker recognition, neural speech synthesis, face recognition, computer vision, OCR/form understanding, natural language processing, machine translation, and business decision services. Most AI features appeared in Microsoft’s own products and services (Bing, Office, Teams, Xbox, and Windows) are powered by Azure Cognitive Services.
Azure Blockchain Workbench
Through Azure Blockchain Workbench, Microsoft is providing the required infrastructure to set up a consortium network in multiple topologies using a variety of consensus mechanisms. Microsoft provides integration from these blockchain platforms to other Microsoft services to streamline the development of distributed applications. Microsoft supports many general-purpose blockchains including Ethereum and Hyperledger Fabric and purpose-built blockchains like Corda.
Azure functions are used in serverless computing architectures where subscribers can execute code as an event driven Function-as-a-Service (FaaS) without managing the underlying server resources.
Internet of Things (IoT)
- Azure IoT Hub lets you connect, monitor, and manage billions of IoT assets. On February 4, 2016, Microsoft announced the General Availability of the Azure IoT Hub service.
- Azure IoT Edge is a fully managed service built on IoT Hub that allows for cloud intelligence deployed locally on IoT edge devices.
- Azure IoT Central is a fully managed SaaS app that makes it easy to connect, monitor, and manage IoT assets at scale. On December 5, 2017, Microsoft announced the Public Preview of Azure IoT Central; its Azure IoT SaaS service.
- On October 4, 2017, Microsoft began shipping GA versions of the official Microsoft Azure IoT Developer Kit (DevKit) board; manufactured by MXChip.
- On April 16, 2018, Microsoft announced the launch of the Azure Sphere, an end-to-end IoT product that focuses on microcontroller-based devices and uses Linux.
- On June 27, 2018, Microsoft launched Azure IoT Edge, used to run Azure services and artificial intelligence on IoT devices.
- On November 20, 2018, Microsoft launched the Open Enclave SDK for cross-platform systems such as ARM TrustZone and Intel SGX.
Launched in September 2020, Azure Orbital is a ground station service to help customers move satellite data to the cloud and to provide global cloud connectivity. Private industries and government agencies that use data collected by satellites can directly connect satellites to the cloud computing networks to process and analyse the data. Mobile cloud computing ground stations for customers that operate where there is no existing ground infrastructure (such as energy, agricultural and military) will provide point-to-point cloud connectivity to remote locations using third party satellite systems – SpaceX’s Starlink constellations in low Earth orbit (LEO) and SES’ O3b medium Earth orbit (MEO) constellation.
SES will be deploying satellite control and uplink ground stations for its next-generation O3b mPOWER MEO satellites alongside Microsoft’s data centres to provide single-hop connectivity to the cloud from remote sites.
Microsoft suggests that satellite routing to the cloud can offer a speed advantage. For example, a connection from the home to a cloud data centre for online media, entertainment or gaming, currently may use complex fibre routes that are longer than one hop up to a satellite and down again. Microsoft’s experiments using Xbox cloud have found there are parts of the world (including parts of the USA) where it is faster via satellite than over terrestrial networks.
Regional expansion and examples
In 2018, Azure was available in 54 regions, with 12 new regions being developed. Microsoft became the first large cloud provider that built facilities in Africa, with two regions in South Africa. An Azure geography contains multiple Azure Regions, such as for example “North Europe” (Dublin, Ireland), “West Europe” (Amsterdam, Netherlands). Where a location represents the city or area of the Azure Region. Each Azure Region is paired with another region within the same geography; this makes them a regional pair. In this example, Amsterdam and Dublin are the locations which form the regional pair.
Microsoft has partners that sell its products. In August 2018, Toyota Tsusho began a partnership with Microsoft to create fish farming tools using the Microsoft Azure application suite for IoT technologies related to water management. Developed in part by researchers from Kindai University, the water pump mechanisms use artificial intelligence to count the number of fish on a conveyor belt, analyze the number of fish, and deduce the effectiveness of water flow from the data the fish provide. The specific computer programs used in the process fall under the Azure Machine Learning and the Azure IoT Hub platforms.
Microsoft Azure uses a specialized operating system, called Microsoft Azure, to run its “fabric layer”: a cluster hosted at Microsoft’s data centers that manage computing and storage resources of the computers and provisions the resources (or a subset of them) to applications running on top of Microsoft Azure. Microsoft Azure has been described as a “cloud layer” on top of a number of Windows Server systems, which use Windows Server 2008 and a customized version of Hyper-V, known as the Microsoft Azure Hypervisor to provide virtualization of services.
Scaling and reliability are controlled by the Microsoft Azure Fabric Controller, which ensures the services and environment do not fail if one or more of the servers fails within the Microsoft data center, and which also provides the management of the user’s Web application such as memory allocation and load balancing.
Azure provides an API built on REST, HTTP, and XML that allows a developer to interact with the services provided by Microsoft Azure. Microsoft also provides a client-side managed class library that encapsulates the functions of interacting with the services. It also integrates with Microsoft Visual Studio, Git, and Eclipse.
In addition to interacting with services via API, users can manage Azure services using the Web-based Azure Portal, which reached General Availability in December 2015. The portal allows users to browse active resources, modify settings, launch new resources, and view basic monitoring data from active virtual machines and services.
Microsoft Azure offers two deployment models for cloud resources: the “classic” deployment model and the Azure Resource Manager. In the classic model, each Azure resource (virtual machine, SQL database, etc.) was managed individually. The Azure Resource Manager, introduced in 2014, enables users to create groups of related services so that closely coupled resources can be deployed, managed, and monitored together.