SlideShare a Scribd company logo
Hands-on Workshopfor Operators
Manuel Garcia / altoros.com / @rmgarciap
* Whythis training?
•SysAdmins and DevOps requested it in several
meetup Altoros talks
•Evolution from a minimalistic CF local installation
workshop to a full CF deployment done with BOSH
* Goals
•Understand how Cloud Foundry is deployed
•Get to know how Cloud Foundry internally works
from an PaaS Operator perspective
Hands on?
1, 2, 3… go!
* How do I deploy Cloudfoundry?
Nise Bosh, a lightweight BOSH emulator. Virtual and bare metal
Altoros Vagrant Installer, developer oriented deployment
BOSH, tool chain for release engineering
Bosh Lite, a lite development environment for BOSH.
Conteinerized VMs
Canonical Juju Charms, cloud infrastructure automation
* It is so easy
•Install Bosh
•Deploy Something (ex.: ElasticSearch)
•Upload stemcell
•Upload release
•Configure deployment manifest
•Deploy !
* Bosh Lite – From Local to theCloud
• Prerequisites
• GIT
• Ruby 1.9.3 (latest. 2.0.X not supported)
• RubyGems and Bundler
• VirtualBox
• Vagrant
• Clone repo and deploy bosh lite (preferable local)
• Lower RAM if needed (Vagrantfile)
• $ vagrant up
* Bosh Lite – From Local to theCloud
• Upload Stemcell
• $ bosh public stemcells
• $ bosh download public stemcell bosh….tgz
• Download Elasticsearch bosh release
• $ git clone https://github.com/bonzofenix/elasticsearch-boshrelease
• Upload it to Bosh
• $ bosh upload release releases/<version>.yml
• Deploy ElasticSeach
• $ bosh manifest <elasticsearch manifest file>
• $ bosh deploy
* What is Bosh? Why BOSH?
Designed for large scale, distributed services
Tool chain for release engineering, deployment and lifecycle
management
Already Supports AWS, OpenStack & VMware vSphere (Cloudstack)
Two floors up from Chef/Puppet. Multi-cloud, IaaS Provider independent
Updates & Operates Deployments
Deploys & Manages Clusters of Cloud Foundry, Databases, etc
BOSH Overview
BOSH Releases
* What is a release?
• A collection of configuration:
– files,
– job definitions
– source code
– package definitions
– and accompanying information needed to make a
software component deployable by BOSH.
• A release should have no dependencies that need
to be fetched from the internet.
* What is a release?
• Source directories
– jobs: start and stop commands for each of the jobs
(processes) running on Cloud Foundry nodes.
– packages: packaging instructions used by BOSH to build
each of the dependencies.
– src: the source code for the components in Cloud Foundry.
Note that each of the components is a submodule with a
pointer to a specific SHA.
* What is a release?
• Releases directories
– releases: yml files containing the references to blobs for
each package in a given release; these are solved within
.final_builds
– .final_builds: references into the public blostore for final
jobs & packages (each referenced by one or more releases)
– config: URLs and access credentials to the bosh blobstore
for storing final releases
* Example BOSH Release
• ElasticSearch release
•  Take me to the repo…
* Cloud Foundry BOSH Release
• Around 20 jobs
• Open Source: github.com/cloudfoundry/cf-release
• Weekly releses (releases directory)
• Fully tested (CAT)
* Bosh Lite (lets continue)
• Upload Warden Stemcell
• $ bosh public stemcells
• $ bosh upload stemcell latest-bosh-stemcell-warden.tgz
* Stemcells
• A minimal VM image that can convert into anything
• Contains a BOSH Agent: A process that runs continuously on
each VM that BOSH deploys (one Agent process per VM).
The BOSH Agent executes tasks in response to messages it
receives from the BOSH Director
* In the meantime.. What have we done?
• MicroBosh in a local VM
• Director, public API
• Blobstore, to store and retrieve
precompiled packages
• Health Manager, to track the state of
deployed systems
• Internal DNS, called PowerDNS, for
internal unique naming of servers
within bosh deployments
• Bosh Database, desired state of a
BOSH deployment
• Message Bus (NATS)
• Registry, for tracking the
infrastructure that has been
provisioned (servers, persistent disks)
• Resurrector
• Task Queue (requires Redis), async
queue used by the BOSH Director and
Workers to manage tasks
Example Component Interaction
Lets Deploy Cloud Foundry
* CF deployment steps
• Download Release from repo and upload it to
BOSH
– $ git clone https://github.com/cloudfoundry/cf-release
– $ bosh upload release releases/cf-169.yml
– Check it is there: $ bosh releases
• Build deployment manifest and tell BOSH to use it
– $ ./scripts/make_manifest_spiff
– $ bosh deployment manifests/cf-manifest.yml
• Deploy: $ bosh deploy
Test your Cloud Foundry Deployment
* Target and deploy
• $ cf login -a https://api.10.0.244.34.xip.io
• Download, build and deploy the app
– $ git clone https://github.com/mgarciap/cf-ruby-example.git
– $ cd cf-ruby-example
– $ cf push
• App metadata?
– Manifests
Runtimes and Frameworks
Buildpacks
*
• Java
– Java, Grails, Play, Spring or any other JVM-based language or
framework
• Node.js
– Node or JavaScript
• Ruby
– Ruby, Rack, Rails or Sinatra
• Go Lang
Cloud FoundrySystem Buildpacks
*
> cf push = deploy
CLI Cloud
Controller
CCDB
(MySQL
)
Blob
Store
(S3,
etc.)
Executor
Stager
W
Build
packs
A2
A2 A3
A3
A1
A1
Pkg
Metadata
PkgMetadata Pkg
Droplet
Droplet
Users
R
o
u
t
e
r
A1.yourdomain.com
Frontend Backend
Stage A1
Deploy A1
DEA Nodes
*
• $ cf app [app]
• $ cf logs [app]
• Logs are streamed. CC API, Staging, DEA, Router – HTTP and finally
your app
• Dump: cf logs [app] –recent
• $ cf env [app name]
• $ cf events [app name]
• $ cf files [app]
Something wrong deploying theapp?
Services
( *aaS )
*
• They can be anything external resource as far as they provide
an API and they are registered with the CC
• Actions
• Provision/deprovision
• Bind/unbind
Services
No downtime deployments
Blue-green deployment release technique
*
• One production domain and two apps
• Blue  prod
• Green  next release
• $ cf push Blue -n demo-time
Blue-GreenDeployment
*
• Update App and Push
• $ cf push Green -n demo-time-
temp
Blue-GreenDeployment
*
• Map Original Route to Green
• $ cf map-route Green
example.com -n demo-time
Binding demo-time.example.com to
Green... OK
Blue-GreenDeployment
*
• Unmap Route to Blue
• cf unmap-route Blue example.com
-n demo-time-temp
Unbinding demo-time.example.com
from blue... OK
Blue-GreenDeployment
*
• Remove Temporary Route to Green
• $ cf unmap-route Green
example.com -n demo-time-temp
Blue-GreenDeployment
Key architectural characteristics
*
Portable
Key architecturalcharacteristics
*
Portable
Key architecturalcharacteristics
https://github.com/cloudfoundry
Open Source
*
Scalable
• From few servers to thousands
• Horizontally and Vertically
Key architecturalcharacteristics
*
Reliable
Very few Single Points of Failure which are been improved
(Message Bus -NAT S server-, Collector)
Key architecturalcharacteristics
*
Extensible
Loosely Coupled Components with specific responsibilities and
technology agnostic intercommunication through a message
bus.
Ruby? Rewrite in GO lang? No problem
Key architecturalcharacteristics
Cloud Foundry Architecture
Overview
* Core components
* What have we done?
• Install BOSH (with bosh lite)
• Install BOSH CLI
• Upload stemcell
• Upload Release
• Create and configure Deployment Manifest
• Deploy CF
* What have we done?
• Install Cloud Foundry CLI (cf)
• Target and log into CF
• Create organization and space
• Push an application
* What is next? Deploy CF into a IaaS
• Small/Medium deployment for demos/testing
• Microbosh
• Medium to large production deployments
• Deploy Microbosh
• With Microbosh deploy BOSH
• From BOSH deploy CF
Thank you
manuel.garcia@altoros.com
@rmgarciap
(650) 395-7002

