Azure Course Chapter 9: VMs, VM Scale Set, App Service, Functions, ACI, AKS

Welcome everyone to the Azure Fundamentals course! In this episode, we will be diving into Azure Compute Services. Today marks the first episode where we’ll explore actual Azure services, focusing on the following:

  • Virtual Machines
  • Virtual Machine Scale Sets
  • Container Instances
  • Kubernetes Service
  • App Services
  • Functions

These services fall under the Compute Services category, which is essential for building and running cloud-based applications. Whether it’s a web application, web service, or desktop application, Compute Services are here to assist.

Chapter 1: Virtualization Overview

First on our list is Virtual Machines (VMs). However, before we dive into Azure Virtual Machines, let’s understand the concept of virtualization.

Virtualization Basics

Imagine you have a physical server or a physical machine. The first thing you do is install an operating system (OS) with standard components like file systems, services, ports, and configurations. If you want to run multiple applications on this physical machine, you’ll install them on the same OS.

However, the challenge here is that all these applications will share the same file system, services, ports, and other configurations, leading to potential conflicts. This lack of boundaries between applications can cause collisions, which is highly undesirable.

The Solution: Virtualization

Virtualization comes to the rescue! With virtualization, you install virtualization software on the physical machine. This software allows you to create virtual machines—essentially, emulations of physical machines. Each virtual machine (VM) operates with its own operating system and can host applications independently, providing a fully isolated environment. This ensures that applications do not interfere with each other, allowing multiple VMs to run on a single physical machine.


Chapter 2: Azure Virtual Machines (VMs)

Azure Virtual Machines take the concept of virtualization into the cloud. The process is straightforward:

  1. Select a VM Image: You can either use Microsoft-prepared VM images (such as Ubuntu, Windows, or other pre-configured machines) from the Azure Marketplace or create your own custom image.
  2. Provisioning: In just a few minutes, Azure provisions a VM based on your selected image, and it’s ready for use.

Key Features of Azure VMs

  • Infrastructure as a Service (IaaS): You are responsible for managing both the application platform and OS configurations.
  • Custom and Marketplace Images: You can use either pre-made or custom images tailored to your organization’s needs.
  • Use Cases: Azure VMs are ideal for custom software requiring specific system configurations, lift-and-shift scenarios, web applications, databases, desktop applications, and more.

Creating a Virtual Machine in Azure

To create a VM in Azure:

  1. Navigate to the Azure Portal and select “Create a resource.”
  2. Choose the Virtual Machines option from the compute section.
  3. Configure the VM:
    • Create a resource group.
    • Provide a name for the VM.
    • Select a region.
    • Choose an image from the list (e.g., Windows Server 2019).
    • Select the size of the VM based on your needs.
  4. Set up Admin Credentials: Provide a username and password.
  5. Review and Create: Review your configuration and create the VM.

In just a couple of minutes, your virtual machine is provisioned and ready to be managed.

Chapter 3: Azure Virtual Machine Scale Sets (VMSS)

Azure Virtual Machine Scale Sets (VMSS) allow you to scale out virtual machines automatically based on demand.

How It Works

  1. Select an Image: Choose a custom or marketplace image.
  2. Scaling: The image is automatically scaled across multiple VMs, which are managed behind a load balancer. This load balancer distributes traffic among the VMs in the scale set.
  3. Auto-Scaling: VMSS supports automatic scaling, allowing you to increase or decrease the number of VMs based on your application demand.

Key Features of VMSS

  • Infrastructure as a Service (IaaS): Similar to VMs, you manage the VM configurations.
  • Auto-Scaling: VMSS can automatically adjust the number of VMs in the scale set.
  • Use Cases: Ideal for workloads requiring high availability and scalability, such as web services or batch processing.

Chapter 4: Containers Overview

Containers offer a different approach compared to virtual machines. While VMs virtualize the hardware, containers virtualize the operating system.

How Containers Work

  1. Host Operating System: Instead of installing virtualization software, you install a container runtime on the OS.
  2. Container Runtime: The container runtime manages containers, which are lightweight, isolated environments for running applications.
  3. No OS Duplication: Unlike VMs, containers do not replicate the OS, making them more efficient and faster to deploy.

Advantages of Containers

  • Smaller Footprint: Containers are more lightweight than VMs, requiring less compute and storage resources.
  • Faster Scaling: Containers can auto-scale more rapidly than VMs, making them ideal for dynamic workloads.

Chapter 5: Azure Container Instances (ACI)

Azure Container Instances (ACI) are the simplest way to run containers in Azure.

How ACI Works

  1. Container Image: Developers bundle the application, configuration, and required software into a container image.
  2. Container Repository: Store the container image in a repository.
  3. Deploy to ACI: Deploy the image to Azure Container Instances, which automatically creates a container group to host your application.

Key Features of ACI

  • Platform as a Service (PaaS): ACI abstracts server management, allowing you to focus solely on your application.
  • Use Cases: Best suited for small web applications, background jobs, or scheduled scripts.

Chapter 6: Azure Kubernetes Services (AKS)

Azure Kubernetes Services (AKS) provides a more sophisticated container orchestration platform, ideal for complex and scalable deployments.

How AKS Works

  1. Deploy Containers: Use AKS to deploy containers across multiple nodes.
  2. Orchestration: Kubernetes manages the deployment, scaling, and operations of containers.
  3. Load Balancer: A load balancer distributes traffic across the nodes, ensuring high availability.

Key Features of AKS

  • Highly Scalable: AKS supports auto-scaling up to hundreds of nodes.
  • High Customizability: AKS offers deep customization options for complex workloads.
  • Use Cases: Ideal for enterprise-grade applications requiring high availability and customization.

Chapter 7: Azure App Service

Azure App Service is a fully managed platform for building and hosting web applications.

How App Service Works

  1. Deployment Package: Developers prepare a deployment package with the application code.
  2. App Service: Azure App Service deploys the package across multiple nodes, managing scaling and availability.

Key Features of App Service

  • Platform as a Service (PaaS): No need to manage the underlying infrastructure.
  • Auto-Scaling: Supports auto-scaling for web applications.
  • Use Cases: Best for enterprise-grade web applications and web services.

Chapter 8: Azure Functions

Azure Functions are designed for running small pieces of code in a serverless environment.

How Azure Functions Work

  1. Function Code: Developers create a small piece of code (e.g., a function that adds two numbers).
  2. Deployment: The function is deployed to Azure Functions, which manages scaling and execution.

Key Features of Azure Functions

  • Serverless: Completely abstracts server management, allowing you to focus on code.
  • Consumption-Based Pricing: Pay only for the executions, making it cost-effective for small tasks.
  • Use Cases: Ideal for microservices, small web services, and event-driven applications.

This concludes our episode on Azure Compute Services. We’ve covered a range of services, each suited to different needs and scenarios. Stay tuned for the next episode, where we’ll explore more Azure services to help you build and manage your cloud infrastructure effectively!

Leave a Reply

Your email address will not be published. Required fields are marked *