Cloud Foundry - publicmays/IBM GitHub Wiki

Diego

  • update on the elastic runtime
  • User
  • Cloud Controller - API
  • NATS - message bus
  • router
  • health manager
  • DEA Pool (Droplet Execution Agent)
  • make sure it works well
  • DEA
  • Staing Apps
  • Warden
  • Containerization
  • DEA
  • stages & runs application instances
  • Cloud Controller
  • Executer Pool
  • run tasks (bounded execution in a container, birth & death), run at most once
  • launch long running processes (semantic, once they're started we're going to continue to monitor them and keep them up)
  • always have more than 1 instance running, lose one bring one up

Cloud Foundry Tomorrow

  • Cloud Controller - Stage App -> Stager - Run Task -> Executer Pool
  • Cloud Controller - Run App -> App Manager -> Launch LRP

Executer Pool

  • Cell

Processes

  1. Represent
  • tasks
  • rep presence of a cell to the container scheduler
  • advertise resources that are available to run applications
  1. Executer
  • recipes
  • transform tasks into things that are actionable
  1. Garden
  • Manage containers
  1. Linux Backend
  • Run containers

Application Placement with Diego

  • cf scale -> Cloud Controller

  • 1 unit

  • cell

  • garden, garden, garden

  • placement is moved to the backend

  • the Rep publishes the actual state

  • the Converger compares the desired state w/ the actual state

  • actual

  • desires

  • when instances are missing, the Converger asks the Auctioneer to start instances

  • When too many are running, the Converger tells the Rep stop excess instances

  • Auctioneer - figure out where stuff goes

  • BBS - backed up, can store all data there

New Features

  • encryption of data at rest
  • Transportation Level Security
  • Encrypted communication
  • Certificate based mutual authentication
  • SSH Access to application containers
  • get into container, run things, change things
  • SSH access for terminals
  • local port forwarding, SCP files in and out
  • have access to get files out
  • run something like tomcat you can have admin server running on tomcat

Asynchronous

Diego features

  • Coming in v6.13.0
  • Some of the new commands
  • ssh - SSH to an application container instance
  • get-ssh-code - Get a one time password for ssh clients
  • enable-ssh

CLI Plugins

  • Find the plugins (where?)
  • Plugins

Overview

cf-swagger

  • Give CF API's their swagger back!
  • swagger
  • OOS API description language & tools
  • describe REST APIs (in JSON/YAML)
  • Use OSS tooling to generate
  • API docs
  • code artifacts, e.g. client & server stubs
  • flexible, customizable, & OSS
  • growing # o companies using

Interactive editor

  • Service broker - how you add components into cloud foundry

  • when you create a broker you must implement an API

  • catalog: adding to market place of cloud foundry

  • here's my catalog of services I can offer

  • Bluemix asks for your catalog

  • Broker - here's my catalog

  • go-swagger github

cf-swagger
  1. describe all CF APIs (eventually)
  • CF services: broker APIs
  • CF Cloud Controller: v3
  • UAA APIs
  1. generate API docs
  2. generate API client & servers (stubs)
  3. generate test suites for API servers
  4. generate Test Compatibility Kits

1 2