Load balancing Flashcards
What is the purpose of a load balancer?
To distribute request and response traffic across multiple servers to manage and optimise server response time and server load.
What are the alternatives to using horizontal scaling and adding load balancing servers?
You can use vertical scaling and increase the size of the VM.
What are the disadvantages of scaling vertically to avoid using a load balancing solution?
Vertical scaling can increase costs more steeply than horizontal scaling with load balancing and having multiple VMs does remove the SPOF (single point of failure) so if a server goes down, there are other servers to handle the traffic when scaling horizontal scaling plus load balancing. Also scaling out by adding a new vm does not require restarting a VM so the traffic is handled during the process of adding a VM whereas swapping a single VM for a larger one would require a VM restart during which no traffic would be handled.
What are the SLA (service level agreement) stated availability that Azure guarantees?
- 2+ VMs in the same region across 2+ availability zones = 99.99% availability
- 2+ VMs in the same availability set or dedicated host group = 99.95% availability
What are the load balancing options offered by Azure?
- Azure load balancer
- Azure application gateway
- Azure front door service
What are the SKUs o azure load balancers?
- Basic SKU (300 instances in the back end)
- Standard SKU (production ready, NAT gateway, Private link, availability zones and upto 1000 vms in the back end)
- Gateway SKU (not covered in AZ-104)
How to create an azure load balancer?
- Go to the Azure UI and click the + to create a resource. Filter for load balancer and click ‘Azure services only’ if you want to avoid including the 3rd party load balancing products from the search results.
- Click the azure load balancer. This is a layer 4 load balancer using the 5 tupe (sourceIP, sourcePort, destIP, destPort, protocolType)
- Follow the UI wizard, choosing the SKU and type according to your needs.
What are the main differences between the standard and basic Azure load balancer SKU?
Basic
- small apps with no need for high availability or redundancy
- Only NIC based (network interface card for VMs) so traffic can only be forwarded to Azure vms
- TCP and UDP (same as standard)
- Can only target CMs within an azure availability set or scale set
- Health probes over HTTP or TCP
- No support for availability zones or redundancy
- Less secure by default leaving the NSGs as an optional additional task for the administrator to set up
- No SLA (best effort)
- Larger scale production app ready
- Can forward traffic to non azure VMs
- Can target individual VMs or those in an availability set or scale set
- Health probes over HTTP, HTTPS or TCP
- Availability zones supported
- NSG set up by default to deny all inbound traffic. Ingress must be configured. Traffic from within the private network is allowed by default.
- SLA guarantees
What’s the difference between the regional and the global tier of azure load balancers?
Regional only support forwarding traffic to VMs, availability sets or scale sets in the same region as the load balancer. Global tier load balancers support them from other regions.
What is a load balancer frontend?
It’s the ingress point where inbound traffic is sent i.e. the ip address of your application. Then the load balancer forwards the traffic to the backend servers according to the algorithm and configuration of the load balancer.
How do you create the load balancing rules?
Configure that in the inbound rules and outbound rules of the load balancer frontend.
What is the purpose of source network access translation (SNAT)?
In terms of load balancing, this is used to perform traffic ip translation from the backend servers to the other side of the load balancers.
What is a backend pool?
This is a sort of container where all the vms to which the loadbalancer frontend can forward trafic to exist. The load balancer frontend cannot forward traffic to vms outside of a backend pool. Non azure VMS must be added to a backend pool to be serviced by the LBFR.
How to add a backend pool to a loadbalancer?
From the azure ui interface of the load balancer there is a link to backend pools in the blade menu. From there you can create one or more backend pools and add backend vms or servers to it by NIC association or IP addresses.
What are the available health probed which can be added to an Azure load balancer?
- TCP (level 4)
- HTTP (level 7)
- HTTPS (level 7)