21
Container Platforms and PaaS Overview Ann Wallace @randombug Matt Johnson @mattdashj February, 2016 Cisco Cloud Innovation Team

Choosing PaaS: Cisco and Open Source Options: an overview

Embed Size (px)

Citation preview

Page 1: Choosing PaaS:  Cisco and Open Source Options: an overview

Container Platforms and PaaS Overview

• Ann Wallace @randombugMatt Johnson @mattdashj

• February, 2016• Cisco Cloud Innovation Team

Page 2: Choosing PaaS:  Cisco and Open Source Options: an overview

Context

Containers

Page 3: Choosing PaaS:  Cisco and Open Source Options: an overview

• A wonderful packaging & portability layer for applications.

Containers..

Container

Your code

Your startup scripts

Code Dependencies

Should deploy with exactly the same behavior on any Host/VM that can run containers.

NB: Containers != Microservices

Page 4: Choosing PaaS:  Cisco and Open Source Options: an overview

• Supporting technologies.

Containers..

Container

Docker

Engine

Alternatives to docker engine here: Rkt (rocket)

Linux Kernel Technologies: LXC / CGroups / ‘Namespaces’

Single Host /

VM

LXC/CGroups existed before anyone cared.

Docker just made using these tools easier for the

masses and adoption followed.

UX important in this ecosystem.

They use CGroups (Linux kernel feature) to do this.

You’ll also hear ‘LXC’ used to refer to this tech.

Containers ‘WORK’ by hiding themselves

from other processes / containers on the

same VM/Host without the need for VM’s.

Page 5: Choosing PaaS:  Cisco and Open Source Options: an overview

• Moving beyond single host.• Containers aren't too great if they never leave the developer’s mac..

• Or if you have to manage them like this...

Containers ..

Container

Docker

Engine

Linux Kernel

Host / VM 1 Host / VM 2 Host / VM 3

Linux KernelLinux Kernel

Docker

Engine

Docker

Engine

ContainerContainer$ssh host1

host1# docker run container

$ssh host2

host2# docker run container

$ssh host3

host3# docker run container

Page 6: Choosing PaaS:  Cisco and Open Source Options: an overview

• Create a pool of resource for throwing containers at

Containers + Schedulers ..

Container

Linux Kernel

Host / VM 1 Host / VM 2 Host / VM 3

Linux KernelLinux Kernel

Docker Engine

ContainerContainer

Scheduler API (HTTP POST):

Run three instances of my

container.

Docker Engine Docker Engine

Container Scheduler (Distributed, Clustered)API for

Developers

Linux Kernel

Host / VM 4

Scheduler

State DB

Docker Engine

Page 7: Choosing PaaS:  Cisco and Open Source Options: an overview

• Getting to production

• We need supporting players

Containers + Schedulers ..

Container

Linux Kernel

Host / VM 1 Host / VM 2 Host / VM 3

Linux KernelLinux Kernel

Docker Engine

ContainerContainer

Docker Engine Docker Engine

Container Scheduler (Distributed, Clustered) API

Linux Kernel

Host / VM 4

DB

Docker Engine

Deployment / Provisioning. IaaS/VM’s

Deployment / Provisioning. Install & configure components

Monitoring & Statistics Gathering

Log & Metrics

collection & Visibility - Automation

- Deployment

- Configuration

- Health

- Assurance

- Logs

- Audit

Page 8: Choosing PaaS:  Cisco and Open Source Options: an overview

• Commonly implemented tools..

Containers + Schedulers + Production Tooling

Container

Linux Kernel

Host / VM 1 Host / VM 2 Host / VM 3

Linux KernelLinux Kernel

Docker Engine

ContainerContainer

Docker Engine Docker Engine

Container Scheduler (Distributed, Clustered) API

Linux Kernel

Host / VM 4

DB

Docker Engine

Terraform – Provision & Configure VM’s in IaaS

Ansible, puppet, chef, configuration management for you VM’s

Sensu, Nagios, collectd, syslog, cadvisor (collect container stats)

ELK StackELK: Elasticsearch,

logstash and Kibana.

Three open source tools

that form a scalable

pipeline for taking,

processing, storing and

visualizing system / app

log data

Page 9: Choosing PaaS:  Cisco and Open Source Options: an overview

Containers + Schedulers + Production Tooling + Operators + Documentation = Container Stack

Container

Linux Kernel

Host / VM 1 Host / VM 2 Host / VM 3

