it takes an ecosystem to build a production application by ross gardler

28
It takes an ecosystem to build a production application Ross Gardler @rgardler

Upload: docker-inc

Post on 17-Feb-2017

3.300 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: It Takes an Ecosystem to Build a Production Application by Ross Gardler

It takes an ecosystem to build a production application

Ross Gardler@rgardler

Page 2: It Takes an Ecosystem to Build a Production Application by Ross Gardler

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…

Page 3: It Takes an Ecosystem to Build a Production Application by Ross Gardler

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?

Page 4: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Docker is an Ecosystem• Docker make Containerization accessible

• It has spawned an Ecosystem

• This session is about why the Ecosystem is improtant

Page 5: It Takes an Ecosystem to Build a Production Application by Ross Gardler

About Me

Page 6: It Takes an Ecosystem to Build a Production Application by Ross Gardler

“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/

Page 7: It Takes an Ecosystem to Build a Production Application by Ross Gardler

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?

Page 8: It Takes an Ecosystem to Build a Production Application by Ross Gardler

An orchestrator is not enough• Continuous Delivery• Resource Management• High Availability• Storage• Networking• Load Balancing• Service Discovery• Monitoring• … and more

Page 9: It Takes an Ecosystem to Build a Production Application by Ross Gardler

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?

Page 10: It Takes an Ecosystem to Build a Production Application by Ross Gardler

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

Page 11: It Takes an Ecosystem to Build a Production Application by Ross Gardler

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

??? ???

Page 12: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Here’s what you get…

Page 13: It Takes an Ecosystem to Build a Production Application by Ross Gardler

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)

Page 14: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Demo: ACS Deploymenthttp://portal.azure.com

Page 15: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Demo: Standard Docker Tooling

Page 16: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Contributing to the Ecosystem

Page 17: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Demo:Jenkins and ACS

Page 18: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Choice, flexibility, scalability

Page 19: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Swarm in Azure Container Service

Page 20: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Preview Demo: Windows Server Containers

Page 21: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Bringing it All Together

Azure SQL Database

Load Balancer

Containers in Swarm

Page 22: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Private Preview:Windows Server Containers on Azure Container Service

Self nominate at https://aka.ms/acswin

Page 23: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Bringing the Ecosystem to You

Page 24: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Demo:Monitoring solutions

Page 25: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Demo:Microscaling

Page 26: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Where will the ecosystem take you from here?

Page 27: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Docker Datacentre: Integrated, end-to-end platform for agile application development and managementEnables hybrid use cases Azure / On-premise

Page 28: It Takes an Ecosystem to Build a Production Application by Ross Gardler

Private Preview:Windows Server Containers on Azure Container Service

Self nominate at https://aka.ms/acswin