Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ignite the Tour Paris: Running Docker containers on Azure: The ultimate overview

Pascal Naber
November 14, 2019
64

Ignite the Tour Paris: Running Docker containers on Azure: The ultimate overview

Pascal Naber

November 14, 2019
Tweet

More Decks by Pascal Naber

Transcript

  1. Azure Web App for Containers Azure Service Fabric (Mesh) Azure

    Batch Azure Red Hat OpenShift Azure Kubernetes Service (AKS) Azure Container Instances (ACI) Azure Container Registry (ACR) Run containers on Azure
  2. Azure Web App for Containers Azure Service Fabric (Mesh) Azure

    Batch Azure Red Hat OpenShift Azure Kubernetes Service (AKS) Azure Container Instances (ACI) Azure Container Registry (ACR) Run containers on Azure
  3. Azure Web App for Containers Azure Service Fabric (Mesh) Azure

    Batch Azure Red Hat OpenShift Azure Kubernetes Service (AKS) Azure Container Instances (ACI) Azure Container Registry (ACR) Run containers on Azure
  4. Think ahead. Act now. Azure Container Registry Private Container Image

    registry Based on Open Standard Helm Repo Geo replication ACR Tasks
  5. Development Source code Build Pipeline Docker Images Docker Registry CI

    pipeline (Build) CD pipeline (Release) Development Staging Production Tag: 1.1 Staging Production Tag: 1.1 Azure Tag: 1.1 Tag: 1.1
  6. Azure Web App for Containers Azure Service Fabric (Mesh) Azure

    Batch Azure Red Hat OpenShift Azure Kubernetes Service (AKS) Azure Container Instances (ACI) Azure Container Registry (ACR) Run containers on Azure
  7. Azure Web App for Containers Azure Service Fabric (Mesh) Azure

    Batch Azure Red Hat OpenShift Azure Kubernetes Service (AKS) Azure Container Instances (ACI) Azure Container Registry (ACR) Run containers on Azure
  8. Azure Web App for Containers Azure Service Fabric (Mesh) Azure

    Batch Azure Red Hat OpenShift Azure Kubernetes Service (AKS) Azure Container Registry (ACR) Run containers on Azure Azure Container Instances (ACI)
  9. Azure Container Instances (ACI) Pay for use Serverless containers Public

    or Private accessible For short lived workloads like Bursts Scheduled work From € 1.05 for 1 CPU with 1 GB for 24 hours To € 5.22 for 4 CPU with 14 GB for 24 hours
  10. Project Rome Backend process No UI Every hour, 5 minutes

    Backend process & Front end With public available UI Run Continuously Over SSL with authentication Regularly new releases No downtime Auto scaling v2: v1:
  11. Azure Container Instances (ACI) Pay for use Serverless containers Public

    or Private accessible 1 container instance only No High Availability No zero-downtime deployment No scale out Limited scale up No autoscaling No out of the box SSL support No cache for pulled containers Pay extra for Windows containers For short lived workloads like Bursts Scheduled work
  12. Think ahead. Act now. Azure Service Fabric (Mesh) Azure Batch

    Azure Red Hat OpenShift Azure Kubernetes Service (AKS) Azure Container Registry (ACR) Azure Container Instances (ACI) Run containers on Azure Azure Web App for Containers
  13. WebApp for Container Pay for Hostingplan as long as it

    exists Scale up Scale out Auto scaling Zero-downtime deployment SSL by default Authentication Identity Custom domains Hostingplan From € 3.59 for 1 CPU with 3.5 GB for 24 hours To € 14.37 for 4 CPU with 14 GB for 24 hours
  14. WebApp for Container – Zero-downtime deployment Deployment slots webapp staging

    Release Pipeline production 1. deploy 3. swap 2. ready? Container Registry https://myapp.azurewebsites.net https://myapp-staging.azurewebsites.net
  15. Think ahead. Act now. Project Rome Level 7 Firewall for

    all traffic Lots of containers Better density of our resources Make use of some CNCF projects - Mesh: Istio - Logging: Prometheus, Jaeger - Service discovery: CoreDNS - Messaging: NATS v3: v2: Backend process & Front end With public available UI Run Continuously Over SSL with authentication Regularly new releases No downtime Auto scaling
  16. Firewall Application Gateway & Firewall vnet App Service Environment Certificate

    DevOps Agent Azure Container Instances traffic AKS https://myapp.azurewebsites.net
  17. WebApp for Container Pay for Hostingplan as long as it

    exists Scale up Scale out Auto scaling Zero downtime deployment SSL by default Authentication Identity Custom domains Scaling out is slow No optimal use of resources No firewall possibility (yet) Limited logging possibilities No health check functionality (yet) Only support for port 80 & 443 Not suitable for lots of containers Not portable Cannot debug
  18. Azure Service Fabric (Mesh) Azure Batch Azure Red Hat OpenShift

    Azure Container Registry (ACR) Azure Container Instances (ACI) Azure Web App for Containers Run containers on Azure Azure Kubernetes Service (AKS)
  19. Kubernetes De facto standard container orchestrator Started by Google Since

    v1 Open Source by Large, rapidly growing ecosystem Declarative configuration
  20. Azure Kubernetes Service (AKS) Running containers at scale Scaling up

    & scaling out Autoscaling Zero downtime deployment High Availability Public & Private endpoints Health management Enormous ecosystem Portable SSL Support* Identity management* Keyvault integration*
  21. Azure Kubernetes Service (AKS) master master master worker worker worker

    AKS 100% managed by Microsoft IaaS managed by Microsoft € 0 € … (VM pricing)
  22. AKS + ACI AKS 100% managed by Microsoft 100% managed

    by Microsoft worker master master master
  23. AKS as the Silver bullet Kubernetes created an ecosystem of

    expandable standards but this still needs configuration. For example: • Deployments • Network Policies • Role Based Access Controls • Pod Security Policies • Pod Priority and more... Common integration points can be different across cloud providers • Authentication • Logging • Metrics • Storage
  24. Azure Kubernetes Service (AKS) Running containers at scale Scaling up

    & scaling out Autoscaling Zero downtime deployment High Availability Public & Private endpoints Health management Enormous ecosystem Portable SSL Support* Identity management* Keyvault integration* Authentication A lot of management for a couple of containers Steep learning curve Not all Azure functionality is mature (yet) • Network policies • Pod Security Policies No turnkey configuration
  25. Think ahead. Act now. Azure Batch Azure Kubernetes Service (AKS)

    Azure Container Registry (ACR) Azure Container Instances (ACI) Azure Web App for Containers Azure Red Hat OpenShift Run containers on Azure Azure Service Fabric (Mesh)
  26. Think ahead. Act now. Service Fabric Application platform providing rich

    programming models - Reliable services - Reliable actors - Reliable collections Service Fabric Resource Model Portable Run containers
  27. Think ahead. Act now. Service Fabric Mesh Serverless Seamless integration

    with Azure Deploy & scale in seconds High availability Per second billing Not Portable Container only Responsibility You Azure Application Deployment Hardware OS Patching Runtime upgrades Micro-billing Capacity planning Network & Storage
  28. Think ahead. Act now. container groups networks auto scale update

    policies volumes secrets ………. Atlas Serverless Container Platform Service Service Fabric Mesh Atlas ResourceProvider App service RP Azure functions RP ACI RP Future serverless multitenant Services App Package Functions definition App model Service Fabric Mesh - Evolution n AKS Virtual Nodes ACI API
  29. Think ahead. Act now. Specification for building cloud native applications

    Agnostic application model Codename: Hydra By Microsoft and Alibaba Cloud Announced 16 October 2019 Inspired by Service Fabric Resource Model https://openappmodel.io/
  30. Azure Service Fabric (Mesh) Azure Batch Azure Kubernetes Service (AKS)

    Azure Container Registry (ACR) Azure Container Instances (ACI) Azure Web App for Containers Run containers on Azure Azure Red Hat OpenShift
  31. Azure Red Hat OpenShift Based on, and extends Kubernetes No

    virtual machine operation or patching Enterprise minded Support from RedHat Build in: Small cluster - 1st year: 4.502,40 OpenShift Kubernetes (DIY) Container Registry Docker, Azure Container Registry Monitoring Prometheus Log aggregator EFK stack Certificate management cert-manager CI/CD Jenkins/Azure DevOps Authentication dex
  32. Azure Service Fabric (Mesh) Azure Kubernetes Service (AKS) Azure Container

    Registry (ACR) Azure Container Instances (ACI) Azure Web App for Containers Azure Red Hat OpenShift Run containers on Azure Azure Batch
  33. Azure Batch For large-scale parallel and high-performance computing (HPC) batch

    jobs Native imperative Batch Shipyard declarative yaml Task Task Task Compute node Compute node Compute node Azure Batch Job Pool Azure Storage https://github.com/Azure/batch-shipyard
  34. Azure Web App for Containers Azure Service Fabric (Mesh) Azure

    Batch Azure Red Hat OpenShift Azure Kubernetes Service (AKS) Azure Container Instances (ACI) Azure Container Registry (ACR) Run containers on Azure
  35. Think ahead. Act now. Pascal Naber Coding Azure Architect Xpirit

    Netherlands @pascalnaber http://pascalnaber.wordpress.com https://github.com/pascalnaber/ignitetourparis2019