Explore Azure compute services
linking:: AZ-900, Azure-Services
Overview
Virtual machines are software emulations of physical computers. They include a virtual processor, memory, storage, and networking resources.
Virtual machine scale sets are an Azure compute resource that you can use to deploy and manage a set of identical VMs.
Container Instances and Azure Kubernetes Service are Azure compute resources that you can use to deploy and manage containers.
With Azure App Service, you can quickly build, deploy, and scale enterprise-grade web, mobile, and API apps running on any platform.
Functions are ideal when you’re concerned only about the code running your service and not the underlying platform or infrastructure.
Azure Virtual Machines
Use this IaaS when you need:
- Total control over the operating system (OS)
- The ability to run custom software
- To use custom hosting configurations
You can “lift and shift” your physical server to the cloud, and you can scale them in one of two ways.
Virtual Machine Scale Sets
- Identical and load balanced
- Centrally manage, configure, and update VMs in minutes
- Can be automatically increased or decreased based on demand or schedule
Azure Batch
Enables large-scale parallel and high-performance computing (HPC) batch jobs with the ability to scale to tens, hundreds, or thousands of VMs.
- Starts a pool of compute VMs for you.
- Installs applications and staging data.
- Runs jobs with as many tasks as you have.
- Identifies failures.
- Requeues work.
- Scales down the pool as work completes.
Azure App Service
Using this PaaS enables you to build and host web apps, background jobs, mobile back-ends, and RESTful APIs in the programming language of your choice without managing infrastructure.
Most everything is managed, and you can pay based on memory, dedicated/shared hardware, and has a free tier. You can use them to host common app services such as:
- Web apps
- API apps
- WebJobs
- Mobile apps
Azure Container Instances or Azure Kubernetes Service
Azure Container Instances offers the fastest and simplest way to run a container in Azure without having to manage any virtual machines or adopt any additional services. It’s a platform as a service (PaaS) offering that allows you to upload your containers, which it runs for you.
Azure Kubernetes Service is a complete orchestration service for containers with distributed architectures and large volumes of containers. The task of automating, managing, and interacting with a large number of containers is known as orchestration.
Azure Serverless
Serverless computing includes the abstraction of servers, an event-driven scale, and micro-billing. With serverless computing, they pay only for the time their code runs. If no active function executions occur, they’re not charged. For example, if the code runs once a day for two minutes, they’re charged for one execution and two minutes of computing time.
Azure Functions
Functions can execute code in almost any modern language. Functions can be either stateless or stateful. When they’re stateless (the default), they behave as if they’re restarted every time they respond to an event. When they’re stateful (called Durable Functions), a context is passed through the function to track prior activity.
Azure Logic Apps
Logic apps are designed in a web-based designer and can execute logic triggered by Azure services without writing any code. Where functions execute code, logic apps execute workflows that are designed to automate business scenarios and are built from predefined logic blocks. The workflows are persisted with a JSON file and have more than 200 different connections and processing blocks to interact with different services.
Azure Virtual Desktop
Simplified management
Azure Virtual Desktop is an Azure service, so it will be familiar to Azure administrators. You use Azure AD and RBACs to manage access to resources. With Azure, you also get tools to automate VM deployments, manage VM updates, and provide disaster recovery. As with other Azure services, Azure Virtual Desktop uses Azure Monitor for monitoring and alerts. This standardization lets admins identify issues through a single interface.
Performance management
Azure Virtual Desktop gives you options to load balance users on your VM host pools. Host pools are collections of VMs with the same configuration assigned to multiple users. For the best performance, you can configure load balancing to occur as users sign in (breadth mode). With breadth mode, users are sequentially allocated across the host pool for your workload. To save costs, you can configure your VMs for depth mode load balancing where users are fully allocated on one VM before moving to the next. Azure Virtual Desktop provides tools to automatically provision additional VMs when incoming demand exceeds a specified threshold.