2© 2015 Pivotal Software, Inc. All rights reserved. 2© 2015 Pivotal Software, Inc. All rights reserved.
Lattice, Docker and More
Denver Cloud Foundry Meetup
Cornelia Davis, Director, Platform Engineering, Cloud Foundry  @cdavisafc
May 19 2015
3© 2015 Pivotal Software, Inc. All rights reserved.
The Tour…
 Diego
 Lattice
 Docker (and other image formats)
 Cloud Rocker
4© 2015 Pivotal Software, Inc. All rights reserved.
What is Diego?
 Rewrite of the CF Runtime
 Goals:
– NATS  distributed, shared memory (etcd)
– Support for different container image formats
– Superior workload scheduling
 ... which enables:
– Windows support
– Placement pools
– cf ssh
– TCP routing
– container to container messaging
5© Copyright 2013 Pivotal. All rights reserved.
Router
Failed Application Instances Replaced (DEA)
Blobstore
Cloud
Controller
Health Manager
Actual StateDesired State
Messaging
(NATS)
DEA DEA DEA
Pivotal CF
Elastic Runtime
6© Copyright 2015 Pivotal. All rights reserved.
Failed Application Instances Replaced (Diego)
Router
Blobstore
Cloud
Controller
etcd
Cell Cell Cell
Pivotal Cloud Foundry
Elastic Runtime
Access
App
DB
Service
credentialscreds
Converger & Auctioneer
Desired State
credscreds
Actual State
7© Copyright 2015 Pivotal. All rights reserved.
8© Copyright 2015 Pivotal. All rights reserved.
Containers and Container Images
 Docker is:
– Image format
– A runtime/interpreter for Docker images
leveraging linux container support
 Garden is a runtime/interpreter, leveraging
linux container support, for:
– Droplets (linux containers)
– Docker images (linux containers)
– .Net applications (windows “containers”)
 Windows cells installed via msi
Cell
App App
App App
Cell
App App
App App
Cell
App App
App App
9© Copyright 2015 Pivotal. All rights reserved.
All that is in the Elastic Runtime
 Heavy-duty startup
 Bosh-lite still complex
Pivotal CF Elastic Runtime
Dynamic Router
OAuth 2.0 Server (UAA)
Health Manager
Application Execution (DEA)
Warden
Build Packs
Login Server
Cloud Controller
Blob Store
Message Bus(NATS)
Sys Log
ServiceBrokers
Collector Loggregator
ROUTING
AUTHENTICATION
APP LIFECYCLE
APP STORAGE
& EXECUTION
MESSAGING
METRICS & LOGGING
Pivotal CF OpsManager/BOSH
10© Copyright 2015 Pivotal. All rights reserved.
Lattice
 Deployment options:
– Local
– Clusters: AWS, Digital Ocean, Google
Cloud, Openstack
 Developer accessibility
 Demonstrate docker (and
similar) support
 Part of app lifecycle –
