Microsoft Azure for Absolute Beginners
One of the most irritating things in computer science and IT is that it is packed with hypey words and terminologies that add more confusion than clarity. Big data, AI, NFT, Web3, Blockchain, and you name it! You'll hear the same thing when you want to learn Microsoft Azure.
Cloud computing is no exception. The word "cloud" may give you a sense that computing is done somewhere ambiguous in the mid of a black hole millions of light-years away from you.
However, this is far from the truth. Cloud computing, in very simple words, is computing done on someone else's computer. Instead of using your own processing power, storage and IO, you rent someone else's resource on demand for a fee.
Cloud computing generates massive benefits, including but not limited to:
- Cost Reduction: Reducing CAPEX costs by eliminating the need to acquire expensive hardware
- Scalability: By being able to increase or decrease resources in a matter of seconds
- Performance: By being available in multiple geographical regions across the globe
In this article, you'll learn more about cloud computing in the Microsoft Azure context. You'll first understand what Microsoft Azure, what it brings to the table, and its key concepts.
What Is Microsoft Azure?
In short, Microsoft Azure is the Microsoft response to the cloud world. It has been launched and operated by Microsoft since 2010. It is the 2nd largest cloud platform after AWS by Amazon.
Do you remember when I defined cloud computing as "computing done on someone else computer?" Well, to be honest, that was an oversimplification. In a more practical sense, cloud computing is your whole IT infrastructure taken somewhere else. I'll illustrate with concrete examples.
If you take a look at the Microsoft Azure services catalog, you'll see that cloud computing covers a wide range of categories; let me pick a few of them to explain:
- AI + machine learning: Microsoft Azure provides a wide range of services for machine learning-related tasks in this category. One example is Azure Forms Recognizer. It is an AI service that lets developers easily send PDF invoices (or similar) and extract critical data from them, such as invoice date, amount, and currency.
All of this machine learning and computing is done far away from you. In Microsoft Azure, you only need to pay by operation.
- Compute: Microsoft Azure also provides a wide range of "compute services" that enable you to host your applications. They range from virtual machines, serverless functions, and Kubernetes clusters. One example is Azure App Service. It is a platform as a service computing resource that enables you to host your application without thinking about the underlying operating system installation and maintenance.Just decide your programming language and your framework version and deploy it to the App Azure App Service. You do not need to think about any more details.The Azure App Service gets created in demand in a few seconds. You deploy your application and can scale it up and down as per your needs. You'll only pay for what you use.
All of the infrastructure hosting details are abstracted away from you. In Microsoft Azure, you only need to pay for the compute power you use (which you can easily adjust per business needs).
- Identity: Another area where Microsoft Azure can support your business is identity. You can use it to manage user identities and protect against security threats. Azure Active Directory is a well-known service, which you can think about as the regular Active Directory but in the cloud. So, rather than setting up and managing your on-prem Azure Active directory, you can simply create an Azure Active Directory instance with few clicks to manage your identities.
All of the Active Directory hosting details are abstracted away from you. You'll use it as a service and pay by usage.
I can continue this manner until I exhaust the list of the available services in Microsoft Azure (if I can!). However, I just wanted to give you an idea of its theory. You can continue reading about the different services over here. You'll get to know them gradually as you learn Microsoft Azure.
One key thing about Microsoft Azure is that you'll need specialized competencies in your organization to use it successfully. That is because some services require software development competence, some require data engineering competence, and others require data science competence.
Like in your regular IT organization, you'll have diverse roles based on the business needs. The situation is similar when you move to the cloud. Cloud services are specialized, and each IT group will be interested in a subset of them. That's why there are several Microsoft certifications for each role.
Next, I'll discuss the business value Microsoft Azure provides to the business.
Why Microsoft Azure?
Well, Microsoft Azure is an incredible and attractive technology for technical people. But as you know, this does not get your budget approved! Therefore, you'll need to understand why you should use Microsoft Azure (aka its business value).
- Cost reduction: The first benefit you'll get from Microsoft Azure is cost reduction. Especially if you are starting up a new business. Rather than spending thousands of dollars to purchase IT servers for a software product that you do not know will work or not, you can just rent it for a monthly fee.This enables businesses with thing budgets to run software projects cheaply (even less than 50 USD/month). And whenever they grow traction and validate their business case, they can scale on demand.
- Innovation: Microsoft Azure enables you to unlock innovation possibilities that would be difficult otherwise. One example is the computer vision service which allows you to add face recognition functionality in a few lines of code. If you wanted to build that functionality from scratch, that would take forever. Good luck with that!
- Performance: One key thing about Microsoft Azure is that it is spread across a large number of regions across the world. This enables use-cases for businesses with customers worldwide to serve content to their proximity. A typical example is an e-commerce application, where even a millisecond performance delay can cost millions of dollars.
- Availability: Azure cloud enables you to create redundant instances of your resources across the globe. This helps to make your solutions resilient against catastrophic events. Microsoft Azure governs the availability of its service using strict SLAs.
- Compliance: Many jurisdictions have rigid requirements on where the data should reside. For example, the GDPR law in the EU stipulates that EU customers' data should not be stored outside the EU region. Since Microsoft Azure has several data centers across the globe, it enables you to host your customer data in the compliant geographical region.
What are the Key Concepts in Microsoft Azure?
After you've understood Microsoft Azure and its core benefits, it is time to dive deeper into the key concepts that form the foundation of Microsoft Azure. I'll introduce the most important five ones if want to learn Microsoft Azure effectively.
- Resources: Every service in Microsoft Azure is a "resource." A virtual machine is a resource. A storage account is a resource. Simply, the resource is the basic building block of your cloud infrastructure. A resource is deployed to a specific geographical region.
- Resource Groups: Resources groups are logical containers around resources. For example, you can have a resource group named "crm-dev-rg" to indicate that it is a logical container for all your development environment resources for the CRM system. It may contain several Microsoft Azure resource types such as virtual machines, storage accounts, and databases.
- Subscriptions: It is another abstraction layer on top of resource groups. For example, you can have a "marketing" subscription that contains all the resource groups relevant to the marketing department in your company. They could be "crm-dev-rg," "crm-test-rg," and "crm-prod-rg" to indicate resource groups for the development, testing, and production environment for your CRM system. Also, the subscription is the billing dimension in Microsoft Azure. In simple words, you can associate each subscription in your organization with a different payment option that Microsoft can use to charge you. This is an excellent mechanism to separate budgets in your business units.Figure 2 illustrates how subscriptions, resource groups, and resources play with each other.
- Geographical Regions: One of the key aspects you need to understand about Microsoft Azure is that your services and resources will be hosted in specific geographical regions. Besides the data sovereignty requirements, a geographic region can affect the services' pricing, availability, and the allowed features in the relevant cloud services. Therefore, it is essential to carefully think about the geographical region of your resource and not make an arbitrary decision.
- Pricing Model: Another key thing to understand about Microsoft Azure is that it has a very excruciating pricing model. The pricing of each service depends on several factors, including but not limited to geographical region, service type, processing power, support tier, licenses, etc. Moreover, the pricing is also affected by several service-specific characteristics. Thankfully, Microsoft makes this easy for you through a tool called Microsoft Azure Pricing Calculator. Check Figure 3 for an example.
Figure 3 shows an example of an Azure calculator calculation for a virtual machine configuration. You can see that the pricing is affected by:
- Resource type
- The region the virtual machine is hosted in
- The operating system of the virtual machine uses
- The type of the operating system
- The tier of the virtual machine
- The specifications of the virtual machine instance
- The number of virtual machines
- How many hours in the month do the virtual machines run
Number 9 in Figure 3 should continue that the total cost will be 152.57 USD. Of course, you can go far in your innovation on how to reduce your cloud costs. For example, run the virtual machines only during business hours. As an exercise, go to Azure calculator and test that and tell me in the comments section what the new cost will be
In this tutorial, you learned that Microsoft Azure is Microsoft's response to the cloud war. Microsoft Azure is the 2nd largest cloud provider in the world. Then, you know how Microsoft Azure helps you save costs, innovate, and improve performance. Finally, you navigated key concepts in Microsoft Azure, such as resources, resource groups, and subscriptions.
If you want to become Microsoft Azure certified, check my free Azure Certification Guide.