More Related Content

What's hot

Cloud Foundry | How it works
Cloud Foundry | How it worksCloud Foundry | How it works
Cloud Foundry | How it works
Kazuto Kusama
 
An Introduction into Bosh | anynines
An Introduction into Bosh | anynines An Introduction into Bosh | anynines
An Introduction into Bosh | anynines
anynines GmbH
 
Devops: Enabled Through a Recasting of Operational Roles
Devops: Enabled Through a Recasting of Operational RolesDevops: Enabled Through a Recasting of Operational Roles
Devops: Enabled Through a Recasting of Operational Roles
cornelia davis
 
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
VMware Tanzu
 
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Martin Bergljung
 
Building a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackBuilding a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStack
Animesh Singh
 
WebSphere and Docker
WebSphere and DockerWebSphere and Docker
WebSphere and Docker
David Currie
 
HOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDHOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLD
Aleksandr Maklakov
 
Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!
Stuart Charlton
 
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
Symphony Software Foundation
 
Continuous Integration with Docker on AWS
Continuous Integration with Docker on AWSContinuous Integration with Docker on AWS
Continuous Integration with Docker on AWS
Andrew Heifetz
 
Webinar: OpenStack Benefits for VMware
Webinar: OpenStack Benefits for VMwareWebinar: OpenStack Benefits for VMware
Webinar: OpenStack Benefits for VMware
Platform9
 
