Author : MD TAREQ HASSAN | Updated : 2020/10/05
Azure Compute
- A set of services that provide on-demand compute power (CPU + Memory)
- Compute itself is not a service, it’s just logical grouping of several services related to running application workloads
Compute services:
- Virtual machines (IaaS offering)
- Containers (Docker, AKS, Service Fabric - similar to AKS but developed by Microsoft)
- Azure App Service
- PaaS
- WebJobs is part of App Service
- Serverless Computing (run applications without worrying about underlying infrastructures)
- Azure Functions
- Azure Logic Apps (workflows in cloud)
- Azure Event Grid (applications that respond to events)
Azure App Service
- Similar to traditional web hosting
- Framework runtimes installed on servers
- Azure manages web servers for you
Azure Functions
- Runs the (custom) code you write
- Initiated by triggers
- See: https://docs.microsoft.com/en-us/azure/azure-functions/
Azure Logic Apps
- Logic as a Service (LaaS) offer from Azure
- When to use? :
- want to execute a logic against an event triggered by other Azure service (using connectors)
- want to execute a logic tiggered by your app
- Design workflows in Azure Portal
- Initiated by triggers (similar to Azure Functions)
- Has huge library of connectors
- See: https://docs.microsoft.com/en-us/azure/logic-apps/
Messaging Services
- Details: Messaging Services in Azure
- Azure Event Grid
- PaaS for discrete events. Connects data sources and event handlers
- See: https://docs.microsoft.com/en-us/azure/event-grid/overview
- Azure Event Hub
- PaaS for streaming events. A big data streaming platform and event ingestion service
- See: https://docs.microsoft.com/en-us/azure/event-hubs/
- Azure Service Bus
- Fully managed enterprise message broker (messaging broker is used to communicate between applications in loosely couple manner)
- See: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-overview
Networking
- Secure networks for Azure resources (so that resources can communicate with each-other and with the internet)
- Underlying physical networking components are managed by Microsoft and can be configured by Azure portal (or other tools i.e. Azure Cloud Shell, Azure CLI etc.)
- Azure Virtual Network (vNet)
- Inter-resource communications i.e. virtaul machine to virtual machine
- Networking components:
- Azure firewall
- Application gateway (web traffic load balancer + more feature)
- VPN gateway (OnPremise Network <-> Azure vNet)
- vNet Peering: inter-vNet communictions (Virtual Network A <-> Virtual Network B)
- Load balancer
- Public load balancer (internet traffic)
- Private load balancer (intra-net traffic in hybrid scenario i.e. Azure <-> OnPremise)
- NSG (Network Security Group)
- Applies to VMs
- Acts as lite-weight firewall
- Public IP address
- A seperate resource in Azure
- Can be attached to VMs and application gateways
Application Gateway
Application Gateway Features:
- SSL Termination
- Autoscaling
- Session Affinity
- HTTP Header Rewriting
- Advanced Routing
- Web Application Firewall (WAF)
- Protects web applications from common exploits and vulnaribilities
- i.e. SQL Injection, CSRF
Azure VPN Gateway
- A specific type of virtual network gateway that is used to send encrypted traffic between an Azure virtual network and an on-premises location over the public Internet
- Enables you to establish secure, cross-premises connectivity between your virtual network within Azure and on-premises IT infrastructure
- Can also be used a VPN gateway to send encrypted traffic between Azure virtual networks over the Microsoft network
Azure VPN gateway for hybrid cloud
Windows Virtual Desktop
- Full desktop for users
- Apps running remotely
- Similar to Remote Desktop Services (RDS)
- Fully managed solution in the cloud
- Multi-session: multiple user can use same VM (with personalized experience)
- Authentication:
- Authentication using Azure AD
- Azure Multi-factor Authentication
Supported clients:
- Windows
- MacOS
- Android
- iOS
- HTML5 Browser
Supported operating systems:
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows 10 Enterprise
- Windows 7 Enterprise
Azure CDN
- Distributed network of servers
- Store cached data
- Minimize latency to global users
- Offload traffic from source servers
- Typically static data
- Also dynamic data using Dynamic Site Acceleration (DSA)
Dynamic Site Acceleration (DSA)
- Route Optimization
- Finds fastest route to origin server
- Compares paths
- Performs health checks
- TCP Optimization
- Avoids “TCP slow start”
- Persistent connections
- Tuning packet parameters
- Object Prefetch
- Parses HTML
- Serves embedded images and scripts
- Adaptive Image Compression
- Monitors network quality
- Provides smaller files when network speed is slower
Azure CDN Overview
Data Storage Services
- Azure provides storage services for specific data types
- Benefits to Azure data storage solutions
- Automated backup and recovery
- Replication across the world
- Encryption options
- Security and platform integration
- Development features and support
Storage solutions according to category of data
- Structured Data (Relational data)
- Azure SQL Database
- MySQL
- PostgreSQL
- MariaDB
- Unstructured Data (Binary)
- Azure Blob Storage
- Azure File Storage
- Azure Disk Storage
- Semi-structured Data (NoSQL)
- CosmosDB
Other data storage options
- Table storage
- Queues
- Radis Cache
Self hosted databases in VMs
- MongoDB
- Cassandra
- Neo4j
Raw data storage for big data analysis
- Azure Data Lakes (based on Azure Blob Storage, built for analytics)
Azure SQL Database
- PaaS
- Fully managed platform-as-a-service
- Always running the latest version of SQL Server
- Flexible pricing model
- Vcores
- DTU’s
- Single database or Elastic Pool
- Automatic scaling
- Service tiers for different workloads
- Standard (general purpose)
- Premium (for applications with high transaction rates)
- Hyper-scale (very large transactional databases)
Azure SQL Managed Instance
- Broadest set of SQL Server capabilities
- Benefits of managed platform
- Deploy VM onto your own VNET
- Lift-and-shift OnPremise DB with minimal changes
Azure CosmosDB
- Globally distributed
- Multi-modal (Graph / Gremlin, Table, NoSQL, Relational)
- Fast response times (good fit for serverless applications)
- Ability to scale rapidly and globally
- Elastically scale throughput and storage across any number of Azure regions
- Add or remove regions easily
- Backed by SSD storage
- Consistency options to ensure distributed data is updated
Cosmos DB use cases
- Retail Applications
- Attributes can vary and change over time
- Flexible schema
- Gaming Applications
- Millions of simultaneous updates
- Millisecond reads
- Social Media Applications
- Flexible data schemas needed for user generated content
Cosmos DB APIs
- SQL API (document databases)
- Mongo DB (document databases)
- Azure Table Storage (key-value databases)
- Gremlin (graph databases)
- Cassandra (column family databases)
Storage Services
- Blob Storage
- File Storage
- Disk Storage
- Queue Storage
- Table Storage
Azure Storage Account
- Azure storage account contains all of your Azure Storage data objects: blobs, files, queues, tables, and disks
- The storage account provides a unique namespace for your Azure Storage data
Programatic access to Azure Storage Account
- REST APIs
- SDKs
- PowerShell
- Azure CLI
- Azure Storage Explorer (GUI)
- AzCopy (CLI)
Azure Files
- Supports the SMB protocol
- Attach to multiple VMs
- File share with drive letter
- Good for migration scenarios
- Files accessible through REST interface
- Mechanisms for restricting access
Azure Blob Storage
- Blob:
- Acronym for Binary Large OBject
- Unstructured data: Data that doesn’t adhere to a particular data model or definition
- Azure Blob Storage is optimized for storing massive amount of unstructured data
Blob types:
- Block Blob:
- Composed of blocks
- Suitable for text, binary data
- Append Blob
- Can only Append Blocks
- Ideal for logs
- Page Blob
- 8TB max blob size
- VM disks and databases
- Frequent random read/write applications
Blob access tier:
- Hot tier:
- Highest storage cost
- Lowest data access cost
- Cold tier
- Lower storage cost
- Higher data access cost
- Archive tier
- Lowest storage cost
- Highest data retrieval cost
- Data is offline
Azure Database Migrasion Service
- Managed Service to migrate database data to Azure data platforms
- On-premises databases
- Azure databases
- Amazon Web Services
- Compatibility: https://docs.microsoft.com/en-us/azure/dms/resource-scenario-status
- Create target database in Azure
- Assess source database for compatibility
- Create instance of Azure DMS
- Configure source and target databases
- Migrate data
- Switchover production applications
Online Data Transfer Options:
- Azure Storage Explorer
- Azure Portal
- AzCopy
- PowerShell / Azure CLI
- Storage Client Libraries
- Azure Data Factory
Azure Data Box:
- Data Box Disk
- Solid State Disks
- 35TB per order
- USB 3.0 connection
- Data Box
- Device on network
- 80TB capacity
- RJ45 or SFP+ 10GbE
- Data Box Heavy
- 1PB Capacity
- 40GbE connection
Import / Export Service:
- Ship your own disks
- For Azure Blob or File Service
- Can use for exporting data from Azure also
- Prepare drives with encryption software
Data analysis
- Event Hubs (Data ingestion)
- Data Factory (ETL - extract, transform, load)
- Stream analysis:
- Azure HDInsights (allows to use open source tools in Azure -> Spark, Hadoop, Hive, Storm, Kafka, HBase)
- Azure Databricks (Cloud-optimized Spark service, easy integration with other Azure services)
Analytics
- PowerBI
- Azure Synapse Analytics
Additional Azure Services
- Media Services
- Mobile Services
- IoT
- Mixed Reality
- Blockchain
- Bot Service
- Search