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.

Making sense of containers, docker and Kubernetes on Azure.

236 views

Published on

A presentation for the Belgian Azure User Group (AZUG) on June 26 2018.
Topics:
- Containers
- Docker
- Kubernetes

Sources: https://github.com/NillsF/Azug-Container-Session/

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Making sense of containers, docker and Kubernetes on Azure.

  1. 1. Azug Welcome!
  2. 2. New events coming www.cloudbrew.be 12 – 13 october 2018 Mechelen
  3. 3. Thanks for being here and enjoy the show! Survey will be mailed, please fill it in!
  4. 4. Twitter • @gabrtv • @brendandburns • @kelseyhightower • @jbeda • @NillsF Podcasts • Hansdelminutes • The Azure Podcast • Datanauts • PodCTL • (via the Overcast app) E-learning • LFS158x • AKS Quickstart (azure docs) • CKA(D) learning path • Kubernetes the hard way
  5. 5. Build/CI, Integrate, Test 3. 1. Outer-Loop Push code Production environments Run, Manage 5. Container Service Service Fabric Container Instance Azure Batch Partner solutions Docker EE Code Run Validate Debug Inner-Loop CD, Deploy 4. Source Code Control (SCC) 2. App Services 6. Azure Container Registry Azure Monitoring
  6. 6. 1. Code Run Validate Debug Inner-Loop
  7. 7. Static website Web frontend User DB Queu e Analytics DB Background workers API endpoint nginx 1.5 + modsecurity + openssl + bootstrap 2 postgresql + pgv8 + v8 hadoop + hive + thrift + OpenJDK Ruby + Rails + sass + Unicorn Redis + redis-sentinel Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs + phantomjs Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client Development VM QA server Public Cloud Disaster recovery Contributor’s laptop Production Servers The Problem in 2018: Distributed Applications Multiplicityof Stacks Multiplicityof hardware environments Production Cluster Customer Data Center Doservicesand appsinteract appropriately? CanImigrate smoothlyand quickly?
  8. 8. The Matrix From Hell Static website Web frontend Background workers User DB Analytics DB Queue Developme nt VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributor’ s laptop Customer Servers ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  9. 9. Multiplicityof Goods Multipilicityof methodsfor transporting/storin g DoIworryabout howgoodsinteract (e.g.coffeebeans nexttospices) CanItransport quicklyandsmoothly (e.g.fromboatto traintotruck) An Inspiration: Cargo Transport Pre-1960
  10. 10. Multiplicityof Goods Multiplicityof methodsfor transporting/storing DoIworryabout howgoodsinteract (e.g.coffeebeans nexttospices) CanItransport quicklyand smoothly (e.g.fromboatto traintotruck) Solution: Intermodal Shipping Container Ecosystem …in between, can be loaded and unloaded, stacked, transported efficiently over long distances, and transferred from one mode of transport to another A standard container that is loaded with virtually any goods, and stays sealed until it reaches final delivery.
  11. 11. The Intermodal Shipping Container Ecosystem • 90% of all cargo now shipped in a standard container • Order of magnitude reduction in cost and time to load and unload ships • Massive reduction in losses due to theft or damage • Huge reduction in freight cost as percent of final goods (from >25% to <3%) • massive globalization • 5000 ships deliver 200M containers per year
  12. 12. Static website Web frontend User DB Queu e Analytics DB Development VM QA server Public Cloud Contributor’s laptop Let’s create an ecosystem for distributed applications Multiplicityof Stacks Multiplicityof hardware environments Production ClusterCustomer Data Center Doservicesand appsinteract appropriately? CanImigrate smoothlyand quickly …that can be manipulated using standard operations and run consistently on virtually any hardware platform An engine that enables any payload to be encapsulated as a lightweight, portable, self-sufficient container…
  13. 13. Static website Web frontend Background workers User DB Analytics DB Queue Developme nt VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributor’ s laptop Customer Servers And eliminate the matrix from Hell
  14. 14. Build/CI, Integrate, Test 3. Push code CD, Deploy 4. Source Code Control (SCC) 2. Azure Container Registry
  15. 15. TFS Develop Developer Workstation Team Collaboration Build&Test Build/CI Test Deploy Release Monitor&Learn Monitor Microsoft Ecosystem Workstations - On-Premises| Hybrid | Cloud Monitoring- On-Premises | Hybrid | CloudALMServices - On-Premises| Hybrid | Cloud DEV TEST QA Environments - On-Premises| Hybrid | Cloud
  16. 16. Develop Developer Workstation Team Collaboration Build&Test Build/CI Test Deploy Configuration Monitor&Learn Monitor This graphic shows OSS and partner products that are integrated with the Microsoft DevOps solution Mixed Ecosystem Release
  17. 17. Manage images for all types of containers One registry across multiple regions Keep container images close Use Native Docker CLI tools
  18. 18. Outer-Loop Production environments Run, Manage 5. Container Service Service Fabric Container Instance Azure Batch Partner solutions Docker EE App Services
  19. 19. The elements of orchestration Scheduling Affinity/anti- affinity Health monitoring Failover Scaling Networking Service discovery Coordinated app upgrades
  20. 20. Kubernetes: the de-facto orchestrator Portable Public, private, hybrid, multi-cloud Extensible Modular, pluggable, hookable, composable Self-healing Auto-placement, auto-restart, auto-replication, auto-scaling
  21. 21. Kubernetes: empowering you to do more Deploy your applications quickly and predictably Scale your applications on the fly Roll out new features seamlessly Limit hardware usage to required resources only
  22. 22. Kubeternes Nodes Kubelet Pods
  23. 23. Deployment Service ServiceDeployment
  24. 24. Azure container strategy Embrace containers as ubiquitous Support containers across the compute portfolio Democratize container technology
  25. 25. Azure container ecosystem 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 Container Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  26. 26. Azure Container Service (AKS) Simplify the deployment, management, and operations of Kubernetes Work how you want with open- source APIs Scale and run applications with confidence Focus on your containers not the infrastructure Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  27. 27. Azure Container Service (AKS) A fully managed Kubernetes cluster Managed Azure infrastructure services Docker Kubernetes • Managed control pane • Automated upgrades, patches • Easy cluster scaling • Self-healing • Cost savingsApplication architect Infrastructure architect Applications Operations Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  28. 28. Azure Container Service (AKS) Get started easily $ az aks create $ az aks install-cli $ az aks get-credentials $ kubectl get nodes Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  29. 29. Azure Container Service (AKS) Manage an AKS cluster $ az aks list $ az aks upgrade $ kubectl get nodes $ az aks scale Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  30. 30. Azure Container Service (AKS) Create an AKS cluster via the Azure portal Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  31. 31. Azure Container Service (AKS) Azure Container Service Engine Enables custom deployments Available on GitHub A proving ground for new features Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  32. 32. Azure Container Service (AKS) Resources Container Orchestration Simplified with AKS Kubernetes Support in Azure Container Services • Azure Container Service (AKS) webpage • AKS videos • AKS technical documentation • AKS pricing details • AKS roadmap • Azure Container Service Engine: Github Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  33. 33. Azure Container Instances (ACI) Easily run containers on Azure with a single command Cloud-scale container capacity Hyper-visor isolation Start using containers right away Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  34. 34. Bursting with the ACI Connector Kubernetes control pane Application architect Infrastructure architect Azure Container Instances (ACI) ACI Connector Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod VM VM VM VM Deployment/ tasks Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Azure Container Instances (ACI)Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools WasteWaste WasteWaste PodPod PodPod
  35. 35. Azure Container Registry Manage a Docker private registry as a first-class Azure resource Use familiar, open- source Docker CLI tools Azure Container Registry geo-replication Manage images for all types of containers Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  36. 36. Open Service Broker for Azure (OSBA) An implementation of the Open Service Broker API OpenShift Cloud Foundry Service Fabric (Coming soon) Kubernetes (AKS) Azure SQL Database Redis Cache CosmosDB And more! Open Service Broker for Azure (OSBA) Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  37. 37. Draft Simple app development and deployment – into any Kubernetes cluster Simplified development Using two simple commands, developers can now begin hacking on container-based applications without requiring Docker or even installing Kubernetes themselves Language support Draft detects which language your app is written in, and then uses packs to generate a Dockerfile and Helm Chart with the best practices for that language Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  38. 38. Helm The best way to find, share, and use software built for Kubernetes Manage complexity Charts can describe complex apps; provide repeatable app installs, and serve as a single point of authority Easy updates Take the pain out of updates with in- place upgrades and custom hooks Simple sharing Charts are easy to version, share, and host on public or private servers Rollbacks Use helm rollout to roll back to an older version of a release with ease Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  39. 39. 6. Azure Monitoring
  40. 40. Orders API Pod Orders Processor Pod Azure Service Bus
  41. 41. Orders API Pod Orders Processor Pod Azure Service Bus Azure Monitor Horizontal Pod Autoscaler Prometheus
  42. 42. Orders API Pod Orders Processor Pod Azure Service Bus Azure Monitor Horizontal Pod Autoscaler Prometheus Promitor
  43. 43. Introducing Promitor Alpha • Automatically scrapes Azure Monitor metrics • Provides scraping endpoint for Prometheus • Easy to declare metrics to scrape via YAML & APIs • Easily deployable via Docker & Kubernetes • Built-in support for a variety of Azure services • Currently supports Azure Service Bus Queues, more on the way • Open-Source on GitHub: https://github.com/tomkerkhove/promitor • Documentation on promitor.io

×