Azure Compute and Networking services
Table of Contents
Compute Services
“Execute code” in the cloud
https://learn.microsoft.com/en-us/azure/architecture/guide/technology-choices/compute-decision-tree
- Azure Virtual Machines: A service where you deploy and manage virtual machines (VMs) inside an Azure virtual network.
- https://learn.microsoft.com/en-us/azure/virtual-machines/overview
- Closest analogue to a “server” in cloud computing
- It is virtual
- A single physical machine will be subdivided into slices and you get to rent a single slice of it
- Virtual Machine Types
- Over 700 to choose from
- Number of CPU cores, CPU speed, RAM size, temporary disk size, IOPS, etc.
- Azure App Service: A managed service for hosting web apps, mobile app back ends, RESTful APIs, or automated business processes.
- PaaS
- A new paradigm for running code in the cloud
- Give your code and configuration to Azure, and they will run it
- Promise of performance but no access to hardware
- Azure Functions: A managed function as a service.
- Azure Kubernetes Service (AKS): A managed Kubernetes service for running containerized applications.
- Azure Container Apps: A managed service built on Kubernetes, which simplifies the deployment of containerized applications in a serverless environment.
- Azure Container Instances: This service is a fast and simple way to run a container in Azure. You don’t have to provision any VMs or adopt a higher-level service.
- Azure Red Hat OpenShift: A fully managed OpenShift cluster for running containers in production with Kubernetes.
- Azure Spring Apps: A managed service designed and optimized for hosting Spring Boot apps.
- Azure Service Fabric: A distributed systems platform that can run in many environments, including Azure or on-premises.
- Azure Batch: A managed service for running large-scale parallel and high-performance computing (HPC) applications.
VM Scale Sets (VMSS)
- Elasticity is the goal
- Autoscaling (grow and reduce)
- A group of virtual machines that can grow and shrink in quantity based on a predefined rule
- Usually based on monitoring demand
- Can be based on time (schedule)
- Can be based on many other factors
- With a “load balancer” in front to direct traffic randomly to one of the machines
- Can handle up to 100 VMs in a single scale set
- Can be configured to increase that to 1000 VMs in a single scale set
- If you need more, you can create more scalesets
Container Services
- Another paradigm for running code in the cloud
- Containers contain everything the app needs to run in a “container image”
- Fastest and easiest to deploy
- Azure Container Instance (ACI) - single instances, quickest way to deploy a container
- Azure Container Apps - easy to use like a web service, with advanced features
- Azure Kubernetes Service (AKS) - runs on a cluster of servers, enterprise-grade
Azure Virtual Desktop
- Desktop version of Windows that runs in the cloud
- Your software installed, your files - available from anywhere
- Can even see your desktop on iOS and Android, or from any web browser
- Runs on Azure
Azure Functions
- FaaS (Function as a Service)
- Serverless model
- Small pieces of code that run entirely in the cloud
- Utility function - does something specific in a finite amount of time
- Is triggered by something happening
- HTTP call, timer, blob creation, message queue, etc.
- Very inexpensive
- Free tie - one million executions per month free
- Can support more complicated designs
- Durable functions
- Long-running functions
- Premium or dedicated hosting options
- Examples
- A small piece of code that runs every day at 12 am, and summarizes yesterday’s data
- A small piece of code that checks a blob container for new files, and does something everytime it finds a new one
- A small piece of code that runs every six hours, and retrieves the latest weather forecase from a publicly accessible weather API
Azure Networking Services
- They are called
Virtual Networks
orVNets
- Extensive global network of cables, switches and routers - physical network
- By default, two virtual machines in Azure are not allowed to talk with each other - security
- Virtual networks are analogous to the physical networks we would set up in our own office or data center - IaaS
- In Azure, its virtual because it is effectively just a database entry in a table that establishes the path between VM A and VM B.
- Virtual Networks are assigned an address space of either IPv4 or IPv6 addresses, or both
- These are private addresses, which cannot be accessed from outside of Azure or other networks inside of Azure
- A single VNet is usually assigned a large quantity address space to support potential future growth
- There is no shortage of private IP addresses
Subnets
- All VNets are subdivided into one or more subnets
- The subnet is assigned a range of IP addresses which must exist in the address space of the parent VNet
- Usually, there is a security layer between subnets; traffic must match a predefined ruleset to pass
- All virtual machines must belong to at least one subnet, using a Network Interface Card (NIC)
- Some VMs have more than one NIC and can connect to more than one subnet
- VMs can optionally be assigned to a public IP, which makes it eligible to be accessed from outside Azure (subnet to security/firewalls)
Network Security Group
- Aka NSG
- An access control list (ACL) that blocks traffic inbound and outbound from a subnet unless it matches certain rules
- The rules are based on source IP, source port, destination IP, destination port, and protocol (5-tuple match)
Network Peering
- Communication is blocked between two subnets on different networks
- Connecting two subnets together is called peering
- This allows communication between a VN on one network and a VM on a different network
Azure DNS
- Azure DNS only applies internal to Azure to applied networks
Azure VPN Gateway
- VPN in Virtual Private Network
- Allows communication between a workstation and a network, or between two networks
- Encrypts traffic between those two points
VPNs
- Outside of Azure, VPNs require a physical device to be installed on a network
- Inside of Azure, you can install a VPN Gateway as a virtual device on your network
- VPN Gateway requires its own subnet
- Example scenario - Work from home
- You might need to use a VPN to connect to the office network
- This is called “point to site” VPN or P2S
VPN Peering
- You can also connect two distant networks using VPN devices
- This is called “site to site” VPN, or S2S
- Can connect an entire office of computers to an Azure subnet, to two offices together
ExpressRoute
- If communicating into Azure at high speeds is important to you, look into ExpressRoute
- A private connection from your ISP to an Azure endpoint
- Bypasses the public Internet
Public and Private endpoints
Anything with a private endpoint in Azure is not accessible from the public internet at all.