it takes an ecosystem to build a production application by ross gardler
TRANSCRIPT
It takes an ecosystem to build a production application
Ross Gardler@rgardler
Docker, Docker, Docker• Containers have been around for many years
• Docker Inc. did not invent them•They created open source software to build and manage containers
• Docker makes containers easy• Even I can create and run them
• Docker is a container format and a set of tools• Docker CLI, Docker Engine, Docker Swarm, Docker Compose, Docker Machine and more…
Docker makes it Easy• Many people agree that:• Development is easier with Docker• Scaling is easier with Docker• Continuous Integration is easier with Docker• Testing is easier with Docker
• So just adopt Docker and life is easier, right?
• Applications don’t consist of a single container• How do we manage applications?
Docker is an Ecosystem• Docker make Containerization accessible
• It has spawned an Ecosystem
• This session is about why the Ecosystem is improtant
About Me
“A model where IT organizations and developers can work together to build, ship and run their applications anywhere.” https://blog.docker.com/2016/02/containers-as-a-service-caas/
Docker offers portability• Docker containers are portable• Orchestrate them with Docker Swarm, Kubernetes, Apache Mesos, DC/OS etc.• Run them on Azure, AWS, Google, Digital Ocean etc.
• But, what about applications consisting of many containers?
An orchestrator is not enough• Continuous Delivery• Resource Management• High Availability• Storage• Networking• Load Balancing• Service Discovery• Monitoring• … and more
What about everything else?• Continuous Delivery• Resource Management• High Availability• Storage• Networking• Load Balancing• Service Discovery• Monitoring• … and more
• Who’s going to configure it all?
• What about optimizing for the infrastructure of choice?
• Are you locking into a cloud provider because of your choice of orchestrator?
Building a Container Hosting Platform
Docker Engine
Host Machines
Infra. as Code
Container Services (1st party, 3rd party)
Windows Server Linux
On Premise Cloud
Container ToolingService Tooling • Not everything is open source software
• There is a limit to portability when it comes to electricity and CPUs
• How do you minimize the lock-in to specific hardware and software infrastructure
Azure Container Service:Maintaining Portability of Workloads
Containers
Azure VMs and VM Scale Sets
ARM Template
Container Services (1st party, 3rd party)
Windows Server Linux
Azure Stack Azure
Container ToolingService ToolingLayer Supported Technologies
Configuration as Code
ARM, Dockerfile, Docker Compose, Marathon.json
High Availability Azure, VM Scale Sets
Container orchestration
Docker Swarm, Chronos, Marathon, Apache Mesos
Continuous Integration
Jenkins, VSTS
Monitoring OMS, Statsd, Cadvisor, Datadog
Networking Docker Networking
Storage Docker volumes
??? ???
Here’s what you get…
Infrastructure Layer(Electricity, CPUs, Cables restrict portability)
Azure Container Service:Maintaining Portability of Workloads
Management Layer(Variety of solutions, some more portable than others)
Application Layer(Docker Containers promise portability)
Demo: ACS Deploymenthttp://portal.azure.com
Demo: Standard Docker Tooling
Contributing to the Ecosystem
Demo:Jenkins and ACS
Choice, flexibility, scalability
Swarm in Azure Container Service
Preview Demo: Windows Server Containers
Bringing it All Together
Azure SQL Database
Load Balancer
Containers in Swarm
Private Preview:Windows Server Containers on Azure Container Service
Self nominate at https://aka.ms/acswin
Bringing the Ecosystem to You
Demo:Monitoring solutions
Demo:Microscaling
Where will the ecosystem take you from here?
Docker Datacentre: Integrated, end-to-end platform for agile application development and managementEnables hybrid use cases Azure / On-premise
Private Preview:Windows Server Containers on Azure Container Service
Self nominate at https://aka.ms/acswin