Azure is a cloud services platform provided by Microsoft. Azure consists of more than 200 services, that includes Infrastructure as a Service (IaaS) services, Platform as a Service (PaaS) services, and Software as a Service (SaaS) services.
The 200 plus services includes services for various categories - compute, storage, databases, security, networking, content delivery, data warehousing, integration technologies, data lakes, analytics, blockchain, machine learning, artificial intelligence, etc.
Azure uses an elastic model, i.e. you can scale up or scale down the usage of the services as needed, and offers a pay-as-you-go approach for pricing.
Azure Region
Azure Region is a geographical region where clusters of Azure data centers are located, and are connected through a dedicated low-latency network.
Availability Zones
Azure Regions contain multiple isolated locations called Availability Zones, each of which contains an isolated data center having independent power, cooling, and network.
Org or Organization in Azure cloud represents the business entity or company that is using Azure cloud services.
All other entities on Azure cloud such as subscriptions, management groups, resource groups etc - hierarchically fall under the Org or Organization.
Azure subscriptions are logical grouping of services used by an organization, for which Microsoft charges the organization based on either a per-user based license fee or on cloud-based resource consumption.
An organization can have multiple subscriptions.
If an organization has many subscriptions, it can manage these subscriptions more efficiently by grouping them under management groups.
You can apply governance rules such as access, policies, compliance etc. on the management groups. All subscriptions within a management group automatically inherits these conditions applied on the management group.
Azure resource groups are logical containers that contain Azure resources and services related to a specific azure solution.
Generally, resource groups must contain resources that share the same life-cycle so that they can be easily deployed, updated and deleted as a group.
Azure provides four different computing options or techniques.
1. Virtual machines
2. Containers
3. App services
4. Serverless computing
Azure availability sets are logical groups of two or more Virtual Machines across different fault domains (different data center server racks)
Azure availability sets ensure that your applications, installed on the virtual machines within an availability set, are available during planned as well as unplanned maintenance.
Azure virtual machine scale sets allow you to centrally create, configure, and manage a large number of identical, load balanced virtual machines.
Azure Batch is a job scheduling platform that automatically scales up a pool of tens to thousands of VMs, in order to execute scheduled jobs. The pool is scaled down once the job executions are complete.
There are two ways to manage containers in Azure.
1. Azure Container Instances (ACI) - A PaaS component that allows you to upload docker containers to VMs, execute them, and scale automatically
2. Azure Kubernetes Services (AKS) - An orchestration service that automates and manages a large number of containers.
Azure App Service is a HTTP-based PaaS component that allows you to build, host, and execute different kinds of applications like web applications and RESTful APIs, that are developed in various programming languages such as .Net, Java, Ruby, Node.js, PHP, and Python.
Azure App Service is a managed service - i.e Azure manages the infrastructure including security, load balancing, autoscaling, OS patches, etc. so that you can focus on building your application. You will be charged based on the compute resources used by the App Service.
Azure provides two kinds of serverless compute implementations.
1. Azure Functions
2. Azure Logic Apps
Azure Storage refers to a group of data services provided by Azure. These are -
Azure Blobs - Object store for text and binary data.
Azure Files - File store that can be access by SMB (Server Message Block) protocol or NFS (Network File System) protocol.
Azure Queues - Messaging store for messaging between applications.
Azure Tables - NoSQL store for storage of schemaless data.
Azure Disks - Block-level storage For Azure VMs.
Azure Storage Account contains one or more sets (containers) of your Azure Storage Services (Azure Blobs, Azure Files, Azure Queues, and Azure Tables). Azure Storage Account provides a unique endpoint for each of your Azure Services, which can be accessed from anywhere in the world using HTTP or HTTPS protocols.
Azure Storage Account is an Azure resource, and is included in a resource group.
Azure Blob Storage is an object storage solution provided by Azure, that can be accessed from anywhere in the world using HTTP or HTTPS protocols.
Blob Storage is ideal for storing massive amounts of unstructured data such as text or binary data.
Following are some examples of files ideal for storing in Azure Storage Blob
- Images and documents that can be served directly to browser
- Text and binary files for distributed access
- Streaming video and audio files
- Storing backup data
- Storing data for analysis
Azure Files is a file share service offered by Azure that is accessible via the industry standard Server Message Block (SMB) protocol or Network File System (NFS) protocol.
Following are some scenario in which Azure files.
- To replace or supplement traditional on-premises NAS devices or file servers.
- For 'List and Shift' applications that need a file share to store application data.
- For cloud deployments - to share application settings across application instances, to store application diagnostics such as log files, metrics, and crash dumps.
Azure Queue Storage is a storage service provided by Azure that store large number of messages, which can be processed asynchronously. The messages can be accessed from anywhere in the world using Http or Https protocols.
Azure Tables Storage is a storage service provided by Azure that stores non-relational structured data (structured NoSQL data), ideal for storing key-value data that is schemaless.
Structurally - Azure Tables Storage contains Tables, with each Table containing Entities, and each Entity containing properties which are name-value pairs.
Azure Disk Storage consists of block-level storage volumes used with Azure VMs and managed by Azure. Managed disks are similar to on-premises physical disks, but are virtualized.
Various kinds of disks are available as part of Azure Disk storage including standard hard disk drives (HDD), solid-state drives (SSD), and ultra disks.
Azure Blob Storage. Blob Storage is ideal for storing massive amounts of unstructured data like binary data, such as video files; which can be streamed directly to browsers, can be accessed from anywhere in the world, and also can be shared across applications.
Azure File Storage. Azure File Storage can be used to replace on-premises file servers, and can be accessed via the standard SMB and NFS protocols, accessed from anywhere in the world , and can be shared across applications in the cloud..
Azure Queue Storage. Azure Queue Storage allows for asynchronous message queuing between application components.
Azure offers following options to store data
1. Azure SQL Database
2. Azure Cosmos DB
3. Azure Blob Storage
4. Azure Data Lake Storage
5. azure Files
6. Azure Queue
7. Disk storage
Azure provides Azure SQL Database, which is based on SQL Server, to store relational data on Azure cloud.
Microsoft azure manages the hardware, software updates, and OS updates so that you can focus on the the application data. In addition it comes with in-build scaling and security.
Azure SQL Database has two purchasing options.
1. DTU - Database Transaction Unit
2. VCore - Virtual core
Azure provides Azure Cosmos DB to store non-relational data.
Azure Cosmos DB provides programming interfaces for SQL databases, MongoDB, Cassandra, and Graph databases.
There are three ways to connect an on-premises network to Azure Virtual Network (VNet).
1. Azure ExpressRoute - Azure ExpressRoute uses a private, dedicated, and high-bandwidth connection to extend on-premises network to Azure.
2. Site-to-site VPN - Site-to-site VPN uses Azure VPN Gateway to connect to on-premises network's VPN device having a public IP address.
3, Point-to-site VPN - Point-to-site VPN uses Azure VPN Gateway to connect from individual computers located on-premises.
Azure ExpressRoute seamlessly extends a company's on-premises network to Azure cloud, through a dedicated and private network.
1. High-throughput and Low-latency Connectivity .
2. Built-in redundancy
3. Connectivity to Microsoft cloud services
4. Dynamic routing
5. Data privacy
Azure ExpressRoute supports three connectivity models.
1. CloudExchange Co-location
2. Point-to-point Ethernet connection
3. Any-to-any Connection
Virtual network peering is used to connect Azure virtual networks (VNet), using private IP adresses, over Azure network.
Once two Azure virtual networks (VNet) are peered, the VMs and services within one VNet can communicate with the VMs and services within the other VNet.
Azure Traffic Manager is a DNS-based load balancer that distributes traffic to services and resources across Azure regions globally.
Azure Traffic Manager supports six different methods of routing.
1. Weighted routing
2. Performance routing
3. Geographic routing
4. Multivalue routing
5. Subnet routing
6. Priority routing
There are two kinds of Azure load balancers.
1. Basic load balancers - Basic load balancers can only be used with availability sets.
2. Standard load balancers -Standars load balancers can be used with availability sets as well as availability zones.
Azure load balancers can be external load balancers or internal load balancers.
1. External load balancers - An external load balancer permits traffic from the internet and distributes the load across multiple virtual machines.
2. Internal load balancers - An internal load balancer takes in requests from an internal Azure resource and distributes the load to other Azure internal resources.
Azure provides Azure Site Recovery (ASR) service for disaster recovery of Azure Virtual Machines.
When you setup disaster recovery using Azure Site Recovery, Azure VMs continously replicate to a different secondary region. If an outage happens on the primary region, then you can fail over to the secondary region and access the VMs from that location. After the outage recovers, you can fail back to the primary location again.
Following are the different components that have to be considered for disaster recovery of Azure Virtual Machines
1. Virtual Machines - One or more virtual machines that have to be setup for disaster recovery.
Storage - Storage accounts attached to the Virtual Machines
Network components - One or more Subnets in a Vnet, within which the virtual machines are located.
Cache store account - Cache storage account on the source side that is used for replication.
Target resources - Target resources to which the data is replicated.