Continuous Delivery & Integration with JBoss Fuse on Openshift
Continuous Delivery & Integration with JBoss Fuse on OpenshiftContinuous Delivery & Integration with JBoss Fuse on Openshift
Continuous Delivery & Integration with JBoss Fuse on Openshift
Charles Moulliard
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
Oleg Shalygin
 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App Deployment
Axel Fontaine
 
Migrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMixMigrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMix
Rohit Kelapure
 
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Symphony Software Foundation
 
Alfresco spk-alfresco-day
Alfresco spk-alfresco-dayAlfresco spk-alfresco-day
Alfresco spk-alfresco-day
Maurizio Pillitu
 
Mitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorpMitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorp
Ontico
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
David Currie
 

What's hot (20)

Cloud Foundry | How it works
Cloud Foundry | How it worksCloud Foundry | How it works
Cloud Foundry | How it works
 
An Introduction into Bosh | anynines
An Introduction into Bosh | anynines An Introduction into Bosh | anynines
An Introduction into Bosh | anynines
 
Devops: Enabled Through a Recasting of Operational Roles
Devops: Enabled Through a Recasting of Operational RolesDevops: Enabled Through a Recasting of Operational Roles
Devops: Enabled Through a Recasting of Operational Roles
 
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
 
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
 
Building a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackBuilding a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStack
 
WebSphere and Docker
WebSphere and DockerWebSphere and Docker
WebSphere and Docker
 
HOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDHOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLD
 
Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!
 
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
 
Continuous Integration with Docker on AWS
Continuous Integration with Docker on AWSContinuous Integration with Docker on AWS
Continuous Integration with Docker on AWS
 
Webinar: OpenStack Benefits for VMware
Webinar: OpenStack Benefits for VMwareWebinar: OpenStack Benefits for VMware
Webinar: OpenStack Benefits for VMware
 
Continuous Delivery & Integration with JBoss Fuse on Openshift
Continuous Delivery & Integration with JBoss Fuse on OpenshiftContinuous Delivery & Integration with JBoss Fuse on Openshift
Continuous Delivery & Integration with JBoss Fuse on Openshift
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App Deployment
 
Migrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMixMigrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMix
 
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
 
Alfresco spk-alfresco-day
Alfresco spk-alfresco-dayAlfresco spk-alfresco-day
Alfresco spk-alfresco-day
 
Mitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorpMitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorp
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
 

