Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Azure Saturday: Navigating in the sea of Containers in Azure: when to choose which service and why?

117 views

Published on

Slides from my presentation at Azure Saturday on 26.5.2018 in Munich.

There’s a plethora of Container-related services available in Azure: Azure Container Instance, Azure Container Service, managed Kubernetes and managed container registry to name a few. It can be hard to get your head around all of them, especially if you come from Microsoft background as I did.

I will cover the most useful container and container orchestration related services in this talk, explain their differences and help you figure out which scenarios they fit best.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Azure Saturday: Navigating in the sea of Containers in Azure: when to choose which service and why?

  1. 1. 1 Azure Saturday 2018 Navigating in the sea of Containers in Azure: when to choose which service and why? Karl Ots| Kompozure
  2. 2. 2 Azure Saturday 2018 Thank you, sponsors!
  3. 3. CONTAINERS IN AZURE AZURE SATURDAY 26.5.2018
  4. 4. KARL OTS @ KOMPOZURE • Co-organizer of Finland Azure User Group and IglooConf • Podcast host at Cloud Gossip • Working on Azure since 2011 • Patented inventor • Worked with tens of different customers on full-scale Azure projects, from startups to Fortune 500 enterprises Managing Consultant karl.ots@kompozure.com +358 50 480 1102
  5. 5. AGENDA • Container & Orchestration 101 • Containers in Azure • Tooling • Roadmap
  6. 6. HISTORY • Brendan Burns joined Microsoft in 2016 • Gabe Monroy joined Microsoft in 2017 (Deis acquisition) • Major focus on supporting open source in the cloud
  7. 7. WHAT IS A CONTAINER? Containers = operating system virtualization OS Kernel Applications Container Container Container Hardware Virtual machines = hardware virtualization Hardware OS Application VM VM VM App OS App OS App OS
  8. 8. WHY CONTAINERS? • Fast o VM startup usually takes a few minutes o Containers start in seconds • Small o Union filesystem makes individual container images small o Small containers mean high hardware utilization • Immutable and portable o Dependencies are guaranteed to be present wherever the container runs o No more “works on my machine” fights between dev and ops
  9. 9. CONTAINER ORCHESTRATION • Creating a single container or even composing an application with 4 or 5 containers is easy • When you get to production, your container workloads can have 10’s or hundreds of container images, scaling to thousands of running containers • Orchestrator takes your containers and deploys them within a cluster of virtual machines, then monitor their health as they run, load balancing them as required. • Historically orchestrators have been a pretty big pain to set up
  10. 10. CONTAINER ORCHESTRATOR FEATURES
  11. 11. Embrace containers as ubiquitous Support containers across the compute portfolio Democratize container technology AZURE CONTAINER STRATEGY
  12. 12. IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service AZURE CONTAINER ECOSYSTEM
  13. 13. CONTAINERS IN AZURE • Azure Container Instance o Create a container from an Azure image without worrying about virtual machines underneath • Azure Container Registry o Store your Docker images in a private registry as a service • Azure Container Service o Create DC/OS, Swarm or Kubernetes cluster in Azure
  14. 14. AZURE CONTAINER INSTANCES (ACI) $ az container create --resource-group myResourceGroup --name mycontainer --image microsoft/aci-helloworld --cpu 1 --memory 1 --ip- address public --ports 80 "ipAddress": { "ip": "52.168.86.133", "ports": [...] }, "location": "westeurope", "name": "mycontainer", "osType": "Linux", "provisioningState": "Succeeded",
  15. 15. DEMO AZURE CONTAINER INSTANCES
  16. 16. IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service AZURE CONTAINER ECOSYSTEM
  17. 17. AZURE CONTAINER SERVICE • Azure Container Service • Azure Container Service Engine
  18. 18. AZURE KUBERNETES SERVICE IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service Azure Kubernetes Service (AKS) ACS Engine
  19. 19. AZURE KUBERNETES SERVICE A fully managed Kubernetes cluster Managed Azure infrastructure services Docker Kubernetes Managed Kubernetes control pane Application architect Infrastructure architect Applications Operations
  20. 20. AZURE KUBERNETES SERVICE • Kubernetes control plane as a service o Master nodes managed by Microsoft o Automatic upgrades o Self-healing Masters o Easy Cluster scaling o Etcd SSD-backed with HA and backup/restore support • Standard upstream Kuberenetes
  21. 21. AZURE KUBERNETES SERVICE • $ az aks create -g myResourceGroup -n myCluster --generate-ssh-keys o -c == count of nodes / agents ▪ Default 3, minimum 1 o -k == kubernets version you want o -s == node vm size (default standard ds1_v2) o --ssh-key-value my public key • $ az aks get-credentials -g myResourceGroup -n myCluster o Retrieves kubeconfig info from cluster and appends into current local kubeconfig • $ kubectl get nodes NAME STATUS AGE VERSION aks-mycluster-36851231-0 Ready 4m v1.9.6 aks-mycluster-36851231-1 Ready 4m v1.9.6 aks-mycluster-36851231-2 Ready 4m v1.9.6
  22. 22. DEMO AZURE KUBERNETES SERVICE
  23. 23. 51.137.111.125
  24. 24. AZURE KUBERNETES SERVICE • $ az aks upgrade -g myResourceGroup -n myCluster –-kubernetes-version 1.8.1 Running .. • $ az aks scale -g myResourceGroup -n myCluster --agent-count 10 Running .. • $ az aks browse -g myResourceGroup -n myCluster Show Kubernetes cluster dashboard in a web browser.
  25. 25. DEVOPS WITH CONTAINERS
  26. 26. TOOLS • az cli • shell.azure.com • VSCode • VSCode extensions: o vs-kubernetes o vs-helm • XMING + Bash on Windows Subsystem for Linux
  27. 27. TOOLS, CONTINUED • Draft for containment and service composition • Helm for application deployment and package management • Brigade for automating critical developer and operations tasks • Kashti: Visualization dashboard for Brigade
  28. 28. “SERVERLESS” KUBERNETES?
  29. 29. RESOURCES • Play with Docker o https://training.play-with-docker.com/ • Azure Container Service documentation o https://github.com/Azure/acs-engine/blob/master/docs/kubernetes.md • Azure Kubernetes Service Commands o https://docs.microsoft.com/en-us/cli/azure/aks?view=azure-cli-latest • Using ACI with Kubernetes o https://azure.microsoft.com/en-gb/resources/videos/using-kubernetes-with-azure- container-instances/ • All things Microsoft and Open Source o https://open.microsoft.com/ • Podcast: Brendan Burns and Gabe Monroy on Impact and Future of Kubernetes (KubeCon + CloudNativeCon 2017) o https://changelog.com/podcast/282
  30. 30. BUILD ANNOUNCEMENTS • Managed Red Hat OpenShift as a service • App Service multi-container Deployment • App Service Windows container support • ACI GA • AKS renaming
  31. 31. BUILD SESSIONS • BRK2120 Getting started with containers on Azure • BRK3809 Iteratively Develop Microservices with Speed on Kubernetes • BRK2129 PaaS and Container Innovation – What’s new with App Service • BRK2125 Why Kubernetes on Azure
  32. 32. SLIDES SLIDESHARE.NET/KARLOTS
  33. 33. KOMPOZURE WE ROAR AT CHALLENGE
  34. 34. 37 Azure Saturday 2018 Azure Saturday 2018 We appreciate your feedback!
  35. 35. DEVOPS WITH CONTAINERS •Developer makes changes to code •Developer checks in code to source control Code •Build Dockerfile •Push to Azure Container Registry Build Management •Pull Dockerfile from Container Registry •Update Kubernetes deployment Release Management

×