Linux KernelLinux Kernel

Docker Engine

ContainerContainer

Docker Engine Docker Engine

Container Scheduler (Distributed, Clustered) API

Linux Kernel

Host / VM 4

DB

Docker Engine

Terraform – Provision & Configure VM’s in IaaS

Ansible, puppet, chef, configuration management for you VM’s

Sensu, Nagios, collectd, syslog, cadvisor (collect container stats)

ELK Stack

People (Ops) Documentation

A lot of the ‘DevOPS’

tooling/movement assumes

this stack is consumed ‘as a

Service’ from the cloud.

If you need containers on

prem and/or cross-cloud (with

zero lock in); you’ll likely need

an open container stack.

People (Ops)

Container Stack

DevOps (development teams)

Page 10: Choosing PaaS:  Cisco and Open Source Options: an overview

Context

PaaSAka. Containers != Microservices

Page 11: Choosing PaaS:  Cisco and Open Source Options: an overview

• PaaS consumed containers; before Containers were a ‘thing’*

PaaS

Container StackThrowing containers at a pool of resource via an API.Built-in Infrastrucure services.

Conversation lines blurring. Some “PaaS vs Container” conversations will get harder without context.

* Statement refers to “common understanding” and excludes veterans familiar with mainframe, Solaris zones and other container tech 10+ years ago

Developer UI’s + ‘Templates’

CI/CD Integration - Pipelines

Service IntegrationProviding a “developer experience”.Saving time, building pipelines, providing integrations.

Still ends up deploying the developers apps, in containers, down onto a container stack.

Service Discovery Integration

Page 12: Choosing PaaS:  Cisco and Open Source Options: an overview
Page 13: Choosing PaaS:  Cisco and Open Source Options: an overview

PaaS vs Containers

All custom components. uses Warden/Garden containers instead of docker containers for the container stack.

- ‘Microservices all the way’.- Code changes for goodies!- Service Integration API’s.- ”Mature”- HTTP / HTTPS Apps only.

‘PaaS’ becomes the ‘consumption’ interface on an orchestrated pool of resource.

That interface may perfectly solve your problems, or may prevent you carving your own path at the container layer (opinionated Platform)

Container stack gives you access to ‘Warden/Garden’ if you want it.

Can do more, less opinionated.Easier to shoot yourself in the foot without a ‘PaaS-Like’ frontend or process.

Page 14: Choosing PaaS:  Cisco and Open Source Options: an overview

Ecosystems moving closer

PaaS

Not a magic

Bullet

Containers

Not a magic

Bullet

More use

cases.

Shared

Resources

Rapid consumption of the strengths and services from each ecosystem. No ‘copy and paste’ re-work needed to support something in the other ecosystem.

Page 15: Choosing PaaS:  Cisco and Open Source Options: an overview

Vision.

More use

cases.

Shared

Resources

An open, transparent ‘Container Stack’.- Forms a foundation for a range of developer experience interfaces.- Supports integration with new and legacy services.- Doesn’t ignore Enterprise issues.

Page 16: Choosing PaaS:  Cisco and Open Source Options: an overview

Cisco’s answer to needing a container stack.

An end to end, cloud agnostic, highly extensible, integrated stack for running container workloads and big data. Including Deployment automation, security, and monitoring.

Designed to grow into a platform for application and data services.

Introducing Mantl

Page 17: Choosing PaaS:  Cisco and Open Source Options: an overview
Page 18: Choosing PaaS:  Cisco and Open Source Options: an overview

• At its core, Mesos is a focused, scalable, two phased meta-scheduler that provides primitives to express a wide variety of scheduling patterns and use cases.

• Solutions are written atop of Mesos as frameworks.

• The technology allows you to utilize the same machines for both long running (Docker) and batch (Hadoop) workloads

• Mature at Scale, successfully powering Twitter, Airbnb and Apple’s Siri voice interpreter application among others

• Functioning Big Data Toolset including Logstash, Cassandra, Spark and Hadoop frameworks available with one-click deployments

What is Mesos?

Page 19: Choosing PaaS:  Cisco and Open Source Options: an overview
Page 20: Choosing PaaS:  Cisco and Open Source Options: an overview

Questions?

Page 21: Choosing PaaS:  Cisco and Open Source Options: an overview

More info?See us at the cloud booth in DevNet

More Presentation?Brian Hicks talking Mantl; tomorrow at 9am.