Similar to Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and SysAdmins

Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop
Manuel Garcia
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker bud
Mandi Walls
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Mandi Walls
 
Deep Dive into the AOSP
Deep Dive into the AOSPDeep Dive into the AOSP
Deep Dive into the AOSP
Dr. Ketan Parmar
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Kuan Yen Heng
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
biicode
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
Vishal Biyani
 
Continuous Integration and DevOps with Open Build Service(OBS)
Continuous Integration and DevOps with Open Build Service(OBS)Continuous Integration and DevOps with Open Build Service(OBS)
Continuous Integration and DevOps with Open Build Service(OBS)
Ralf Dannert
 
As a Service: Cloud Foundry on OpenStack - Lessons Learnt
As a Service: Cloud Foundry on OpenStack - Lessons LearntAs a Service: Cloud Foundry on OpenStack - Lessons Learnt
As a Service: Cloud Foundry on OpenStack - Lessons Learnt
Animesh Singh
 
Nise BOSH in Action
Nise BOSH in ActionNise BOSH in Action
Nise BOSH in Action
i_yudai
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
Chris Tankersley
 
Docker presentation
Docker presentationDocker presentation
Docker presentation
Shankar Chaudhary
 
SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe
SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe
SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe
Sencha
 
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
VMworld
 
Leonid Vasilyev "Building, deploying and running production code at Dropbox"
Leonid Vasilyev  "Building, deploying and running production code at Dropbox"Leonid Vasilyev  "Building, deploying and running production code at Dropbox"
Leonid Vasilyev "Building, deploying and running production code at Dropbox"
IT Event
 
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on ContainersWSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
Lakmal Warusawithana
 
Deploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersDeploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on Containers
Imesh Gunaratne
 
Implementing FaaS on Kubernetes using Kubeless
Implementing FaaS on Kubernetes using KubelessImplementing FaaS on Kubernetes using Kubeless
Implementing FaaS on Kubernetes using Kubeless
Ahmed Misbah
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
BlueData, Inc.
 
Docker on a Diet
Docker on a DietDocker on a Diet
Docker on a Diet
Kuan Yen Heng
 

Similar to Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and SysAdmins (20)

Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker bud
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
 
Deep Dive into the AOSP
Deep Dive into the AOSPDeep Dive into the AOSP
Deep Dive into the AOSP
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Continuous Integration and DevOps with Open Build Service(OBS)
Continuous Integration and DevOps with Open Build Service(OBS)Continuous Integration and DevOps with Open Build Service(OBS)
Continuous Integration and DevOps with Open Build Service(OBS)
 
As a Service: Cloud Foundry on OpenStack - Lessons Learnt
As a Service: Cloud Foundry on OpenStack - Lessons LearntAs a Service: Cloud Foundry on OpenStack - Lessons Learnt
As a Service: Cloud Foundry on OpenStack - Lessons Learnt
 
Nise BOSH in Action
Nise BOSH in ActionNise BOSH in Action
Nise BOSH in Action
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
Docker presentation
Docker presentationDocker presentation
Docker presentation
 
SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe
SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe
SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe
 
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
 
Leonid Vasilyev "Building, deploying and running production code at Dropbox"
Leonid Vasilyev  "Building, deploying and running production code at Dropbox"Leonid Vasilyev  "Building, deploying and running production code at Dropbox"
Leonid Vasilyev "Building, deploying and running production code at Dropbox"
 
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on ContainersWSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
 
Deploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersDeploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on Containers
 
Implementing FaaS on Kubernetes using Kubeless
Implementing FaaS on Kubernetes using KubelessImplementing FaaS on Kubernetes using Kubeless
Implementing FaaS on Kubernetes using Kubeless
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
 
Docker on a Diet
Docker on a DietDocker on a Diet
Docker on a Diet
 

Recently uploaded

PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
AyyanKhan40
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
National Information Standards Organization (NISO)
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
Nguyen Thanh Tu Collection
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
Celine George
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
Top five deadliest dog breeds in America
Top five deadliest dog breeds in AmericaTop five deadliest dog breeds in America
Top five deadliest dog breeds in America
Bisnar Chase Personal Injury Attorneys
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 
Life upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for studentLife upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for student
NgcHiNguyn25
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
Priyankaranawat4
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
Jean Carlos Nunes Paixão
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
David Douglas School District
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
heathfieldcps1
 