developer support
Pivotal CF Elastic Runtime
Dynamic Router
OAuth 2.0 Server (UAA)
Diego Health
Application Execution (Diego)
Garden
Login Server
Cloud Controller
Blob Store
Message Bus(NATS)
Sys Log
ServiceBrokers
Collector Loggregator
ROUTING
AUTHENTICATION
APP LIFECYCLE
APP STORAGE
& EXECUTION
MESSAGING
METRICS & LOGGING
Pivotal CF OpsManager/BOSH
11© 2015 Pivotal Software, Inc. All rights reserved.
12© Copyright 2015 Pivotal. All rights reserved. 12© Copyright 2013 Pivotal. All rights reserved.
Demo
13© Copyright 2015 Pivotal. All rights reserved.
Containers Alone Aren’t Enough…
14© Copyright 2015 Pivotal. All rights reserved.
Push Docker Images
ltc create
Docker Hub
16© Copyright 2015 Pivotal. All rights reserved.
Cloud Foundry Created Images
cf push
build
& run
+ =
17© Copyright 2015 Pivotal. All rights reserved.
Cloud Rocker
build
+
=
19© Copyright 2015 Pivotal. All rights reserved.
Cloud Rocker + Lattice
ltc create
build
+
=
20© Copyright 2015 Pivotal. All rights reserved. 20© Copyright 2013 Pivotal. All rights reserved.
Demo
22© Copyright 2015 Pivotal. All rights reserved.
In the Future…
+
=
ltc create
build
23© Copyright 2015 Pivotal. All rights reserved.
All Together
Cloud Rocker
rock add-buildpack
rock up
rock build
docker push
ltc CLI
ltc target
ltc create ...
ltc scale
Docker Hub
CellCellCellCellCellBrain
Router
Logging
Receptor
etcd
…
24© 2015 Pivotal Software, Inc. All rights reserved. 24© Copyright 2015 Pivotal. All rights reserved.
Thank You
@cdavisafc
25© Copyright 2015 Pivotal. All rights reserved.
References
 Diego: https://github.com/cloudfoundry-incubator/diego-design-notes
 lattice.cf
 Cloud rocker: https://github.com/CloudCredo/cloudrocker
 Xray: https://github.com/pivotal-cf-experimental/xray
Cloud Foundry Diego, Lattice, Docker and more

Cloud Foundry Diego, Lattice, Docker and more

  • 2.
    2© 2015 PivotalSoftware, Inc. All rights reserved. 2© 2015 Pivotal Software, Inc. All rights reserved. Lattice, Docker and More Denver Cloud Foundry Meetup Cornelia Davis, Director, Platform Engineering, Cloud Foundry  @cdavisafc May 19 2015
  • 3.
    3© 2015 PivotalSoftware, Inc. All rights reserved. The Tour…  Diego  Lattice  Docker (and other image formats)  Cloud Rocker
  • 4.
    4© 2015 PivotalSoftware, Inc. All rights reserved. What is Diego?  Rewrite of the CF Runtime  Goals: – NATS  distributed, shared memory (etcd) – Support for different container image formats – Superior workload scheduling  ... which enables: – Windows support – Placement pools – cf ssh – TCP routing – container to container messaging
  • 5.
    5© Copyright 2013Pivotal. All rights reserved. Router Failed Application Instances Replaced (DEA) Blobstore Cloud Controller Health Manager Actual StateDesired State Messaging (NATS) DEA DEA DEA Pivotal CF Elastic Runtime
  • 6.
    6© Copyright 2015Pivotal. All rights reserved. Failed Application Instances Replaced (Diego) Router Blobstore Cloud Controller etcd Cell Cell Cell Pivotal Cloud Foundry Elastic Runtime Access App DB Service credentialscreds Converger & Auctioneer Desired State credscreds Actual State
  • 7.
    7© Copyright 2015Pivotal. All rights reserved.
  • 8.
    8© Copyright 2015Pivotal. All rights reserved. Containers and Container Images  Docker is: – Image format – A runtime/interpreter for Docker images leveraging linux container support  Garden is a runtime/interpreter, leveraging linux container support, for: – Droplets (linux containers) – Docker images (linux containers) – .Net applications (windows “containers”)  Windows cells installed via msi Cell App App App App Cell App App App App Cell App App App App
  • 9.
    9© Copyright 2015Pivotal. All rights reserved. All that is in the Elastic Runtime  Heavy-duty startup  Bosh-lite still complex Pivotal CF Elastic Runtime Dynamic Router OAuth 2.0 Server (UAA) Health Manager Application Execution (DEA) Warden Build Packs Login Server Cloud Controller Blob Store Message Bus(NATS) Sys Log ServiceBrokers Collector Loggregator ROUTING AUTHENTICATION APP LIFECYCLE APP STORAGE & EXECUTION MESSAGING METRICS & LOGGING Pivotal CF OpsManager/BOSH
  • 10.
    10© Copyright 2015Pivotal. All rights reserved. Lattice  Deployment options: – Local – Clusters: AWS, Digital Ocean, Google Cloud, Openstack  Developer accessibility  Demonstrate docker (and similar) support  Part of app lifecycle – developer support Pivotal CF Elastic Runtime Dynamic Router OAuth 2.0 Server (UAA) Diego Health Application Execution (Diego) Garden Login Server Cloud Controller Blob Store Message Bus(NATS) Sys Log ServiceBrokers Collector Loggregator ROUTING AUTHENTICATION APP LIFECYCLE APP STORAGE & EXECUTION MESSAGING METRICS & LOGGING Pivotal CF OpsManager/BOSH
  • 11.
    11© 2015 PivotalSoftware, Inc. All rights reserved.
  • 12.
    12© Copyright 2015Pivotal. All rights reserved. 12© Copyright 2013 Pivotal. All rights reserved. Demo
  • 13.
    13© Copyright 2015Pivotal. All rights reserved. Containers Alone Aren’t Enough…
  • 14.
    14© Copyright 2015Pivotal. All rights reserved. Push Docker Images ltc create Docker Hub
  • 15.
    16© Copyright 2015Pivotal. All rights reserved. Cloud Foundry Created Images cf push build & run + =
  • 16.
    17© Copyright 2015Pivotal. All rights reserved. Cloud Rocker build + =
  • 17.
    19© Copyright 2015Pivotal. All rights reserved. Cloud Rocker + Lattice ltc create build + =
  • 18.
    20© Copyright 2015Pivotal. All rights reserved. 20© Copyright 2013 Pivotal. All rights reserved. Demo
  • 19.
    22© Copyright 2015Pivotal. All rights reserved. In the Future… + = ltc create build
  • 20.
    23© Copyright 2015Pivotal. All rights reserved. All Together Cloud Rocker rock add-buildpack rock up rock build docker push ltc CLI ltc target ltc create ... ltc scale Docker Hub CellCellCellCellCellBrain Router Logging Receptor etcd …
  • 21.
    24© 2015 PivotalSoftware, Inc. All rights reserved. 24© Copyright 2015 Pivotal. All rights reserved. Thank You @cdavisafc
  • 22.
    25© Copyright 2015Pivotal. All rights reserved. References  Diego: https://github.com/cloudfoundry-incubator/diego-design-notes  lattice.cf  Cloud rocker: https://github.com/CloudCredo/cloudrocker  Xray: https://github.com/pivotal-cf-experimental/xray

