Azure Compute Service

The term “compute” in Azure refers to the hosting model for computing resources where applications are deployed and run. Azure Compute Services can be broadly categorized into three main models:

  1. Infrastructure as a Service (IaaS)
  2. Platform as a Service (PaaS)
  3. Serverless Services

Fundamental Building Block: Azure Virtual Machines

The most basic unit of compute in Azure is the Azure Virtual Machine (VM). VMs can run various operating systems, including Windows and Linux, within the Azure cloud. Each VM has an associated operating system and data disk, allowing for extensive customization and flexibility.

Azure Compute Options

1. Virtual Machines

  • Type: IaaS
  • Description: Allows you to deploy and manage VMs inside a virtual network (VNet). Ideal for running traditional applications, custom software, or services requiring full control over the environment.

2. App Service

  • Type: PaaS
  • Description: A managed service for hosting web applications, mobile app backends, RESTful APIs, or automated business processes. It simplifies the deployment and management of web applications.

3. Service Fabric

  • Type: PaaS
  • Description: An orchestration platform for microservices, running across clusters of machines, either in Azure or on-premises. Ideal for building scalable and reliable applications.

4. Azure Kubernetes Service (AKS)

  • Type: Managed Kubernetes
  • Description: Provides a hosted Kubernetes environment for running containerized applications, simplifying the deployment and management of Kubernetes clusters.

5. Azure Container Instances (ACI)

  • Type: Container Service
  • Description: The fastest and easiest way to run containers in Azure without provisioning VMs or adopting a complex service. Ideal for scenarios requiring quick and transient workloads.

6. Azure Functions

  • Type: Function as a Service (FaaS)
  • Description: A managed service for running event-driven code snippets in the cloud. Automatically scales based on demand, allowing developers to focus on writing code without managing infrastructure.

7. Azure Batch

  • Type: Managed Batch Service
  • Description: Designed for running large-scale parallel and high-performance computing (HPC) applications. It handles job scheduling and resource management automatically.

8. Cloud Services

  • Type: PaaS
  • Description: A managed service for running cloud applications using a PaaS model, providing scalability and ease of management.

Extensions for Virtual Machines

When deploying VMs, Azure provides several extensions to enhance functionality, such as:

  • Custom Script Extension: To execute scripts on VMs for configuration or setup.
  • PowerShell DSC (Desired State Configuration): For maintaining consistent configurations across VMs.
  • Diagnostic Extension: To collect logs and metrics from VMs for monitoring purposes.
  • Anti-malware Extension: To protect VMs against viruses and malware.

Serverless Services

In addition to the above options, Azure offers serverless services to facilitate rapid application development:

  • Azure Functions: Allows for event-driven programming without worrying about the underlying infrastructure.
  • Logic Apps: Provides a way to automate workflows and integrate apps and data across cloud services.

Key Services Associated with Azure Compute

  1. Azure Security Center: Helps assess and improve the security posture of your VMs by defining policies and providing threat identification and recommendations.
  2. Azure Active Directory (AD): Manages access controls for VMs, scale sets, availability sets, and other Azure resources, ensuring secure access based on user identities.
  3. Azure Key Vault: A secure repository for storing sensitive information such as certificates, encryption keys, and secrets, protecting critical data within Azure.