Smart-Money for SMC traders good time and ICT
Smart-Money for SMC traders good time and ICTSmart-Money for SMC traders good time and ICT
Smart-Money for SMC traders good time and ICT
simonomuemu
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
adhitya5119
 

Recently uploaded (20)

PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
Top five deadliest dog breeds in America
Top five deadliest dog breeds in AmericaTop five deadliest dog breeds in America
Top five deadliest dog breeds in America
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 
Life upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for studentLife upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for student
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
 
Smart-Money for SMC traders good time and ICT
Smart-Money for SMC traders good time and ICTSmart-Money for SMC traders good time and ICT
Smart-Money for SMC traders good time and ICT
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
 

Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and SysAdmins

  • 1. Hands-on Workshopfor Operators Manuel Garcia / altoros.com / @rmgarciap
  • 2. * Whythis training? •SysAdmins and DevOps requested it in several meetup Altoros talks •Evolution from a minimalistic CF local installation workshop to a full CF deployment done with BOSH
  • 3. * Goals •Understand how Cloud Foundry is deployed •Get to know how Cloud Foundry internally works from an PaaS Operator perspective
  • 4. Hands on? 1, 2, 3… go!
  • 5. * How do I deploy Cloudfoundry? Nise Bosh, a lightweight BOSH emulator. Virtual and bare metal Altoros Vagrant Installer, developer oriented deployment BOSH, tool chain for release engineering Bosh Lite, a lite development environment for BOSH. Conteinerized VMs Canonical Juju Charms, cloud infrastructure automation
  • 6. * It is so easy •Install Bosh •Deploy Something (ex.: ElasticSearch) •Upload stemcell •Upload release •Configure deployment manifest •Deploy !
  • 7. * Bosh Lite – From Local to theCloud • Prerequisites • GIT • Ruby 1.9.3 (latest. 2.0.X not supported) • RubyGems and Bundler • VirtualBox • Vagrant • Clone repo and deploy bosh lite (preferable local) • Lower RAM if needed (Vagrantfile) • $ vagrant up
  • 8. * Bosh Lite – From Local to theCloud • Upload Stemcell • $ bosh public stemcells • $ bosh download public stemcell bosh….tgz • Download Elasticsearch bosh release • $ git clone https://github.com/bonzofenix/elasticsearch-boshrelease • Upload it to Bosh • $ bosh upload release releases/<version>.yml • Deploy ElasticSeach • $ bosh manifest <elasticsearch manifest file> • $ bosh deploy
  • 9. * What is Bosh? Why BOSH? Designed for large scale, distributed services Tool chain for release engineering, deployment and lifecycle management Already Supports AWS, OpenStack & VMware vSphere (Cloudstack) Two floors up from Chef/Puppet. Multi-cloud, IaaS Provider independent Updates & Operates Deployments Deploys & Manages Clusters of Cloud Foundry, Databases, etc
  • 11.
  • 13. * What is a release? • A collection of configuration: – files, – job definitions – source code – package definitions – and accompanying information needed to make a software component deployable by BOSH. • A release should have no dependencies that need to be fetched from the internet.
  • 14. * What is a release? • Source directories – jobs: start and stop commands for each of the jobs (processes) running on Cloud Foundry nodes. – packages: packaging instructions used by BOSH to build each of the dependencies. – src: the source code for the components in Cloud Foundry. Note that each of the components is a submodule with a pointer to a specific SHA.
  • 15. * What is a release? • Releases directories – releases: yml files containing the references to blobs for each package in a given release; these are solved within .final_builds – .final_builds: references into the public blostore for final jobs & packages (each referenced by one or more releases) – config: URLs and access credentials to the bosh blobstore for storing final releases
  • 16. * Example BOSH Release • ElasticSearch release •  Take me to the repo…
  • 17. * Cloud Foundry BOSH Release • Around 20 jobs • Open Source: github.com/cloudfoundry/cf-release • Weekly releses (releases directory) • Fully tested (CAT)
  • 18. * Bosh Lite (lets continue) • Upload Warden Stemcell • $ bosh public stemcells • $ bosh upload stemcell latest-bosh-stemcell-warden.tgz
  • 19. * Stemcells • A minimal VM image that can convert into anything • Contains a BOSH Agent: A process that runs continuously on each VM that BOSH deploys (one Agent process per VM). The BOSH Agent executes tasks in response to messages it receives from the BOSH Director
  • 20. * In the meantime.. What have we done? • MicroBosh in a local VM • Director, public API • Blobstore, to store and retrieve precompiled packages • Health Manager, to track the state of deployed systems • Internal DNS, called PowerDNS, for internal unique naming of servers within bosh deployments • Bosh Database, desired state of a BOSH deployment • Message Bus (NATS) • Registry, for tracking the infrastructure that has been provisioned (servers, persistent disks) • Resurrector • Task Queue (requires Redis), async queue used by the BOSH Director and Workers to manage tasks
  • 22.
  • 23. Lets Deploy Cloud Foundry
  • 24. * CF deployment steps • Download Release from repo and upload it to BOSH – $ git clone https://github.com/cloudfoundry/cf-release – $ bosh upload release releases/cf-169.yml – Check it is there: $ bosh releases • Build deployment manifest and tell BOSH to use it – $ ./scripts/make_manifest_spiff – $ bosh deployment manifests/cf-manifest.yml • Deploy: $ bosh deploy
  • 25. Test your Cloud Foundry Deployment
  • 26. * Target and deploy • $ cf login -a https://api.10.0.244.34.xip.io • Download, build and deploy the app – $ git clone https://github.com/mgarciap/cf-ruby-example.git – $ cd cf-ruby-example – $ cf push • App metadata? – Manifests
  • 28. * • Java – Java, Grails, Play, Spring or any other JVM-based language or framework • Node.js – Node or JavaScript • Ruby – Ruby, Rack, Rails or Sinatra • Go Lang Cloud FoundrySystem Buildpacks
  • 29. * > cf push = deploy CLI Cloud Controller CCDB (MySQL ) Blob Store (S3, etc.) Executor Stager W Build packs A2 A2 A3 A3 A1 A1 Pkg Metadata PkgMetadata Pkg Droplet Droplet Users R o u t e r A1.yourdomain.com Frontend Backend Stage A1 Deploy A1 DEA Nodes
  • 30. * • $ cf app [app] • $ cf logs [app] • Logs are streamed. CC API, Staging, DEA, Router – HTTP and finally your app • Dump: cf logs [app] –recent • $ cf env [app name] • $ cf events [app name] • $ cf files [app] Something wrong deploying theapp?
  • 32. * • They can be anything external resource as far as they provide an API and they are registered with the CC • Actions • Provision/deprovision • Bind/unbind Services
  • 33. No downtime deployments Blue-green deployment release technique
  • 34. * • One production domain and two apps • Blue  prod • Green  next release • $ cf push Blue -n demo-time Blue-GreenDeployment
  • 35. * • Update App and Push • $ cf push Green -n demo-time- temp Blue-GreenDeployment
  • 36. * • Map Original Route to Green • $ cf map-route Green example.com -n demo-time Binding demo-time.example.com to Green... OK Blue-GreenDeployment
  • 37. * • Unmap Route to Blue • cf unmap-route Blue example.com -n demo-time-temp Unbinding demo-time.example.com from blue... OK Blue-GreenDeployment
  • 38. * • Remove Temporary Route to Green • $ cf unmap-route Green example.com -n demo-time-temp Blue-GreenDeployment
  • 42. * Scalable • From few servers to thousands • Horizontally and Vertically Key architecturalcharacteristics
  • 43. * Reliable Very few Single Points of Failure which are been improved (Message Bus -NAT S server-, Collector) Key architecturalcharacteristics
  • 44. * Extensible Loosely Coupled Components with specific responsibilities and technology agnostic intercommunication through a message bus. Ruby? Rewrite in GO lang? No problem Key architecturalcharacteristics
  • 47. * What have we done? • Install BOSH (with bosh lite) • Install BOSH CLI • Upload stemcell • Upload Release • Create and configure Deployment Manifest • Deploy CF
  • 48. * What have we done? • Install Cloud Foundry CLI (cf) • Target and log into CF • Create organization and space • Push an application
  • 49. * What is next? Deploy CF into a IaaS • Small/Medium deployment for demos/testing • Microbosh • Medium to large production deployments • Deploy Microbosh • With Microbosh deploy BOSH • From BOSH deploy CF