Editor's Notes

  • #6 The elastic runtime will keep the number of instances you’ve requested running by: DEAs constantly reporting their state Health manager constantly updating actual state model across all DEAs HM periodically requests desired state from the cloud controller When a difference is found, HM advises CC CC initiates deployment of a new instance
  • #7 Cloud Foundry PaaS
  • #9 Cloud Foundry PaaS An application runs in a DEA, which is a droplet execution agent. The Cloud Controller orchestrates the routing and lifecycle of all DEAs in the pool. Routers manage application traffic. Health Manager reports mismatched application states to the CC. A service gateway provides an interface for services (native or external). A messaging bus manages all system communication. Apps are accessed directly through the router while web and CLI clients (e.g., vmc, STS) access Cloud Controller via RESTful services.
  • #13 Demo Lattice & XRay Deploy apps Scale apps Crash and app Stop a node
  • #14 How do containers and PaaS work together?   One of the capabilities of PaaS, is the orchestration and management of multiple virtual machines and/or containers that depend on each other and work with each other to provide an application that is built and run atop an infrastructure of choice. Pivotal has released experimental support for Docker containers (a running instance of a Docker image) in their Ops Manager to provide the ability to run multiple Docker images on a single VM.   The Diego project further enables enterprises to run 12-factor applications within Docker images as first-class applications so that they can leverage features such as load balancing, aggregate logging, service bindings, team management and refined event auditing that Pivotal CF provides. So how does Pivotal CF and Docker work together? Pivotal CF adds many enterprise-grade features for Docker containers, particularly around app health management, monitoring, and orchestration.