Technology

Microsoft Azure

Tanmay Lokhande

June 24, 2024

What is Microsoft Azure

Azure is a continually expanding set of cloud services that help you meet current and future business challenges. Azure gives you the freedom to build, manage, and deploy applications on a massive global network using your favorite tools and frameworks.
Microsoft Azure is a cloud computing platform that provides a broad range of cloud services, including compute, analytics, storage and networking

What does Azure offer?

Limitless innovation.Build intelligent apps and solutions with advanced technology, tools, and services to take your business to the next level. Seamlessly unify your technology to simplify platform management and to deliver innovations efficiently and securely on a trusted cloud.
Bring ideas to life:Build on a trusted platform to advance your organization with industry-leading AI and cloud services.
Seamlessly unify:Efficiently manage all your infrastructure, data, analytics, and AI solutions across an integrated platform.
Innovate on trust:Rely on trusted technology from a partner who’s dedicated to security and responsibility.

Get started with Azure accounts

To create and use Azure services, you need to create an Azure account and an Azure subscription. After you’ve created an Azure account, you’re free to create additional subscriptions. For example, your company might use a single Azure account for your business and separate subscriptions for development, marketing, and sales departments
After you’ve created an Azure subscription, you can start creating Azure resources within each subscription.

Physical Architecture

The physical infrastructure for Azure starts with datacenters. The datacenters are the same as large corporate datacenters. Theyʼre facilities with resources arranged in racks, with dedicated power, cooling, and networking infrastructure.

Regions

A region is a geographical area on the planet that contains at least one, but potentially multiple datacenters that are nearby and networked together with a low-latency network.
When you deploy a resource in Azure, you’ll often need to choose the region where you want your resource deployed.
Refer Global infrastructure site to explore and find the Azure geography that meets your needs.

Note: There are also some global Azure services that don’t require you to select a particular region, such as Microsoft Entra ID, Azure Traffic Manager, and Azure DNS.

Availability Zones

Availability zones are physically separate datacenters within an Azure region.An availability zone is set up to be an isolation boundary. If one zone goes down, the other continues working. Availability zones are connected through high-speed, private fiber-optic networks.

You want to ensure your services and data are redundant so you can protect your information in case of failure. Azure helps in makeing your app highly available through availability zones.
You can use avalailability zones to run critical applications and build high availability in your app architecture by co-locating your compute ,storage, networking and data resources within an availability zone and replicating in other availability zones.
Azure services that support availability zones fall into three categories:

  • Zonal services: You pin the resource to a specific zone (for example, VMs, managed disks, IP addresses).
  • Zone-redundant services: The platform replicates automatically across zones (for example, zone-redundant storage, SQL Database).
  • Non-regional services: Services are always available from Azure geographies and are resilient to zone-wide outages as well as region-wide outages.

To provide even further resilience, Azure has RegionPairs

Region pairs

Most Azure regions are paired with another region within the same geography (such as US, Europe, or Asia) at least 300 miles away. This approach allows for the replication of resources across a geography that helps reduce the likelihood of interruptions because of events such as natural disasters, civil unrest, power outages, or physical network outages that affect an entire region.

Sovereign Regions

In addition to regular regions, Azure also has sovereign regions. Sovereign regions are instances of Azure that are isolated from the main instance of Azure. You may need to use a sovereign region for compliance or legal purposes.

Azure management infrastructure

Azure resources and resource groups

A resource is the basic building block of Azure. Anything you create, provision, deploy, etc. is a resource. Virtual Machines (VMs), virtual networks, databases, cognitive services, etc. are all considered resources within Azure. Resource groups are simply groupings of resources.

Azure subscriptions

In Azure, subscriptions are a unit of management, billing, and scale.Using Azure requires an Azure subscription. A subscription provides you with authenticated and authorized access to Azure products and services. It also allows you to provision resources.

Cloud service types

Infrastructure as a Service(IaaS)

Infrastructure as a service (IaaS) is the most flexible category of cloud services, as it provides you the maximum amount of control for your cloud resources. In an IaaS model, the cloud provider is responsible for maintaining the hardware, network connectivity (to the internet), and physical security. Youʼre responsible for everything else: operating system installation, configuration, and maintenance; network configuration; database and storage configuration; and so on. With IaaS, youʼre essentially renting the hardware in a cloud datacenter, but what you do with that hardware is up to you

Platform as a Service(PaaS)

