Day 11: What is Load Balancing and Other Services in azure


Load Balancing
Increases availability & resiliency
Availability: to how long your service is up and running without interruption
High availability (HA), or highly available = a service that's up and running for a long period of time.
Five nines availability: Guaranteed to be running 99.999 percent of the time
Resiliency refers to a system's ability to stay operational during abnormal conditions e.g.
- Natural disasters, system maintenance, spikes in traffic, threats made by malicious parties
Load balancer distributes traffic evenly among each system in a pool.
- The idea is to have additional systems ready, in case one goes down or serving too many users.
The load balancer becomes the entry point to the user.
- The user doesn't know (or need to know) which system the load balancer chooses to receive the request.
- If a VM is unavailable or stops responding, the load balancer stops sending traffic to it.
In 3-tier architecture, the app and data tiers can also have a load balancer. It all depends on what your service requires.
You can configure your own load balancer on a VM, or use Azure Load Balancer, Azure Application Gateway, Content Delivery Network or Azure Traffic Manager.
Azure Load Balancer
Microsoft does the maintenance for you.
- There's no infrastructure or software for you to maintain
Define the forwarding rules based on the source IP and port to a set of destination IP/ports.
Supports inbound and outbound scenarios (internal + external load balancer)
Provides low latency and high throughput
- ๐ Low latency: computer network that is optimized to process a very high volume of data messages with minimal delay (latency).
Scales up to millions of flows for all Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) applications
Use-cases:
incoming internet traffic
internal traffic across Azure services
port forwarding for specific
๐ก Outbound connectivity for VMs in your virtual network
Azure Application Gateway
๐กBetter option if all of your traffic HTTP.
Load balancer designed for web applications
- It's application layer (OSI layer 7) load balancing since it understands the structure of the HTTP message.
It uses Azure Load Balancer at the transport level (TCP) behind the scenes.
Functionalities:
Cookie affinity
- Useful when you want to keep a user session on the same backend server.
SSL termination
Can manage your SSL certificates and pass unencrypted traffic to the backend servers to avoid encryption/decryption overhead.
Full end-to-end encryption for applications that require that.
Web application firewall
- Supports a sophisticated firewall (WAF) with detailed monitoring and logging to detect malicious attacks against your network infrastructure.
URL rule-based routes
Route traffic based on URL patterns, source IP address and port to destination IP address and port.
Helpful when setting up a content delivery network.
Rewrite HTTP headers
- Addadd or remove information from the inbound and outbound HTTP headers of each request to enable important security scenarios, or scrub sensitive information such as server names.
Azure Content Delivery Network
Caches content at nodes across the world and provide better performance to end users.
Allows distributed network of servers that can efficiently deliver web content to users to minimize latency.
Can be hosted in Azure or any other location.
๐ก Use-cases:
web applications containing multimedia content
a product launch event in a particular region,
or any event where you expect a high-bandwidth requirement in a region.
DNS
DNS, or Domain Name System, is a way to map user-friendly names to their IP addresses.
- E.g. contoso.com might map to IP address of the load balancer at the web tier,
40.65.106.192
.
- E.g. contoso.com might map to IP address of the load balancer at the web tier,
You can bring your own DNS server or use Azure DNS
Azure DNS
A hosting service for DNS domains that runs on Azure infrastructure.
Provides ultra-fast DNS responses and ultra-high domain availability
Azure Traffic Manager
DNS based traffic load balancer
Allows you to make e.g. your website located in the United States, load faster for users located in Europe or Asia.
Uses the DNS server that's closest to the user to direct user traffic to a globally distributed endpoint.
It directs the client web browser to a preferred endpoint.
Can route traffic in a few different ways, using e.g. to the endpoint with the lowest latency.
You can connect Traffic Manager to your own on-premises networks.
Network latency
๐ The time it takes for data to travel over the network.
Typically measured in milliseconds.
Bandwidth vs Latency
Bandwidth = the amount of data that can fit on the connection.
Latency = the time it takes for that data to reach its destination.
Affected by factors such as:
type of connection you use
how your application is designed
biggest factor = distance
One way to reduce latency is to provide exact copies of your service in more than one region using Azure Traffic Manager.
Load Balancer vs Azure Traffic Manager
Azure Load Balancer distributes traffic within the same region.
- Traffic Manager works at the DNS level, and directs the client to a preferred endpoint across regions.
Both help with resiliency in different ways.
Load Balancer detects an unresponsive VM => it directs traffic to other VMs in the pool.
Traffic Manager monitors the health of your endpoints, finds an unresponsive endpoint => it directs traffic to the next closest endpoint that is responsive.
Other Azure Services
Web
Azure Notification Hubs
- Send push notifications to any platform from any back end.
Azure API Management
- Publish APIs to developers, partners, and employees securely and at scale.
Azure Cognitive Search
- Fully managed search as a service.
Azure SignalR Service
- Add real-time web functionalities easily.
Internet of things
Internet allows any item that's online-capable to access valuable information
This ability is for devices to garner & relay information for data analysis is called Internet of Things (IoT).
E.g. smart watches, smart thermostats, smart refrigerators. Personal computers used to be the norm.
IoT Central
- ๐ SaaS to manage IoT devices
Azure IoT Hub
Takes data, coordinates in and out
Integrates sensors, devices and manages them.
Messaging hub that provides secure communications between and monitoring of devices
IoT Edge
Allows pushing data analysis models directly onto IoT devices
Allowing them to react quickly to state changes without needing to consult cloud-based AI models.
Big data
Big Data = large volumes of data
- E.g data from weather systems, communications systems, genomic research, imaging platforms
Hard to analyze and make decisions
Traditional forms of processing and analysis becomes no longer appropriate.
Solution: Open source cluster technologies
Azure supports a broad range of technologies and services to provide big data and analytic solutions.
๐ Some examples
Azure Synapse Analytics
Azure HDInsight
Process big data through Hadoop clusters
More complete than Azure Data Lake Analytics
Azure Data Lake Analytics
- Transform big data on Azure data lake
Azure Databricks
Apache Sparkโbased analytics service
Can be integrated with other Big Data services in Azure.
Data Lake Store
- Secure, massively scalable and built to the open HDFS standard
Azure Data Factory
- Pipelines for data analysis
Artificial Intelligence
The core is Machine Learning.
Allows computers to use existing data to forecast future behaviors, outcomes, and trends.
Computers learn without being explicitly programmed.
Forecasts or predictions can make apps and devices smarter.
- E.g. when you shop online, machine learning helps recommend other products you might like based on what you've purchased.
Azure Machine Learning Service
Cloud-based environment you can use to develop, train, test, deploy, manage, and track machine learning models.
Can auto-generate a model and auto-tune it for you.
Lets you start training on your local machine, and then scale out to the cloud
Azure Cognitive services
๐ AI SaaS services (pre-built APIs)
Vision: Image-processing algorithms to smartly identify, caption, index, and moderate your pictures and videos.
Speech: Convert spoken audio into text, use voice for verification, or add speaker recognition to your app.
Knowledge mapping: Map complex information and data in order to solve tasks such as intelligent recommendations and semantic search.
Bing Search: Add Bing Search APIs to your apps and harness the ability to comb billions of webpages, images, videos, and news with a single API call.
Natural Language processing: Allow your apps to process natural language with pre-built scripts, evaluate sentiment and learn how to recognize what users want.
Azure Machine Learning Studio
Collaborative, drag-and-drop visual workspace for machine learning solutions
Allows to build, test, and deploy machine learning models with algorithms and data-handling modules
DevOps
- Brings together people, processes, and technology, automating software delivery to provide continuous value to your users.
Azure DevOps
๐ Azure DevOps Services (formerly known as Visual Studio Team Services, or VSTS)
Provides development collaboration tools including pipelines, Git repositories, configurable Kanban boards, and automated load testing
Consists of:
Azure Repos: Source control for your code.
Azure Pipelines: providing build & release services for continuous integration & delivery
Azure Boards: Agile tools that support planning and tracking work items
Azure Test Plans: Tools for testing your applications
Azure Artifacts: Allows teams to work with
maven
,npm
andNuGet
packages, like purpose as artifactory
Azure DevTest Labs
๐ Creates labs consisting of pre-configured Windows & Linux environments or Azure Resource Manager templates.
Good for testing can use to test or demo your applications directly from your deployment pipelines.
Subscribe to my newsletter
Read articles from Anand Raval directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Anand Raval
Anand Raval
"I'm a 3rd-year Computer Engineering student at Marwadi University with skills in C++, web development (MERN stack), and DevOps tools like Kubernetes. I contribute to open-source projects and share tech knowledge on GitHub and LinkedIn. I'm learning cloud technologies and app deployment. As an Internshala Student Partner, I help others find jobs and courses." now currently focusing on #90DaysOfDevops