Introduction to
US Patent filed Jan 28, 1994 by Cabletron Systems Inc.
-
I.B.M. to Push ‘Cloud Computing,’ Using Data From Afar [2007, NYT]
-
Simply put, cloud computing is the delivery of computing services (…)—over the Internet (“the cloud”) [Microsoft]
-
Google Cloud Storage allows world-wide storage and retrieval of any amount of data at any time [Google]
Most common services
Azure App Services
The easiest way to host any web application
Azure AppService
- Runs on both Windows and Linux
- Can run .NET, Java, Python, Node.js, PHP and Ruby natively
- Can run Docker containers
- Easy to scale
- Can run multiple apps in one App Service Plan
- Can run background tasks (WebJobs)
- Can run MySQL out-of-the box
- Contains a free plan (using *.azurewebsites.net domain)
- Can run Functions (FaaS)
Azure Storage
The cheapest way to store data in the cloud
Azure Storage
- Can store blobs in different tiers (hot, cool, archive)
- Can store tables
- Has very simple queue implementation
- Can store file shares (Samba)
- Can host static website (with custom subdomain)
- Supports custom CORS rules
- Supports e2e encryption
Azure Database
The easiest way to host SQL Server or PostreSQL
Azure SQL
- Elastic pricing model - pay per databse, eDTU or vCPU
- Can be easily replicated
- Backups out-of-the box
- Point-in-time restore
- Auditing, threat detection
- Auto-tunning
- Transparent encryption
Other data-oriented services
- Azure Cosmos DB - noSQL, very fast database. Supports MongoDB, Cassandra, Gremlin APIs
- Azure Service Bus - enterprise data bus (Queues, Topics, Relays)
- Notification Hub - push notifications to Android, iOS
- Event Hub (message streaming)
- Azure Data Lake - (Spark, Hadoop, HDInsight, etc)
- Redis Cache
What about Docker?
Several ways to run Docker containers
- Azure AppService ($$$)
- Azure Virtual Machine(s) ($$)
- Azure Container Instances ($)
- Azure Kubernetes Services ($$)
- (Azure Container Registry)
Best Practices
Distribute resources into resource groups carefully
Also remember you won't be able to change name of the resource group or a resource
Try to connect services via Virtual Network only and Private Endpoints
Go Hybrid instead of on-prem when full cloud model is not possible
Use managed identites, keep credentials secure in Azure Key Vault
Use Azure Functions instead of deploying a custom worker
Design to scale horizontally
Monitor apps and services with Azure Monitor
Use one resource to host multiple services
Monitor usage, optimize cost, don't use Premium SSD ;)
Use Burstable Virtual Machines or Spot Virtual Machines if possible
Explore PaaS before you go with IaaS
Consider using ARM, Ansible or Terraform to automate deployments
Use Azure CLI or Azure Powershell to skip slow UI
Don't be afraid of Azure Kubernetes Services :)
Other services worth mentioning
- Azure Machine Learning
- Azure IoT
- Azure Blockchain Service
- Azure Cognitive Services
- Azure Stack
- Azure DevOps
Explore, be up to date
Zapraszam na Slacka - pomogę, wytłumaczę, wyjaśnię :)
Piątek, piąteczek, piątunio :)
deck
By Mateusz Turzyński
deck
- 459