Platform as a service (PaaS) is a middle ground between renting space in a datacenter (infrastructure as a service) and paying for a complete and deployed solution (software as a service). In a PaaS environment, the cloud provider maintains the physical infrastructure, physical security, and connection to the internet. They also maintain the operating systems, middleware, development tools, and business intelligence services that make up a cloud solution. In a PaaS scenario, you don’t have to worry about the licensing or patching for operating systems and databases.
PaaS is well suited to provide a complete development environment without the headache of maintaining all the development infrastructure.

Software as a Service

Software as a service (SaaS) is the most complete cloud service model from a product perspective. With SaaS, youʼre essentially renting or using a fully developed application. Email, financial software, messaging applications, and connectivity software are all common examples of a SaaS implementation. While the SaaS model may be the least flexible, itʼs also the easiest to get up and running. It requires the least amount of technical knowledge or expertise to fully employ.

Shared responsibility model

Note: As the customers control over the resources increases the cost increases

Examples of the Azure Services

Microsoft Azure provides the AzureMachineLearning service – a cloud-based platform for running experiments at scale to train predictive models from data, and publish the trained models as services. Check AzureMachineLearning.
Azure Machine Learning provides the following features and capabilities:

AzureAIServices are cloud-based services that encapsulate AI capabilities. Rather than a single product, you should think of Azure AI Services as a set of individual services that you can use as building blocks to compose sophisticated, intelligent applications.
For more information about Azure AI Services, see the AzureAIServices web page.

Azure OpenAI Service is an Azure AI service for deploying, utilizing, and fine- tuning models developed by OpenAI. OpenAI, the company who built ChatGPT, is one of the most popular applications most people have seen, and the models behind that ChatGPT uses are available through the Azure OpenAI Service. You can develop applications that use the powerful generative AI models in Azure OpenAI to further utilize this technology.
For more information about Azure OpenAI and generative AI, see theAzureOpenAIServicepage.

AzureFunctionsis a serverless solution that allows you to write less code, maintain less infrastructure, and save on costs. Instead of worrying about deploying and maintaining servers, the cloud infrastructure provides all the up-to- date resources needed to keep your applications running.

Azure storage services

Azure storage accounts provides a unique namespace for your Azure Storage data that’s accessible from anywhere in the world over HTTP or HTTPS. Data in this account is secure, highly available, durable, and massively scalable.
The Azure Storage platform includes the following data services:

  • AzureBlobs: A massively scalable object store for text and binary data. Also includes support for big data analytics through Data Lake Storage Gen2.
  • AzureFiles: Managed file shares for cloud or on-premises deployments.
  • AzureQueues: A messaging store for reliable messaging between application components.
  • AzureDisks: Block-level storage volumes for Azure VMs.
  • AzureTables:NoSQL table option for structured, non-relational data. Refer create storage account

Monitoring tools in Azure

Azure Advisor

Azure Advisor evaluates your Azure resources and makes recommendations to help improve reliability, security, and performance, achieve operational excellence, and reduce costs. The recommendations are divided into five categories:
Reliability is used to ensure and improve the continuity of your business- critical applications.
Security is used to detect threats and vulnerabilities that might lead to security breaches.
Performance is used to improve the speed of your applications.
Operational Excellenceis used to help you achieve process and workflow efficiency, resource manageability, and deployment best practices.
Cost is used to optimize and reduce your overall Azure spending.
The following image shows the advisor tool:

Azure Service Health

Azure Service Health helps you keep track of Azure resource, both your specifically deployed resources and the overall status of Azure. Azure service health does this by combining three different Azure services:
AzureStatusinforms you of service outages in Azure on the Azure Status page.
ServiceHealth provides a narrower view of Azure services and regions. It focuses on the Azure services and regions you’re using.
ResourceHealthis a tailored view of your actual Azure resources. It provides information about the health of your individual cloud resources, such as a specific virtual machine instance.

Azure Monitor

Azure Monitor is a platform for collecting data on your resources, analyzing that data, visualizing the information, and even acting on the results. Azure Monitor can monitor Azure resources, your on-premises resources, and even multi-cloud resources like virtual machines hosted with a different cloud provider.
The following diagram illustrates just how comprehensive Azure Monitor is:

On the left is a list of the sources of logging and metric data that can be collected at every layer in your application architecture, from application to operating system and network.
In the center, the logging and metric data are stored in central repositories.
On the right, the data is used in several ways. You can view real-time and historical performance across each layer of your architecture or aggregated and detailed information. The data is displayed at different levels for different audiences. You can view high-level reports on the Azure Monitor Dashboard or create custom views by using Power BI and Kusto queries.

