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.

The container ecosystem @ Microsoft A story of developer productivity

82 views

Published on

Presentation delivered at global integration bootcamp - 24th of March 2018.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

The container ecosystem @ Microsoft A story of developer productivity

  1. 1. Industry analysts agree “By 2020, more than 50% of enterprises will run mission-critical, containerized cloud-native applications in production, up from less than 5% today.”
  2. 2. 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
  3. 3. Multiplicityof Goods Multipilicityof methodsfor transporting/storing DoIworryabout howgoodsinteract (e.g.coffeebeans nexttospices) CanItransport quicklyandsmoothly (e.g.fromboatto traintotruck) An Inspiration: Cargo Transport Pre-1960
  4. 4. 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.
  5. 5. 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
  6. 6. 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 2017: Distributed Applications Multiplicityof Stacks Multiplicityof hardware environments Production Cluster Customer Data Center Doservicesand appsinteract appropriately? CanImigrate smoothlyand quickly?
  7. 7. 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…
  8. 8. App A Comparison: Containers vs. VMs Hypervisor Host OS Server Guest OS Bins/ Libs App A’ Guest OS Bins/ Libs App B Guest OS Bins/ Libs AppA’ Host OS Server Bins/Libs AppA Bins/Libs AppB AppB’ AppB’ AppB’ VM Container Containers are isolated, but share OS kernel and, where appropriate, bins/libraries Guest OS Guest OS …result is significantly faster deployment, much less overhead, easier migration, faster restart
  9. 9. 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
  10. 10. 1. Code Run Validate Debug Inner-Loop
  11. 11. Visual Studio Docker Tools aka.ms/DockerToolsForVS
  12. 12. Build/CI, Integrate, Test 3. CD, Deploy 4. Source Code Control (SCC) 2. Azure Container Registry
  13. 13. 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
  14. 14. 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
  15. 15. Azure Container Registry Manage images for all types of containers One registry across multiple regions Keep container images close Use Native Docker CLI tools
  16. 16. Production environments Run, Manage 5. Container Service Service Fabric Container Instance Azure Batch Partner solutions Docker EE App Services
  17. 17. Azure Container offerings Container Service – Container hosting environment optimized for Azure that lets you deploy, scale, and orchestrate container-based applications using containers using Kubernetes, DC/OS or Docker Swarm. Container Instance – Easily run containers with a single command. No container orchestration tools to learn—just an application, in a container, running in the cloud. Container Registry – Store and manage container images across all types of Azure deployments Web App for Containers – Deploy web applications on App Service using Linux containers. Service Fabric – Develop microservices and orchestrate containers on Windows or Linux. Docker EE – Build, ship and run business critical applications in production at scale.
  18. 18. • • • • • • •
  19. 19. • • • • • •
  20. 20. 6. Azure Monitoring
  21. 21. Rewrite • Re-implement using container- and cloud-optimized framework (e.g. ASP.NET Core) • Lots of work • Option to change architecture Lift and shift • Migrate existing VMs to container • Extract essentials from VM image • Benefit from sharing resources at kernel Containerize • Host existing app in Docker image • Deploy app in image • Applies mostly to ASP.NET and WCF services • Some rework required
  22. 22.  Convert WIM/VHD to Dockerfile  Written in PowerShell  Open Source Discover •Find Installed Programs •Show Roles & Features •IIS Sites & Configurations •Common applications •SQL, Apache Generate •Dockerfile https://github.com/docker/communitytools-image2docker-win
  23. 23. https://aka.ms/containersebook https://aka.ms/dockerlifecycleebook https://aka.ms/MicroservicesEbook https://aka.ms/liftandshiftwithcontainersebook
  24. 24. 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

×