Physical facility
Hosting for a group of networked servers
Own power, cooling & networking infrastructure.
Region
Geographical area on the planet
One but usually more data centers connected with a low-latency network (<2 milliseconds)
Location for your services
Some services are available only in certain regions.
Regions contain Data Centers.
Some services are global services, as such are not assigned/deployed in a specific region.
Globally available with 50+ regions.
Special government regions (US DoD Central, US Gov Virginia, etc.)
Special partnered regions (China East, China North)
Availability Zone
Regional feature, but not enabled for all Azure Regions.
Grouping of physically separate facilities.
Designed to protect from data center failures.
If the zone goes down others continue working.
Two service categories-
Zonal services (Virtual Machines, Disks, etc.)
Zone-redundant services (SQL, Storage, etc.)
Not all regions are supported. (about 7 supported)
Supported region has three or more zones.
A zone is one or more data centers, meaning, Availability Zones are contained in Regions.
Region Pair
Each region is paired with another region making it a region pair.
Region pairs are static and cannot be chosen.
Each pair resides within the same geography*
Exception is Brazil South
Physical isolation with at least >=300 miles distance (when possible).
Some services have platform-provided replication.
Planned updates across the pairs.
Data residency maintained for disaster recovery.
Geographies
Discrete market
Typically contains two or more regions.
Ensures data residency, sovereignty, resiliency, and compliance requirements are met.
Fault tolerant to protect from region wide failures.
Broken up into areas:
Americas,
Europe,
Asia Pacific,
Middle East and Africa
Each region belongs only to one Geography.
Azure Resource
Object used to manage services in Azure.
Represents service lifecycle.
Saved as JSON definition.
Resource Groups
Grouping of resources with the SAME lifecycle.
1 Resource exists in 1 Resource Group only.
Holds logically related resources.
Typically organizing by:
Resource Manager
It is a Management Layer for managing all resources and resource groups.
It provides a management layer that enables you to create, update, and delete resources in your Azure account. You use management features, like access control, locks, and tags, to secure and organize your resources after deployment.
Unified language.
Controls access and resources.
Uses JSON for formatting.
View JSON of Resources:- https://resources.azure.com/
Additional Info
Each resource must be in one, and only one resource group.
Resource groups have their own location assigned.
Resources in the resource groups can reside in a different locations.
Resources can be moved between the resource groups.
Resource groups can’t be nested.
Organize based on your organization’s needs but consider-
Billing
Security and access management
Application Lifecycle
Emulation of physical machines
Different virtual hardware configurations per machine/app
Different operating systems per machine/app
Total separation of environments
file systems,
services,
ports,
middleware,
configuration
Virtual Machines
Infrastructure as a Service (IaaS)
Total control over the operating system and the software.
Supports marketplace and custom images with only Vertical Scaling.
Used when apps can’t be containerized.
Best suited for
Custom software requiring custom system configuration.
Lift-and-shift scenarios.
Can run any application/scenario:-
web apps & web services,
databases,
desktop applications,
jump boxes,
gateways, etc.
Virtual Machine Scale Sets – To scale VM(s)
Infrastructure as a Service (IaaS)
Set of identical virtual machines
Built-in auto-scaling features
Designed for manual and auto-scaled workloads like web services,* batch processing, etc.
Can be static(Below example) or Auto-Scaled.
Containers
Container:- Sandbox environment for each app.
Use the host’s operating system as they don’t have their own OS.
Emulate operating system (VMs emulate hardware)
Lightweight (no OS)
Less Development Effort then VM(s).
Less Maintenance than VM(s).
Less computing & storage requirements because no OS.
Respond quicker to demand changes.
Designed for almost any scenario.
Azure Container Instances
Simplest and fastest way to run a container in Azure.
Platform as a Service.(PaaS)
Serverless Containers.
Designed for-
Small and simple web apps/services
Background jobs
Scheduled scripts.
Azure Kubernetes Service (AKS)
Open-source container orchestration platform (PaaS)
Platform as a Service
Highly scalable and customizable
Designed for high-scale container deployments (anything really!)
App Service for WebApps
Designed as enterprise-grade web application service.
Platform as a Service. (PaaS)
Supports multiple programming languages and containers.
Azure Functions (Function Apps)
Platform as a Service based on Azure App Functions (PaaS)
Serverless
Two hosting/pricing models
Consumption-based plan
Dedicated plan
Designed for micro/nano-services, container-based pricing so, it can be used where the demand of total users is not known like Social Media Apps.
Summary
Virtual Machines (IaaS) - Custom software, custom requirements, very specialized, high degree of control.
VM Scale Sets (IaaS) - Auto-scaled workloads for VMs.
Container Instances (PaaS) - Simple container hosting, easy to start.
Kubernetes Service (PaaS) - Highly scalable and customizable * container hosting platform.
App Services (PaaS) - Web applications, a lot of enterprise web * hosting features, easy to start.
Functions (PaaS) (Function as a Service) (Serverless) - micro/nano-services, excellent consumption-based pricing, easy to start.
Azure Networking
Connect cloud and on-premises.
On-premise networking functionality.
Azure Virtual Network
Logically isolated networking components, an emulation of physically connected resources in the Cloud.
Segmented into one or more subnets.
Subnets are discrete sections.
Enable communication of resources with each other, internet and on-premises.
Scoped to a single region.
VNet peering allows cross-region communication.
Isolation, Segmentation, Communication, Filtering, Routing.
A virtual network allows Azure resources to securely communicate with each other, the internet, and on-premises networks.
A virtual network is scoped to a single region; however, multiple virtual networks from different regions can be connected together using virtual network peering.
For communication between virtual machines, Network Security Groups (NSGs) are a critical piece to restrict unnecessary communication.
Azure Load Balancer
Even traffic distribution.
Supports both inbound and outbound scenarios.
High-availability scenarios.
Both TCP (transmission control protocol) and UDP (user datagram protocol) applications.
Internal and External traffic.
Port Forwarding.
High scale with up to millions of flows.
A load balancer distributes traffic evenly among each system in a pool. A load balancer can help you achieve both high availability and resiliency.
VPN Gateway
Specific type of virtual network gateway for on-premises to azure traffic over the public internet.
VPN provides a secure connection between an Azure Virtual Network and an on- premises location over the internet.
Application Gateway
Web traffic load balancer.
If all your traffic is HTTP, a potentially better option is to use Azure Application Gateway. Application Gateway is a load balancer designed for web applications. It is designed to protect HTTP traffic.
Web application firewall.
Redirection.
Session affinity.
URL Routing.
SSL termination.
Content Delivery Network
Define content.
Minimize latency.
POP (points of presence) with many locations.
A distributed network of servers that can efficiently deliver web content to users. It is a way to get content to users in their local region to minimize latency.
A content delivery network (CDN) is used to deploy a website in Azure that will be accessed by users worldwide and that hosts large video files for the best video playback experiences
A Local Network Gateway is an object in Azure that represents your on-premise VPN device.
A Virtual Network Gateway is the VPN object in Azure at the end of the VPN.
A 'connection' is what connects the Local Network Gateway and the Virtual Network Gateway to bring up the VPN.
The local network gateway typically refers to your on-premises location. You give the site a name by which Azure can refer to it, then specify the IP address of the on-premises VPN device to which you will create a connection. You also specify the IP address prefixes that will be routed through the VPN gateway to the VPN device. The address prefixes you specify are the prefixes located on your on-premises network. If your on-premises network changes or you need to change the public IP address for the VPN device, you can easily update the values later.
Data Types
Structured - Data that can be represented using tables with very strict schema. Each row must follow a defined schema. Some tables have defined relationships between them. Typically used in relational databases.
Semi-structured - Data that can be represented using tables but without a strict defined schema. Rows must only have a unique key identifier.
Unstructured - Any files in any format. Like binary files, application files, images, movies, etc.
Storage Account
Group of services which include-
blob storage,
queue storage,
table storage, and
file storage
Used to store-
files,
messages, and
semi-structured data
Highly scalable (up to petabytes of data)
Highly durable (99.999999999% - 11 nines, up to 16 nines)
Cheapest per GB storage
Blob Storage
BLOB – binary large object – file
Designed for storage of files of any kind.
Three storage tiers
Hot – frequently accessed data. E.g., WebApps
Cool – infrequently accessed data, stored for at least 30 days. (lower availability, high durability). E.g., Versions, Backups, etc.
Archive – rarely (if ever) accessed data. Stored for at least 180 days. E.g., Backups with the lowest prices.
Queue Storage
Storage for small pieces of data (messages).
Designed for scalable asynchronous processing.
A data store for queuing and reliably delivering messages between applications
You can use queue storage to:
Create a backlog of work and pass messages between different Azure web servers.
Distribute load among different web servers/infrastructure and manage bursts of traffic.
Build resilience against component failure when multiple users access your data at the same time.
Table Storage
Storage for semi-structured data (NoSQL)
No need for foreign joins, foreign keys, relationships or strict schema.
Designed for fast access.
Can store >= 1 Table(s) / Storage.
Many programming interfaces and SDKs
File Storage
Storage for files accessed via shared drive protocols.
We can add persistent storage in AZURE FILE and DISK STORAGE Only!
Designed to extend on-premise file shares or implement lift-and-shift scenarios.
Disk Storage
Disk emulation in the cloud
Persistent storage for Virtual Machines
Different
sizes,
types (SSD, HDD)
performance tiers
Disk can be unmanaged or managed.
Cosmos DB
Globally distributed NoSQL (semi-structured data) Database service
Schema-less
Multiple APIs (SQL, MongoDB, Cassandra, Gremlin, Table Storage)
You can use this feature to store data that is updated and maintained by users around the world
Designed for
Highly responsive (real time) applications with super low latency responses <10ms
Multi-regional applications
SQL Database
Relational database service in the cloud (PaaS) (DBaaS - Database as a Service).
Structured data service defined using schema and relationships.
Rich Query Capabilities (SQL).
High-performance, reliable, fully managed, and secure database for building – applications.
Azure SQL product family
Azure SQL Database – Reliable relational database based on SQL Server.
Azure Database for MySQL – Azure SQL version for MySQL database engine.
Azure Database for PostgreSQL – Azure SQL version for PostgreSQL database engine.
Azure SQL Managed Instance – Fully fledged SQL Server managed by the cloud provider.
Azure SQL on VM – Fully fledged SQL Server on IaaS.
Azure SQL DW (Synapse) – Massively Parallel Processing (MPP) version of SQL Server.
Azure Marketplace
Think of it like an “Azure Shop” where you purchase services and solutions for the Azure platform.
Each product is a template that contains one or multiple services.
Products are delivered by first and third-party vendors.
Solutions can leverage all service categories like IaaS, PaaS and SaaS.
What is the Internet of Things?
The Internet of Things (IoT) is a network of internet-connected devices (IoT Devices) embedded in everyday objects enabling sending and receiving data such as settings and telemetry.
Azure IoT Hub
Managed service for bi-directional communication
Platform as a Service (PaaS)
Highly secure, scalable, and reliable
Integrates with a lot of Azure Services
Programmable SDKs for popular languages (C, C#, Java, Python, Node.js)
Multiple protocols (HTTPS, AMQP, MQTT)
Azure IoT Central
IoT App Platform - Software as a Service (SaaS)
Industry-specific app templates
No deep technical knowledge is required.
Service for connecting, managing, and monitoring IoT devices.
Highly secure, scalable, and reliable.
Built on top of the IoT Hub service and 30+ other services.
Azure Sphere
Secure end-2-end IoT Solutions
Azure Sphere certified chips (microcontroller units - MCUs)
Azure Sphere OS based on Linux.
Azure Security Service trusted device-to-cloud communication.
What is Big Data?
Big Data is a field of technology that helps with the extraction, processing , and analysis of information that is too large or complex to be dealt with by traditional software.
The three V’s rule
Big data typically has one of the following characteristics-
Azure Synapse Analytics
Big data analytics platform (PaaS)
Multiple components
Spark
Synapse SQL
SQL pools (dedicated – pay for provisioned performance)
SQL on-demand (ad-hoc – pay for TB processed)
Synapse Pipelines (Data Factory – ETL)
Studio (unified experience)
Leverages massive parallel processing (MPP) to run complex queries quickly across petabytes of data.
Azure HDInsight
Flexible multi-purpose big data platform (PaaS)
Multiple technologies supported (Hadoop, Spark, Kafka, HBase, Hive, Storm, Machine Learning)
Process massive amounts of data with managed clusters of Hadoop clusters in the cloud
Azure Databricks
Big data collaboration platform (PaaS)
Unified workspace for notebook, cluster, data, access management, and collaboration
Based on Apache Spark
Integrates very well with common Azure data services.
What is Artificial Intelligence?
Artificial Intelligence (AI) is the simulation of human intelligence & capabilities by computer software.
What is Machine Learning?
Machine Learning is a subcategory of AI where computer software is “taught” to draw conclusions and make predictions from data.
Azure Machine Learning
Cloud-based platform for creating, managing, and publishing machine learning models
Platform as a Service (PaaS)
Machine Learning Workspace – top-level resource
Machine Learning Studio – web portal for end-2-end development
Features-
Notebooks – using Python and R.
Automated ML – run multiple algorithms/parameter combinations, and choose the best model.
Designer – graphical interface for no-code development.
Data & Compute – management of storage and compute resources.
Pipelines – orchestrate model training, deployment, and management tasks.
What is Serverless?
Serverless computing is a cloud-hosted execution environment that allows customers to run their applications in the cloud while completely abstracting underlying infrastructure.
Azure Functions
Serverless coding platform (Functions as a Service, FaaS)
Designed for nano-service architectures and event-based applications
Scales up and down very quickly.
Highly scalable
Supports popular languages and frameworks (.NET & .NET Core, Java, Node.js, Python, PowerShell, etc.)
Azure Logic Apps
Serverless enterprise integration service (PaaS)
200+ connectors for popular services
Designed for the orchestration of
business processes,
integration workflows for applications, data, systems, and services
No-code solution.
Azure Event Grid
Fully managed serverless event routing service
Uses publish-subscribe model
Designed for event-based and near-real time applications
Supports dozen of built-in events from most common Azure services
What is DevOps?
DevOps is a set of practices that combine both development (Dev) and operations (Ops).
DevOps aims to shorten the development life cycle by providing continuous integration and delivery (CI/CD) capabilities while ensuring high quality deliverables.
Azure DevOps
Collection of services for building solutions using DevOps practices
Services included
Boards – tracking work
Pipelines – building CI/CD workflows (build, test and deploy apps)
Repos – code collaboration and versioning with Git
Test Plans – manual and exploratory testing
Artifacts – manage project deliverables
Extensible with Marketplace – over 1000 of available apps
Evolved from TFS (Team Foundation Server), through VSTS (Visual Studio Team Services.
Azure DevTest Labs
Service for creation of sandbox environments for developers/testers (PaaS)
Quickly create on-demand Windows and Linux environments you can use to test or demo your applications directly from your deployment pipelines
Quick setup of self-managed virtual machines
Preconfigured templates for VMs
Plenty of additional artifacts (tools, apps, custom actions)
Lab policies (quotas, sizes, auto-shutdowns)
Share and automate labs via custom images
Premade plugins/API/tools for CI/CD pipeline automation
Azure Portal
Public web-based interface for management of the Azure platform
Designed for self-service
Customizable
Simple tasks
Azure PowerShell
PowerShell and module
Designed for automation
Multi-platform with PowerShell Core
Simple to use
Connect-AzAccount – log into Azure
Get-AzResourceGroup – list resource groups
New-AzResourceGroup – create new resource group
New-AzVm – create virtual machine
Azure CLI
Command Line Interface for Azure
Designed for automation
Multi-platform (Python)
Simple to use
az login – log into Azure
az group list – list resource groups
az group create – create new resource group
az vm create – create virtual machine
Native OS terminal scripting
Azure Cloud Shell
Cloud-based scripting environment
Completely free
Supports both Azure PowerShell and Azure CLI
Dozen of additional tools
Multiple client interfaces
Azure Portal integration (portal.azure.com)
Shell Portal (shell.azure.com)
Visual Studio Code Extension
Windows Terminal
Azure Mobile App
Microsoft Docs integration
Azure Advisor
Personalized consultant service
Designed to provide recommendations and best practices for
Cost (SKU sizes, idle services, reserved instances, etc.)
Security (MFA settings, vulnerability settings, agent installations, etc.)
Reliability (redundancy settings, soft delete on blobs, etc.)
Performance (SKU sizes, SDK versions, IO throttling, etc.)
Operational Excellence (service health, subscription limits, etc.)
Actionable recommendations
Free!
EmoticonEmoticon