Editor's Notes

  1. The Middleware over IaaS model today provides more flexibility to application administrators in that they have full control of the middleware runtime environment and its infrastructure knob. However, the beauty of a PaaS model is that it promises to eliminate the need for the control of these parameters altogether. The ultimate PaaS solution would be able to automatically deduce the optimal runtime environment for an application and automatically adjust it as the needs of the application and its usage evolve
  2. http://docs.cloudfoundry.com/docs/using/app-arch/index.html For example, rather than using the local file system, you can use a Cloud Foundry service such as the MongoDB document database or a relational database (MySQL or Postgres). Another option is to use cloud storage providers such as Amazon S3, Google Cloud Storage, Dropbox, or Box. If your application needs to communicate across different instances of itself (for example to share state etc), consider a cache like Redis or a messaging-based architecture with RabbitMQ.
  3. Portable: Open Source / Multi-Platforms - vSphere - AWS - Openstack -> It’s my data, I don’t want to have it out there!!! - None of these? Extensible to other IaaS API through CPIs (Altoros is currently working on one) Scalable: from 1 node to thousands Extensible: Loosely Coupled Components with specific responsibilities and technology agnostic intercommunication through a message bus Reliable: minimum (soon none) SPOF
  4. Portable: Open Source / Multi-Platforms - vSphere - AWS - Openstack -> It’s my data, I don’t want to have it out there!!! - None of these? Extensible to other IaaS API through CPIs (Altoros is currently working on one) Scalable: from 1 node to thousands Extensible: Loosely Coupled Components with specific responsibilities and technology agnostic intercommunication through a message bus Reliable: minimum (soon none) SPOF
  5. Portable: Open Source / Multi-Platforms - vSphere - AWS - Openstack -> It’s my data, I don’t want to have it out there!!! - None of these? Extensible to other IaaS API through CPIs (Altoros is currently working on one) Scalable: from 1 node to thousands Extensible: Loosely Coupled Components with specific responsibilities and technology agnostic intercommunication through a message bus Reliable: minimum (soon none) SPOF
  6. Portable: Open Source / Multi-Platforms - vSphere - AWS - Openstack -> It’s my data, I don’t want to have it out there!!! - None of these? Extensible to other IaaS API through CPIs (Altoros is currently working on one) Scalable: from 1 node to thousands Extensible: Loosely Coupled Components with specific responsibilities and technology agnostic intercommunication through a message bus Reliable: minimum (soon none) SPOF
  7. Portable: Open Source / Multi-Platforms - vSphere - AWS - Openstack -> It’s my data, I don’t want to have it out there!!! - None of these? Extensible to other IaaS API through CPIs (Altoros is currently working on one) Scalable: from 1 node to thousands Extensible: Loosely Coupled Components with specific responsibilities and technology agnostic intercommunication through a message bus Reliable: minimum (soon none) SPOF
  8. Portable: Open Source / Multi-Platforms - vSphere - AWS - Openstack -> It’s my data, I don’t want to have it out there!!! - None of these? Extensible to other IaaS API through CPIs (Altoros is currently working on one) Scalable: from 1 node to thousands Extensible: Loosely Coupled Components with specific responsibilities and technology agnostic intercommunication through a message bus Reliable: minimum (soon none) SPOF
  9. W.T.H.I.G.O.: What the heck is going on?
  10. W.T.H.I.G.O.: What the heck is going on?
  11. W.T.H.I.G.O.: What the heck is going on?