Deploying and Managing Containers on Azure
I'm really pleased to announce that my latest Pluralsight course has just been released: Microsoft Azure Developer: Deploying and Managing Containers. And the great thing is that you can watch it free even if you're not a Pluralsight subscriber! This is because it's being made available as part of the superb Microsoft Learn platform.
All you need to do to take advantage of this offer is to visit the Pluralsight Azure sign-up page, and you'll be able to watch my new course), and my Create Serverless Functions course, which is all about Azure Functions, and is also available free.
One of the reasons I am so excited about this course is that it covers several amazing technologies. In just over three hours I've crammed in as much as I can about the following topics:
I'm sure you don't need me to tell you what an exciting and revolutionary technology Docker is. In a short period of time it's transformed the way we think about building and deploying applications.
In the course I introduce the basics of running containers locally with Docker for Windows, and how to create your own images with Dockerfiles.
Azure Container Registry
Azure Container Registry is a great place to host your private Docker images in the cloud. It's also got some great features to support building your containers in the cloud.
In the course I show how to use the Azure CLI to create an Azure Container Registry, and push images to it.
Azure Container Instances
Azure Container Instances is the easiest way to get containers running in Azure. You don't need to pre-provision a server, and you pay only while your container runs.
In the course I show how to use the Azure CLI to create Azure Container Instances, execute commands against them. Of course, I also created a whole Pluralsight course about Azure Container Instances if you'd like to go deeper.
Azure Web App for Containers
Azure App Service is a really great feature-rich platform for running web applications on. It's ideal for running ASP.NET applications, and it's also the underlying platform for Azure Functions. But more recently it's expanded its capabilities to also be able to host containerized web apps. This opens the door to you using any web development framework you want. Linux support is already available, and Windows container support is currently in preview.
In the course, I show how you can use Web App for Containers to host a WordPress container, connecting to the Azure Database for MySql service, as well as how to set up continuous deployment with deployment slots to automatically upgrade to new versions of a web app as you update your container images hosted in ACR.
Azure Service Fabric and Service Fabric Mesh
Service Fabric is a very powerful and scalable microservice hosting platform, and it can do far more than just run containers. It's the platform that runs many of Microsoft's own flagship services, and it runs not only in Azure, but can be hosted on premises in your own data-center.
In fact, the sheer breadth of programming models it offers can make it seem quite intimidating at first, and there certainly is a fair bit to learn to get started with it. However, because it also runs locally on a development machine, you can easily try it out, without the complexity and cost of creating and configuring a cluster in the cloud.
But the great news is that a very exciting new service - Service Fabric Mesh, which runs on top of Service Fabric, offers a greatly simplified, container-focused, serverless microservices platform. You just define what services make up your application in YAML or JSON format, and then you can deploy your application to Azure without needing to pre-provision any infrastructure at all. It's still in preview and I did run into a number of issues with it, but as the platform matures, I think it could quickly become a very compelling option for hosting microservice containerized applications in Azure.
In the course I show how to create a Service Fabric cluster in Azure and deploy containers to it. Then I show how we can run a microservice application on Service Fabric Mesh in Azure, and easily scale one of the services.
Azure Kubernetes Service
Finally Azure Kubernetes Service takes Kubernetes - the leading open source container orchestrator, and makes it trivially easy to get up and running in the cloud. The pricing model means that you essentially get your master nodes for free, paying only for worker nodes.
It's super easy to set up and manage with the Azure CLI and the familiar
kubectl tool, and once you've got your AKS cluster set up you can tap into the full power of Kubernetes, as well as benefit from integrating with many other Azure services, such as Azure File Shares or Disks for mounting volumes, Azure Container Instances to add elastic scale, Azure Monitor to get rich logging and diagnostics, and Azure Active Directory for security.
In the course I show how easy it is to create an AKS cluster and scale out the number of nodes. And we also see how to use
kubectl apply to really quickly and easily deploy a microservice application and update it.
I've made all the PowerShell scripts and source code for running all the demos available here on GitHub so you can easily try out the same demo scenarios yourself as you watch the course.