Docker and Containers in the Cloud

Post on 17-Jan-2017

524 views 2 download

transcript

Containers in the CloudAnthony Shaw, Apache LibCloud PMC

Overview of the LibCloud project

Python library, supports 2.6+, 3.2+ Formed in 2009 Graduated to Apache TLP in May 2011 200k+ downloads a month on PyPi 162 contributors

LibCloud is an open-source library providing a single interface to communicate with multiple clouds, public or private. Supports IaaS, LBaaS, DNS, Storage and Containers.

Test

Deploy

Monitor

Protection against market shifts

[1] http://smallbiztrends.com/2015/10/hp-helion-public-cloud-closing.html6 months later..

This HP Helion REST API is amazing! I’m going to automate all the things…

“HP Will Shut Down Its Helion Public Cloud on Jan. 31”[1]

Mix and match

Compute Storage DNS

Application workload

To take full advantage of the LibCloud ecosystem, deploy your application across multiple providers, choose the best platform(s) for the job.

Compute DNS Storage Load Balancer

Other ways of consuming LibCloudOrchestration Tools Management UIs

Development Tooling

Deploy

Deploy

Deploy

Integrate

Isn’t Docker a standard?Well, yes and no.

Docker has been the main technology

But, Docker is not a provisioning system.

Also there are alternatives, like CoreOS Rkt.

Why would we need a container API?

Deploy

Promote

Monitor

Pull

Comparison of Docker hosts

Docker

Hosted as-a-service

Direct Docker access

Container Monitoring

Scheduler

Dependency graphs

Auto-scaling

Joyent Triton

Hosted as-a-service

Direct Docker access

Container Monitoring

Scheduler

Dependency graphs

Auto-scaling

Kubernetes

Hosted as-a-service

Direct Docker access

Container Monitoring

Scheduler

Dependency graphs

Auto-scaling

GKE

Hosted as-a-service

Direct Docker access

Container Monitoring

Scheduler

Dependency graphs

Auto-scaling

Amazon ECS

Hosted as-a-service

Direct Docker access

Container Monitoring

Scheduler

Dependency graphs

Auto-scaling

Questions to ask before you jump1. Do you REALLY care about

networking?2. Are you bridging applications between

VMs, physical and containers?3. Are you building a dependency graph?

Things to note about Containers The Docker API changes frequently, call it directly with caution. These systems are not that stable, plan around remediation. Cloud orchestration from within the scheduler is (generally) a

bad idea. Traditional monitoring tools are not as relevant. Don’t tie yourself to direct Docker access, it’s not available in all

clouds. Keep agnostic, things are changing all the time.

People to follow Bryan Cantrill at Joyent @bcantrill (https://

www.joyent.com/blog/unikernels-are-unfit-for-production)

Brendan Burns at Google @brendandburns (wrote ‘most’ of Kubernetes)

Brandon Phillips CTO at CoreOS @BrandonPhilips Nigel Poulton – Evangelist @nigelpoulton

About me

@anthonypjshaw

@tonybaloney

anthonyshaw@apache.org

Based in Sydney, Australia

Head of Innovation for Dimension Data