Microsoft Azure, formally known as Windows Azure, is a public cloud computing platform by Microsoft. It is somewhat similar to Amazon Web Service and Google cloud which primarily focus on providing a facility to store and manage your data in an online cloud. But Azure is so much more than just a cloud computing platform.
Azure is an on-demand data center in the cloud or Hybrid cloud/ on-premises that scales up and down as you need it to. We are all familiar with on-demand services. For example, we pay for our electricity at different rates and for different amounts as we move through the day. We have peak time in our day when we consume a lot more electricity as compared to other times (like at night, when we are sleeping). We don’t pay for electricity as if we were constantly using it at peak the entire day. Rather, we only pay for what we use and at the times we use it. Moreover, it is available whenever we need it. Azure works in much the same way.
It provides us with the capability to scale our data centers up or down when we need to, in the cloud, or as a hybrid with our current on-premises servers, based on our demand at any given time. It acts as our:
- Servers (big or small)
- Disaster recovery
- Website platforms
- Devtest sites
All or any combination of these and others. Azure is so flexible that it easily integrates with on-premises servers and data centers or stands alone as required.
How does Azure work?
Windows Azure platform is a set of services and technologies that enables you to easily benefit from the scalability and agility of cloud computing. With Azure, you can store data, build and connect applications on the cloud in much the same way you currently do on-premises. A simple way to understand, how the Windows Azure platform work is to look at something familiar, like a basic local application setup.
Typically one would have some hardware, a server, an operating system, and an application running on it which is physically installed on the server. Application, as per the requirement, is connected to a database. Some other services do specialized jobs like access control, security, networking, etc. One challenging aspect of an on-premises scenario like this is that everyone has to manage their own hardware, operating systems, databases, etc. rather than doing what they are actually good at. Scaling it up and down can be complex.
Now, let us imagine a similar scenario, except this time, the application is in the cloud using the Windows Azure Platform. There is still hardware powering it but one cannot see the hardware, because it is running on a data center that is part of a global network. Applications are distributed across those servers. One does not need to patch the hardware, update or manage it. So that one can focus on adding business values and key features to applications instead of provisioning the infrastructure. All of the managing stuff is taken care of by Microsoft Azure, the cloud operating SaaS (System as a Service).
Services provided by Azure:
For most applications, you need three core elements: Compute, Storage, and Networking.
- Microsoft offers only one type of computing service i.e. Virtual Machines or VMs. These are the machines that run on either Windows or Linux. If you have an application running on Windows or Linux server, then the most straightforward way to migrate it to azure is, “Lift and Shift” You simply lift the application from your on-premises server and shift it to a virtual server on the cloud. Azure VMs are known as IaaS (Infrastructure as a Service) because of their traditional IT infrastructure components offered as a service.
- Later, Microsoft introduced the PaaS (Platform as a Service) offering called Azure App Service. This platform lets you host web and mobile applications without having to worry about the underlying infrastructure. After doing a minor amount of configuration, you can just upload your code in the app service instance and let Azure take care of the details.
- Another hottest compute technology provided by Azure is Azure Container Instances. These are self-contained software environments, for example, a Container might include a complete application plus all the third-party packages it needs. These are somewhat like VMs except for the fact that they don’t include Operating Systems. This makes it easier to deploy them because they are very lightweight as compared to VMs. In fact, Containers run on VMs.
- If you have a more complex application that involves multiple containers, then Azure Kubernetes Service might be the right choice for you, which is also known as Container Orchestrator. It makes it easy to deploy and manage multi-container applications.
- Another compute service offered by Microsoft Azure is Azure Functions. It is Microsoft’s main server-less offering. It is quite similar to the Azure app service except for the fact that it executes individual functions rather than the entire application. You only pay for it when it gets used.
There are even more options for storage than for compute. Let us take an overview of the storage and database facilities offered by Microsoft Azure:
- The simplest form of storage is called Blob storage, which is referred to as Object storage. It is just a collection of files. Though it is not like a normal file system. It is typically used for unstructured data like images, videos, etc. It has multiple access tiers:
- Hot (For frequently accessed files)
- Cool (For infrequently accessed files)
- Archive (For rarely accessed files)
- If you desire to have Hierarchical file storage, then there are two options that Azure Provides. First is Azure File Storage, which serves up file shares that you can mount on Windows Servers. Second, but a less familiar option is Azure Data Lake Storage Gen2 which is Hadoop-compatible storage to use with data analytics applications.
- For Relational Databases, in a non-premises Microsoft environment, SQL server is the most commonly used database whose cloud equivalent is Azure SQL database but it may not be 100% compatible. To run an open-source database, Microsoft provides an Azure database for MySQL, MariaDB, and PostgreSQL. All of the above-mentioned databases are suitable for online transaction processing.
- To build a data warehouse, Azure Synapse Analytics is the best choice provided by Azure.
- If you wish to release an application that attracts a very large number of users, you may find that a traditional relational database can scale to meet the demands. One common solution is to use NoSQL databases, which are designed to handle far more data than relational databases. However, to achieve that massive scalability, they have to sacrifice something, so they do not support all the features of relational databases. Nonetheless, they have become a cornerstone of many cloud-based applications. Microsoft’s main NoSQL offering is called Cosmos DB. It is an amazing database service that can scale globally. Another NoSQL service in Azure Cache for Redis is typically used to speed up applications by caching frequently requested data.
- When you create a Virtual Machine on Azure, you need to put it on a Virtual network known as A Virtual network is very similar to an on-premises network. Each VM in a VNet gets an IP address and they can communicate with the other VMs in the same VNet. VNet can also be divided into Subnets and routes can be defined to specify how traffic should flow between them. By default, all outbound traffic from a VM to the internet is allowed. To allow inbound traffic also, a public IP address needs to be assigned to the VM. If you want VMs of one VNet to communicate with the VMs of other VNet, then you can connect Virtual machines using VNet Peering.
- If you want to create a secure connection between a VNet and a non-premises network, then you can use either an Azure VPN (Virtual Private Network) or Azure ExpressRoute. A VPN sends encrypted traffic over the public internet whereas ExpressRoute communicates over a private dedicated connection between your side and the Microsoft Azure network. ExpressRoute is much more expansive than VPN but it provides higher speed and reliability since it’s a dedicated connection.
There are many other storage and networking services provided by Microsoft Azure, but the ones discussed above are the core services that are enough to give you a high-level insight into what Azure is.
What are Microsoft Azure Managed Disks and Disk Storage?
- Azure Managed disks are block-level storage volumes that are managed by Azure and used with Azure Virtual Machines. Managed disks are like a physical disk in an on-premises server but, virtualized. With managed disks, all you have to do is specify the disk size, the disk type, and provision the disk. Once you provision the disk, Azure handles the rest.
- The available types of disks are ultra-disks, premium solid-state drives (SSD), standard SSDs, and standard hard disk drives (HDD). The hard disk sizes can be configured in many stages. The maximum storage capacity is up to 32 or 64 TiB depending on the selected data carrier type.
The different data carrier types of the Azure Managed Disks
Users are allowed to select between the following data carrier types of Azure Managed Disks with the specified performance parameters:
- Ultra Disks: These are data carrier type SSD and are suitable for workloads with many transactions such as databases, up to 64 TiB, up to 2,000 MB/s data throughput, up to 160,000 IOPS.
- SSD Premium: These are SSD data carrier types that are suitable for production workloads with high-performance requirements, up to 32 TiB, up to 900 MB/ s data throughput, up to 20,000 IOPS.
- SSD Standard: These are data carrier type SSD that are suitable for web servers or little-used company applications such as test applications, up to 32 TiB, up to 750 MB/s data throughput, up to 6,000 IOPS.
- HDD Standard: These are data carrier type Hard Disk Drive (HDD), suitable for data backups and applications with sporadic access, up to 32 TiB, up to 500 MB/s data throughput, up to 2,000 IOPS.
Encryption of Azure Managed Disks:
Azure Managed Disks can be encrypted in the following two ways:
- Server-Side Encryption (SSE) is performed by the storage device. It is enabled by default for all managed disks, snapshots, and images, in all the regions where managed disks are available.
- Azure Disk Encryption (ADE) allows you to encrypt the OS and Data disks used by an IaaS Virtual Machine. This encryption includes managed disks. For Windows, the drives are encrypted using industry-standard BitLocker encryption technology. For Linux, the disks are encrypted using the DM-Crypt The encryption process is integrated with Azure Key Vault to allow you to control and manage the disk encryption keys.
Benefits of Managed Disks:
There are several benefits of using managed disks that are as follows:
- Managed disks are highly durable with an availability of 99.999% approximately.
- These disks provide simple and scalable VM deployment.
- Managed disks are integrated with availability sets to ensure that the disks of VMs in an availability set are sufficiently isolated from each other to avoid a single point of failure.
- Managed disks support Availability Zones, which is a high-availability offering that protects your applications from data center failures.
- Azure Backup can be used to protect against regional disasters.
- Azure disk backup
- Granular access control
- Direct upload makes it easy to transfer your virtual hard disk to an Azure Managed disk.
Business benefits of Microsoft Azure:
Following are some of the key advantages that Azure renders:
- Reduced cost as it is 4-12% cheaper than AWS (Amazon Web Service)
- More mobility
- Scalable and elastic
- World-class cyber security
- No onsite hardware required
Hence this was a simplified overview of Microsoft Azure cloud service but there is so much more that it has to offer and the best way to traverse is to use it practically. It provides various paid services as well as free trials. So, go ahead and explore the Azure universe yourself: https://azure.microsoft.com/en-in/