Advertisement
Advertisement

More Related Content

Similar to Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VSTS und Azure Container Services(20)

Advertisement

More from Marc Müller(20)

Advertisement

Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VSTS und Azure Container Services

  1. @ExpertsLiveCH #ExpertsLive Automatisierte Docker Release Pipeline mit VSTS und ACS Marc Müller 4tecture GmbH, Principal Consultant, MVP @muellermarc, www.4tecture.ch
  2. Marc Müller Principal Consultant, 4tecture MVP Visual Studio ALM Dozent FH
  3. Agenda Intro ASP.NET Core & Docker (Demo Beispiel) Docker Hosting Docker CI / CD Build Azure Container Services
  4. Intro
  5. Microsoft
  6. I like …but I‘m a Microsoft Fan-Boy
  7. Docker? https://twitter.com/dberkholz/status/689211852157407233
  8. 100 Deployments pro Tag!
  9. Monolithische Architektur Orders Products DAL Order Data Product Data BL Order Logic Product Search Product Logic UI Admin UI
  10. API Gateway / Proxy Order Service Orders Order Data Order Logic Customer UI Admin UI Product Search Service Products Product Data Product Search Product Service Products Product Data Product Search MessageQueue Micro-Service Architektur
  11. ASP.NET Core & Docker
  12. Server Host OS Hypervisor Server Host OS Docker Engine Guest OS Guest OS Guest OS Bins/Libs Bins/Libs Bins/Libs App A App A’ App B Bins/Libs Bins/Libs AppA AppA’ AppB AppB’ AppB AppB’ AppB AppB’ Containers are isolated, but share OS and, where appropriate, bins/librariesBins/Libs Image Source: https://sec.ch9.ms/sessions/build/2016/B822.pptx
  13. Docker Layers simpledockerdemo.Web microsoft/aspnet microsoft/dotnet buildpack-deps:jessie-scm buildpack-deps:jessie-curl debian:jessie
  14. Docker Hosting
  15. Developer PC / Laptop Environments - Development Docker Engine Container Container Container
  16. Environments – Hosting / Cloud
  17. Cloud Management App1 App2
  18. Vorteile von Containern ▪ Schnelles Deployment ▪ Schneller Start ▪ Einfaches Scaling und Partitioning ▪ Isolierter, versionierter, wiederverwendbarer Code (Artefakt / Konfigurationselement) Klare Abgrenzung zwischen Entwicklung und Betrieb ▪ Entwicklung  kümmert sich um den Inhalt des Containers ▪ Betrieb  kümmert sich darum, wie der Container verwendet wird
  19. Docker CI / CD Build
  20. Docker CI / CD VSTS Build VSTS Release Management Docker Registry Build App Test Build Container Repo Container Info Publish to Target Host Container Info Push Host Pull Config Artifact
  21. VSTS / TFS Build Agent VSTS Build Agent Build Pool Build Pool Build Pool Build Definition Build Definition Build Queue Docker Engine Build Agent
  22. Custom Docker Build Agent
  23. Docker Registry
  24. Setup in Azure Portal
  25. Docker Registry API Image Source: https://docs.docker.com/registry/spec/api/
  26. Docker Registry API - Samples List Repositories: /v2/_catalog List Tags: /v2/<repository>/tags/list
  27. Azure Container Registry und Docker ▪ Login to your private registry docker login <registry> -u username -p password ▪ Pull the desired image docker pull <registry>/<repository>:<tag> ▪ Run the container docker run…
  28. Azure Container Services
  29. Build/CI, Integrate, Test 3. 1. Containerized Workflow Monitor and Diagnose Outer-Loop Push Code Production environments Run, Manage 5. 6. Container Service Service Fabric Batch App Services Coming soon … … Code Run Validate Debug Inner-Loop CD, Deploy 4. Visual Studio Team Services Source Code Control (SCC) 2. Azure Container Registry Image Source: https://sec.ch9.ms/sessions/69613110-c334-4f25-bb36-08e5a93456b5/206BuildDebugDeployASPNETCorewithDocker.pptx
  30. Azure Container Service ACS = ARM Templates 3 Varianten ■DC/OS with Marathon ■Docker Swarm ■Kubernetes Image Source: https://docs.microsoft.com/en-us/azure/container-service/container-service-intro
  31. Simplified ACS DCOS Setup VSTS Azure Resource Group DCOS Master DCOS Master DCOS Master DCOS Master DCOS Master Public Agent DCOS Master DCOS Master Private Agent Marathon-LB VSTS Agent App1 App1 App1 App1 App1 App2 Git Build Release Internet AzureLoadBalancer
  32. Load Balancer Settings for Services
  33. Load Balancer Settings for Services
  34. Use Environment Variables
  35. Zusammenfassung
  36. Zusammenfassung ▪ Micro-Service Architektur Reduktion der Komplexität, einfacher und schnellere Deployments ▪ Automatisierung der Build- und Release-Prozesse ▪ Isolation der Services als Container ▪ Isolation der Build Umgebung (Agent) ▪ Load Balancing mittels Service Discovery
  37. Besten Dank für Ihre Aufmerksamkeit Für allfällige Fragen stehen wir Ihnen jederzeit gerne zur Verfügung: 4tecture GmbH Marc Müller Aathalstrasse 84 Principal Consultant CH-8610 Uster +41 44 508 37 00 marc.mueller@4tecture.ch info@4tecture.ch @muellermarc www.4tecture.ch
Advertisement