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 * 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 :)


By Mateusz Turzyński

Loading comments...

More from Mateusz Turzyński