So there’s a common question I’ve been getting a lot lately, and that’s “I want to learn Azure, where do I start?” And this is ultimately a very reasonable question, because as much as the cloud has permuted much of the digital world, there are still some organizations who have only recently started to adopt it.
There are many reasons people would choose to adopt the cloud, scalability, cost, flexibility, etc. But for today’s post I’m going to focus on the idea that you have already decided to go to the Azure Cloud and are looking for resources to ramp up. So I wanted to provide those here:
MS Learn: The site provides videos, reading, and walk-through’s that can assist with learning this type of material:
- Azure Fundamentals: This course path contains several courses that focus on a variety of topics at a beginner level, including architecture, monitoring, cost, storage, compute, and security.
- Manage Resources in Azure: This course provides a high level introduction to the basics of managing your resources that you create in azure.
- Secure your Azure Resources with RBAC: Role-Based Access Controls are the cornerstone of Azure compliance. The intention here being that you must setup the proper governance in the beginning to prevent run away spend from your teams working in the azure cloud.
- Align Requirements with Cloud Types and Service Models in Azure: This course provides some good insights into determining what cloud strategy is the best for you, Hybrid or fully hosted.
- Design for efficiency and Operations in Azure: A good course that provides the basics of how to architect for efficiency. One the biggest changes in mindset for many on premise developers is that in the cloud, you architect for the minimum and the ability to scale, not for the “worst case scenario”.
- Design for Security in Azure: The last thing many devs consider, but it should be the first. Security is not something any organization can treat as an after-thought.
- Design for Performance and Scalability in Azure: The biggest benefit of the cloud is scalability, and this is not some kind of magic that just happens, but a capability you need to embrace.
- Pillars of a great azure architecture: A good course on the pillars and considerations that go into a great architecture in the azure cloud.
- Secure your azure resources with conditional access: A great short course on how to setup conditional access for your azure resources.
- Implement message based communication workflows with Azure Service Bus: Many people talk about “microservice” architecture, and one of the biggest tenants of that pattern is the async communication practices of messaging and queuing, this takes you through creating a communication pattern with Service Bus.
- Distribute your services with Azure Virtual Networks and integrate them by using Virtual network peering: Software Based Networks are one of the most important pieces of all clouds, and is required to understand communication in the cloud.
- Optimize Storage performance and cost using blob storage tiers: Another key piece of every cloud is using Cloud optimized storage, which enables a scalable storage platform that provides the core of many software applications.
MS Learn for Specific Services: There are several common services out there that many people think of when they think of the cloud, and I wanted to provide some resources here to help with those:
- Creating Serverless with Azure Functions: Server-less is all the rage, and for good reason, and this course gives you the basics of azure primary offering in this space.
- Secure your azure virtual machine disks: Virtual disks are a key part of many applications and should always be secured appropriately, and here’s a guide on how to do it.
- Security, responsibility and trust in Azure: Enough said.
- Predict Costs and Optimize Spending for Azure: One of the most important parts of building in the cloud is monitoring your spend, and keeping costs under control. This is a great course on how to accomplish just that.
- Apply and monitor infrastructure standards with Azure Policy: Azure Policy is a key piece of RBAC that enables you to control and monitor what kinds of resources your teams can create.
- Load Balancing your web service traffic with Application Gateway: The Web-Application-Firewall (WAF) is becoming a key network appliance to support the monitoring of traffic for web applications, and this course walks you through the considerations.
- Copy and move blobs from one container or storage account to another from command line and in code: A quick and easy walkthrough of how to move blobs around within and between storage accounts.
- Administer containers in Azure: Docker containers are becoming a key part of many modern applications, and this course walks you through how to manage containers on azure with our PaaS tools.
- Gather metrics from azure blob storage containers: Monitoring is another key part of cloud applications, and here is a walkthrough of how to monitor metrics associated with storage.
EDX Courses: EDX is a great site with a lot of well made courses, and there are a wealth of options for Azure and Cloud, here are a few I thought relevant, but it is not an exhaustive list.
- Architecting Distributed Applications: One common mistake, that many make with regard to the cloud is that they think of it as “just another data center”, and that’s just not true. To build effective and scalable applications, they need to be architected to take advantage of distributed compute. This course does a great job of laying out how to make sure you are architected to work in a distributed fashion.
- Microsoft Azure Storage: A great course on the basics of using Azure Storage.
- Microsoft Azure Virtual Machines: The virtual machine is the cornerstone of azure, and provides many options to build an scale out effectively. This is a good introduction into the most basic service in Azure.
- Microsoft Azure App Service: The most popular service in Azure, App Service enables developers to deploy and configure apps without worrying about the machine running under-the-covers. A great overview.
- Microsoft Azure Virtual Networks: As I mentioned above, Software Based Networking is one of the key pieces required for the cloud and this gives a good introduction into how to leverage it.
- Databases in Azure: Another key component of the cloud is the Database, and this talks about the options for leveraging platform-as-a-service offerings for databases to eliminate your overhead for maintaining the vms.
- Azure Security and Compliance: A key component again is security, as the digital threats are constantly evolving, and Azure provides a lot of tools to protect your workload, this is an essential piece of every architecture.
- Building your azure skills toolkit: A good beginner course for how to get your skills up to speed with Azure.
Additional Tools and Resources, I would recommend the following:
- Azure Instance Info – Provides detailed breakdown of a sizes of VMs and statistics.
- Getting Started with Terraform and Azure – A great walkthrough on how to manage your cloud infrastructure using Terraform.
- Install Azure CLI – An essential tool is the Azure Command Line Interface, which is available for download here.
- Connect Azure CLI to Azure Government – For those working with the Government cloud, there are a few extra steps to make the Azure CLI work, and those are outlined here.
- Azure Storage Explorer – An essential tool, this allows you to explore the contents of all the different storage solutions in the cloud.
- Azure Architecture Center: A great site for seeing reference architectures for the cloud.
Those are just some of the many resources that can be helpful to starting out with Azure and learning to build applications for the cloud. It is not an exhaustive list, so if you have a resource you’ve found helpful, please post it in the comments below.