Application Insights

Application Insights, an Azure Monitor feature, monitors your web applications.Once Application Insights is up and running, you can use it to monitor a broad array of information, such as:

  • Request rates, response times, and failure rates
  • Dependency rates, response times, and failure rates, to show whether external services are slowing down performance
  • Page views and load performance reported by users’ browsers
  • AJAX calls from web pages, including rates, response times, and failure rates User and session counts
  • Performance counters from Windows or Linux server machines, such as CPU, memory, and network usage

Factors that can affect costs in Azure

Azure shifts development costs from the capital expense (CapEx) of building out and maintaining infrastructure and facilities to an operational expense (OpEx) of renting infrastructure as you need it, whether itʼs compute, storage, networking, and so on.
That OpEx cost impacting factors:

  • Resource type
  • Consumption Maintenance
  • Geography
  • Subscription type
  • Azure Marketplace

Pricing and Total Cost of Ownership calculators

The pricing calculator and the total cost of ownership (TCO) calculator are two calculators that help you understand potential Azure expenses

Pricing calculator

The pricing calculator is designed to give you an estimated cost for provisioning resources in Azure. You can get an estimate for individual resources, build out a solution, or use an example scenario to see an estimate of the Azure spend. The pricing calculatorʼs focus is on the cost of provisioned resources in Azure.
Explore the Pricingcalculator.

TCO calculator

The TCO calculator is designed to help you compare the costs for running an on- premises infrastructure compared to an Azure Cloud infrastructure. With the TCO calculator, you enter your current infrastructure configuration, including servers, databases, storage, and outbound network traffic. The TCO calculator then compares the anticipated costs for your current environment with an Azure environment supporting the same infrastructure requirements.
Explore the TCOCalculator.Azure also provides a Cost Management Toolwhich provides the ability to quickly check Azure resource costs, create alerts based on resource spend, and create budgets that can be used to automate management of resources.

Benefits of using cloud services

Benefits of high availability and scalability in the cloud

High availability

When youʼre deploying an application, a service, or any IT resources, itʼs important the resources are available when needed. High availability focuses on ensuring maximum availability, regardless of disruptions or events that may occur.

Scalability

Another major benefit of cloud computing is the scalability of cloud resources. Scalability refers to the ability to adjust resources to meet demand. If you suddenly experience peak traffic and your systems are overwhelmed, the ability to scale means you can add more resources to better handle the increased demand

Benefits of reliability and predictability in the cloud

Reliability

Reliability is the ability of a system to recover from failures and continue to function. It’s also one of the pillars of the Microsoft Azure Well-Architected Framework.

Predictability

Predictability in the cloud lets you move forward with confidence. Predictability can be focused on performance predictability or cost predictability. Both performance and cost predictability are heavily influenced by the Microsoft Azure Well-Architected Framework. Deploy a solution built around this framework and you have a solution whose cost and performance are predictable.

Benefits of security and governance in the cloud

  • Things like set templates help ensure that all your deployed resources meet corporate standards and government regulatory requirements.
  • Cloud-based auditing helps flag any resource thatʼs out of compliance with your corporate standards and provides mitigation strategies.
  • The cloud is intended as an over-the-internet delivery of IT resources, cloud providers are typically well suited to handle things like distributed denial of service (DDoS) attacks, making your network more robust and secure.

Benefits of manageability in the cloud

Management of the cloud

Management of the cloud speaks to managing your cloud resources. In the cloud, you can:

  • Automatically scale resource deployment based on need.
  • Deploy resources based on a preconfigured template, removing the need for manual configuration.
  • Monitor the health of resources and automatically replace failing resources.
  • Receive automatic alerts based on configured metrics, so youʼre aware of performance in real time.

Benefits of Azure Storage

Azure Storage services offer the following benefits for application developers and IT professionals: Durable and highly available. Redundancy ensures that your data is safe if transient hardware failures occur.
Secure. All data written to an Azure storage account is encrypted by the service.
Scalable. Azure Storage is designed to be massively scalable to meet the data storage and performance needs of today’s applications.
Managed. Azure handles hardware maintenance, updates, and critical issues for you.
Accessible. Data in Azure Storage is accessible from anywhere in the world over HTTP or HTTPS.