SlideShare a Scribd company logo
1 of 41
Download to read offline
Structure and Opinions
Software Deployment with
Cloud Foundry
Image credit - http://www.rmeoc.org/wp-content/uploads/2016/07/foundry.jpg
A little about me
• Andrew Ripka
• @rippmn
Twin Cities Cloud Foundry Meetup
Topics
● Structure and Opinions
● Introduction to Cloud Foundry
● Developer Demo
● Elastic Runtime Components
● BOSH Components
Setting the Stage
Structure and Opinions
Structured - Stronger Guarantees
Opinionated - More DefaultsLogs
Lumber
Treehouse
Structure, Frameworks, and Opinions
● Structure - coherent form or organization
● Framework - a basic structure underlying a system,
concept, or text.
● Opinions - Specific Implementation of Something
Introduction to Cloud Foundry
Cloud Foundry gives companies the speed,
simplicity and control they need to develop and
deploy applications faster and easier.
• Platform As a Service
– Polyglot Runtime supporting multiple languages
and frameworks
– Choice of IaaS Providers
– Choice of Application Services
https://www.cloudfoundry.org/foundation/
Foundation Driven
Certified Distros
https://cloudfoundry.org/certified-platforms/
Essential Elements of Enterprise Platform
• Rapid Provisioning
• Rapid Application Deployment & Management
• Scale Horizontally
• Basic Monitoring, Logs & Metrics
• No-downtime platform upgrades
• Dynamic load balancing and routing
• Manage supporting services (data, messaging)
• Failure detection and health remediation
http://blog.cloudfoundry.org/2013/10/24/essential-elements-of-an-enterprise-paas/
https://www.youtube.com/watch?v=SSxI9eonBVs
The developer haiku
https://blog.pivotal.io/pivotal-cloud-foundry/products/pivotal-cloud-foundrys-roadmap-for-2
The operator haiku
Cloud Foundry
Contract: 12 Factor App
Contract: BOSH Release
Contract: Cloud Provider Interface
Culture
Dev
Dev IT
Ops
Applications
Runtime Platform
Infrastructure Automation
Infrastructure
IT
Ops
IT
Ops
Tools
BOSH
Developer Demo
Using Elastic Runtime
Automate App Deployments
Step 1 - Upload
Upload application files
via the Platform
Controller API
Step 2 - Stage
Take application files and
package with other
dependencies into the
container file
Step 3 - Distribute
Platform controller
schedules (assigns) the
container to cluster cell
Step 4 - Run
Assigned cluster cell starts
application using provided
metadata and informs the
platform load balancer/router
that application traffic can be
routed to container endpoint
Elastic Runtime High Level Architecture
Cloud Foundry Elastic Runtime
Dynamic Router
OAuth 2.0 Server (UAA)
CELL
Garden
Build Packs
Login Server
CC & CC Bridge
Blob Store
BBS/etcd
Sys Log
ServiceBrokers
Collector App Log
ROUTING
AUTHENTICATION
APP LIFECYCLE
APP STORAGE
& EXECUTION
MESSAGING
METRICS & LOGGING
Cloud Foundry BOSH
BBS Converger
Elastic Runtime
What You Care About
• Cloud Controller
• Applications
• Buildpacks
• Services
• Service Brokers
• Routing
• Health Management
• Loggregator
Cloud Foundry Elastic Runtime
Dynamic Router
APP HOSTS
App
Build Packs
Loggregator
ServiceBrokers
ROUTING
AUTHENTICATION
APP STORAGE
& EXECUTION
METRICS & LOGGING
Cloud Foundry BOSH
Cloud Controller
App AppApp
Applications
Source code and application frameworks used by developers to
create application
– Java/Spring
– Ruby/Rails
– JavaScript for Node.js
– .Net
– others
Cloud Controller
• Restful API to allow clients to access platform functionality
• Several Clients exist to call functionality
– Command Line Interface
– Apps Manager
– IDE Plugins
Cloud Controller API
http://apidocs.cloudfoundry.org
Cloud Foundry CLI
• CLI is a RESTful client to Cloud Controller
• Commands Structured as CF <<command>> <<parameters>>
• Built in Architecture for Plugin extensions
• Getting help
– cf –h returns available commands
– cf <<command>> -h returns help for a specific command
• Includes ability to write plugins to extend
Buildpacks
• A Buildpack is a combination of scripts that will combine the application
with the frameworks and runtimes necessary to deploy
• Written as scripts that:
– Detect if buildpack should be applied
– Compile container file by combining application code and defined
runtime components
– Release describe how app container can be deployed to an assigned
container host
• Installed into a Cloud Foundry instance or loaded from an external
location
• Monitor applications to determine version, current state, and number of instances
and status via health checks
• On changes Determine desired application state and instances from cloud
controller and converges to desired state
Health Management
Services
• Services are an add on that can be provisioned to provide
service an application
– Databases (MySQL, Mongo, Redis) and Rabbit MQ
• Marketplace service instances are created and bound using a
Service Broker
• Bound services connection information is placed in
application environment variable
Service Broker
• Restful endpoint that provides contract allowing self service
creation and binding to apps by authorized users
– create
– delete
– bind
– unbind
– catalog
• Router shapes and routes all external system traffic
(HTTP/API/TCP)
– maintains a dynamic routing table for each load-balanced
app instance
• URL Routes to applications consist of domain, host, and
optionally a path
• Applications are either assigned route based upon application
name or defined host
• Allows extension through Route Services
Router and URL Routes
• Applications write logs to STDOUT and STDERR
• Relevant Cloud Foundry component events added to
application stream
• Log events collected, collated, and expose via API and the
firehose
• API Allows application users and operators to:
– Tail their application logs
– Dump a recent set of application logs
– Continually drain their application logs to 3rd party log
archive and analysis service
Loggregator
Automated Systems
BOSH
What Is BOSH?
• BOSH is an open source tool chain for release
engineering, deployment, and lifecycle
management of large-scale distributed services.
• BOSH was specifically developed to facilitate the
deployment of Cloud Foundry
• BOSH Interacts with IaaS via Cloud Provider
Interface (CPI)
BOSH Architecture
DB Blob Store
Worker NATS
Health
Monitor
CPI
DirectorCLI
Inner shell
Outer shell
Agents
Cloud Provider Interface
Stemcell
▪ create_stemcell(image, cloud_properties)
▪ delete_stemcell(stemcell_id)
VM
▪ create_vm(agent_id, stemcell_id, resource_pool,
networks, disk_locality, env)
▪ delete_vm(vm_id)
▪ reboot_vm(vm_id)
▪ has_vm(vm_id)
▪ set_vm_metadata(vn_id, metadata)
▪ configure_networks(vm_id, networks)
Cloud Provider Interface
Disk
create_disk(size, vm_locality)
delete_disk(disk_id)
attach_disk(vm_id, disk_id)
detach_disk(vm_id, disk_id)
has_disk(disk_id)
get_disks(disk_id, metadata)
Disk Snapshots
snapshot_disk(disk_id, metadata)
delete_snapshot (disk_id)
current_vm_id(vm_id)
BOSH Delivery Concepts
• Stemcells
• Release
• Deployment
Stemcell
• Base OS System
• BOSH Agent
• Same for all Infrastructures
• No specific info about software to be installed
• Wrapped in IaaS packaging that allows fast cloning
▪ vSphere - VMDK
▪ AWS – AMI
▪ Google Compute - Image
Release
• Versioned collection of:
– configuration properties
– configuration templates
– start up scripts
– source code
– binary artifacts
– Other stuff (like config)
• Collection of VMs (1 or more)
• Built from stemcells
• Populated with Releases and Persistent Disk
Deployment
Any Questions?
http://i.onionstatic.com/avclub/6077/85/16x9/960.jpg

More Related Content

What's hot

Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014johnfcshaw
 
Migrating from Big Data Architecture to Spring Cloud
Migrating from Big Data Architecture to Spring CloudMigrating from Big Data Architecture to Spring Cloud
Migrating from Big Data Architecture to Spring CloudVMware Tanzu
 
SAFe (Scaled Agile Framework) 5 mins overview - Roni Tamari
SAFe (Scaled Agile Framework) 5 mins overview - Roni TamariSAFe (Scaled Agile Framework) 5 mins overview - Roni Tamari
SAFe (Scaled Agile Framework) 5 mins overview - Roni TamariAgileSparks
 
Scaled agile framework (SAFe) - adopting agile at enterprise scale
Scaled agile framework (SAFe) - adopting agile at enterprise scaleScaled agile framework (SAFe) - adopting agile at enterprise scale
Scaled agile framework (SAFe) - adopting agile at enterprise scaleVadim Mikhnevych
 
DevOps, SAFe and critical information bearers: A practical approach for plann...
DevOps, SAFe and critical information bearers: A practical approach for plann...DevOps, SAFe and critical information bearers: A practical approach for plann...
DevOps, SAFe and critical information bearers: A practical approach for plann...Bosnia Agile
 
Scrum vs SAFe | Differences Between Scrum and Scaled Agile Framework | Edureka
Scrum vs SAFe | Differences Between Scrum and Scaled Agile Framework | EdurekaScrum vs SAFe | Differences Between Scrum and Scaled Agile Framework | Edureka
Scrum vs SAFe | Differences Between Scrum and Scaled Agile Framework | EdurekaEdureka!
 
Barabara Sanders SpringOne Platform keynote
Barabara Sanders SpringOne Platform keynoteBarabara Sanders SpringOne Platform keynote
Barabara Sanders SpringOne Platform keynoteVMware Tanzu
 
Understanding the DevOps Tooling Landscape
Understanding the DevOps Tooling LandscapeUnderstanding the DevOps Tooling Landscape
Understanding the DevOps Tooling LandscapeXebiaLabs
 
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps MaturitySD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps MaturityBrian Dawson
 
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...Gene Kim
 
Best DevOps Team Structure - DevOps Conference - Chennai - 21st July 2017
Best DevOps Team Structure - DevOps Conference - Chennai - 21st July 2017Best DevOps Team Structure - DevOps Conference - Chennai - 21st July 2017
Best DevOps Team Structure - DevOps Conference - Chennai - 21st July 2017Balaji Kalyansundaram
 
Be agile. Scale up. Stay Lean with SAFe by Michael Stump
Be agile. Scale up. Stay Lean with SAFe by Michael StumpBe agile. Scale up. Stay Lean with SAFe by Michael Stump
Be agile. Scale up. Stay Lean with SAFe by Michael StumpAgile ME
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliverySwapnil Jain
 
DevOps Maturity - How to evaluate your company's DevOps maturity
DevOps Maturity - How to evaluate your company's DevOps maturityDevOps Maturity - How to evaluate your company's DevOps maturity
DevOps Maturity - How to evaluate your company's DevOps maturitylborguetti
 
Webinar On Scaled Agile Framework (SAFe) | iZenBridge
Webinar On Scaled Agile Framework (SAFe) | iZenBridgeWebinar On Scaled Agile Framework (SAFe) | iZenBridge
Webinar On Scaled Agile Framework (SAFe) | iZenBridgeSaket Bansal
 

What's hot (20)

Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
 
Migrating from Big Data Architecture to Spring Cloud
Migrating from Big Data Architecture to Spring CloudMigrating from Big Data Architecture to Spring Cloud
Migrating from Big Data Architecture to Spring Cloud
 
SAFe (Scaled Agile Framework) 5 mins overview - Roni Tamari
SAFe (Scaled Agile Framework) 5 mins overview - Roni TamariSAFe (Scaled Agile Framework) 5 mins overview - Roni Tamari
SAFe (Scaled Agile Framework) 5 mins overview - Roni Tamari
 
Scaled agile framework (SAFe) - adopting agile at enterprise scale
Scaled agile framework (SAFe) - adopting agile at enterprise scaleScaled agile framework (SAFe) - adopting agile at enterprise scale
Scaled agile framework (SAFe) - adopting agile at enterprise scale
 
DevOps, SAFe and critical information bearers: A practical approach for plann...
DevOps, SAFe and critical information bearers: A practical approach for plann...DevOps, SAFe and critical information bearers: A practical approach for plann...
DevOps, SAFe and critical information bearers: A practical approach for plann...
 
Scrum vs SAFe | Differences Between Scrum and Scaled Agile Framework | Edureka
Scrum vs SAFe | Differences Between Scrum and Scaled Agile Framework | EdurekaScrum vs SAFe | Differences Between Scrum and Scaled Agile Framework | Edureka
Scrum vs SAFe | Differences Between Scrum and Scaled Agile Framework | Edureka
 
Barabara Sanders SpringOne Platform keynote
Barabara Sanders SpringOne Platform keynoteBarabara Sanders SpringOne Platform keynote
Barabara Sanders SpringOne Platform keynote
 
Understanding the DevOps Tooling Landscape
Understanding the DevOps Tooling LandscapeUnderstanding the DevOps Tooling Landscape
Understanding the DevOps Tooling Landscape
 
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps MaturitySD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
 
SUCCEEDING WITH DEVOPS DEVOPS
SUCCEEDING WITH DEVOPS DEVOPSSUCCEEDING WITH DEVOPS DEVOPS
SUCCEEDING WITH DEVOPS DEVOPS
 
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
 
An Overview of SAFe
An Overview of SAFeAn Overview of SAFe
An Overview of SAFe
 
Approaches to scaling agile
Approaches to scaling agileApproaches to scaling agile
Approaches to scaling agile
 
Best DevOps Team Structure - DevOps Conference - Chennai - 21st July 2017
Best DevOps Team Structure - DevOps Conference - Chennai - 21st July 2017Best DevOps Team Structure - DevOps Conference - Chennai - 21st July 2017
Best DevOps Team Structure - DevOps Conference - Chennai - 21st July 2017
 
Scaling Agile
Scaling Agile Scaling Agile
Scaling Agile
 
Be agile. Scale up. Stay Lean with SAFe by Michael Stump
Be agile. Scale up. Stay Lean with SAFe by Michael StumpBe agile. Scale up. Stay Lean with SAFe by Michael Stump
Be agile. Scale up. Stay Lean with SAFe by Michael Stump
 
Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOps
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous Delivery
 
DevOps Maturity - How to evaluate your company's DevOps maturity
DevOps Maturity - How to evaluate your company's DevOps maturityDevOps Maturity - How to evaluate your company's DevOps maturity
DevOps Maturity - How to evaluate your company's DevOps maturity
 
Webinar On Scaled Agile Framework (SAFe) | iZenBridge
Webinar On Scaled Agile Framework (SAFe) | iZenBridgeWebinar On Scaled Agile Framework (SAFe) | iZenBridge
Webinar On Scaled Agile Framework (SAFe) | iZenBridge
 

Viewers also liked

Who Lives in Our Garden?
Who Lives in Our Garden?Who Lives in Our Garden?
Who Lives in Our Garden?Altoros
 
What's new in Pivotal Cloud Foundry 1.6
What's new in Pivotal Cloud Foundry 1.6What's new in Pivotal Cloud Foundry 1.6
What's new in Pivotal Cloud Foundry 1.6dektlong
 
Cloud Foundry Introduction for CF Meetup Tokyo March 2016
Cloud Foundry Introduction for CF Meetup Tokyo March 2016Cloud Foundry Introduction for CF Meetup Tokyo March 2016
Cloud Foundry Introduction for CF Meetup Tokyo March 2016Tomohiro Ichimura
 
Cloud Foundry CF LOGS stack
Cloud Foundry CF LOGS stackCloud Foundry CF LOGS stack
Cloud Foundry CF LOGS stackGwenn Etourneau
 
Platform App Deployment : Structure and Opinions
Platform App Deployment : Structure and OpinionsPlatform App Deployment : Structure and Opinions
Platform App Deployment : Structure and OpinionsAndrew Ripka
 
Developing Resilient Cloud Native Apps with Spring Cloud
Developing Resilient Cloud Native Apps with Spring CloudDeveloping Resilient Cloud Native Apps with Spring Cloud
Developing Resilient Cloud Native Apps with Spring CloudDustin Ruehle
 
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with ConcourseContinuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with ConcourseVMware Tanzu
 
Cloud Foundry Foundation Keynote
Cloud Foundry Foundation KeynoteCloud Foundry Foundation Keynote
Cloud Foundry Foundation KeynoteAbby Kearns
 
Navigating the Ecosystem of Pivotal Cloud Foundry Tiles
Navigating the Ecosystem of Pivotal Cloud Foundry TilesNavigating the Ecosystem of Pivotal Cloud Foundry Tiles
Navigating the Ecosystem of Pivotal Cloud Foundry TilesAltoros
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overviewcornelia davis
 
Containers & Cloud Native Ops Cloud Foundry Approach
Containers & Cloud Native Ops Cloud Foundry ApproachContainers & Cloud Native Ops Cloud Foundry Approach
Containers & Cloud Native Ops Cloud Foundry ApproachCodeOps Technologies LLP
 
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017Carol Smith
 

Viewers also liked (12)

Who Lives in Our Garden?
Who Lives in Our Garden?Who Lives in Our Garden?
Who Lives in Our Garden?
 
What's new in Pivotal Cloud Foundry 1.6
What's new in Pivotal Cloud Foundry 1.6What's new in Pivotal Cloud Foundry 1.6
What's new in Pivotal Cloud Foundry 1.6
 
Cloud Foundry Introduction for CF Meetup Tokyo March 2016
Cloud Foundry Introduction for CF Meetup Tokyo March 2016Cloud Foundry Introduction for CF Meetup Tokyo March 2016
Cloud Foundry Introduction for CF Meetup Tokyo March 2016
 
Cloud Foundry CF LOGS stack
Cloud Foundry CF LOGS stackCloud Foundry CF LOGS stack
Cloud Foundry CF LOGS stack
 
Platform App Deployment : Structure and Opinions
Platform App Deployment : Structure and OpinionsPlatform App Deployment : Structure and Opinions
Platform App Deployment : Structure and Opinions
 
Developing Resilient Cloud Native Apps with Spring Cloud
Developing Resilient Cloud Native Apps with Spring CloudDeveloping Resilient Cloud Native Apps with Spring Cloud
Developing Resilient Cloud Native Apps with Spring Cloud
 
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with ConcourseContinuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
 
Cloud Foundry Foundation Keynote
Cloud Foundry Foundation KeynoteCloud Foundry Foundation Keynote
Cloud Foundry Foundation Keynote
 
Navigating the Ecosystem of Pivotal Cloud Foundry Tiles
Navigating the Ecosystem of Pivotal Cloud Foundry TilesNavigating the Ecosystem of Pivotal Cloud Foundry Tiles
Navigating the Ecosystem of Pivotal Cloud Foundry Tiles
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 
Containers & Cloud Native Ops Cloud Foundry Approach
Containers & Cloud Native Ops Cloud Foundry ApproachContainers & Cloud Native Ops Cloud Foundry Approach
Containers & Cloud Native Ops Cloud Foundry Approach
 
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
 

Similar to Structure and Opinions - Software Deployments with Cloud Foundry

MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017Andrew Ripka
 
Cf summit2014 roadmap
Cf summit2014 roadmapCf summit2014 roadmap
Cf summit2014 roadmapJames Bayer
 
Cloud Foundry Roadmap (Cloud Foundry Summit 2014)
Cloud Foundry Roadmap (Cloud Foundry Summit 2014)Cloud Foundry Roadmap (Cloud Foundry Summit 2014)
Cloud Foundry Roadmap (Cloud Foundry Summit 2014)VMware Tanzu
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics sbbabu
 
IBM Open Cloud Update XCITE Fall 2014
IBM Open Cloud Update   XCITE Fall 2014IBM Open Cloud Update   XCITE Fall 2014
IBM Open Cloud Update XCITE Fall 2014Christopher Ferris
 
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 BlueMixRohit Kelapure
 
Breaking the Monolith
Breaking the MonolithBreaking the Monolith
Breaking the MonolithVMware Tanzu
 
London DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsLondon DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsJeremy Brown
 
15-factor-apps.pdf
15-factor-apps.pdf15-factor-apps.pdf
15-factor-apps.pdfNilesh Gule
 
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Callon Campbell
 
Best Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft AzureBest Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft AzureBrian Benz
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixJake Peyser
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixDev_Events
 
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...VMware Tanzu
 
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld
 
FlexDeploy Product Technical Overview
FlexDeploy Product Technical OverviewFlexDeploy Product Technical Overview
FlexDeploy Product Technical OverviewDalibor Blazevic
 

Similar to Structure and Opinions - Software Deployments with Cloud Foundry (20)

MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
 
Oow2016 review--paas-microservices-
Oow2016 review--paas-microservices-Oow2016 review--paas-microservices-
Oow2016 review--paas-microservices-
 
Cf summit2014 roadmap
Cf summit2014 roadmapCf summit2014 roadmap
Cf summit2014 roadmap
 
Cloud Foundry Roadmap (Cloud Foundry Summit 2014)
Cloud Foundry Roadmap (Cloud Foundry Summit 2014)Cloud Foundry Roadmap (Cloud Foundry Summit 2014)
Cloud Foundry Roadmap (Cloud Foundry Summit 2014)
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
 
M meijer api management - tech-days 2015
M meijer   api management - tech-days 2015M meijer   api management - tech-days 2015
M meijer api management - tech-days 2015
 
IBM Open Cloud Update XCITE Fall 2014
IBM Open Cloud Update   XCITE Fall 2014IBM Open Cloud Update   XCITE Fall 2014
IBM Open Cloud Update XCITE Fall 2014
 
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
 
Breaking the Monolith
Breaking the MonolithBreaking the Monolith
Breaking the Monolith
 
London DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsLondon DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devops
 
15-factor-apps.pdf
15-factor-apps.pdf15-factor-apps.pdf
15-factor-apps.pdf
 
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
 
Best Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft AzureBest Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft Azure
 
PCF Architecture
PCF Architecture PCF Architecture
PCF Architecture
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
 
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
 
FlexDeploy Product Technical Overview
FlexDeploy Product Technical OverviewFlexDeploy Product Technical Overview
FlexDeploy Product Technical Overview
 

Recently uploaded

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Structure and Opinions - Software Deployments with Cloud Foundry

  • 1. Structure and Opinions Software Deployment with Cloud Foundry Image credit - http://www.rmeoc.org/wp-content/uploads/2016/07/foundry.jpg
  • 2. A little about me • Andrew Ripka • @rippmn
  • 3. Twin Cities Cloud Foundry Meetup
  • 4. Topics ● Structure and Opinions ● Introduction to Cloud Foundry ● Developer Demo ● Elastic Runtime Components ● BOSH Components
  • 6. Structured - Stronger Guarantees Opinionated - More DefaultsLogs Lumber Treehouse
  • 7. Structure, Frameworks, and Opinions ● Structure - coherent form or organization ● Framework - a basic structure underlying a system, concept, or text. ● Opinions - Specific Implementation of Something
  • 9. Cloud Foundry gives companies the speed, simplicity and control they need to develop and deploy applications faster and easier.
  • 10.
  • 11. • Platform As a Service – Polyglot Runtime supporting multiple languages and frameworks – Choice of IaaS Providers – Choice of Application Services
  • 14. Essential Elements of Enterprise Platform • Rapid Provisioning • Rapid Application Deployment & Management • Scale Horizontally • Basic Monitoring, Logs & Metrics • No-downtime platform upgrades • Dynamic load balancing and routing • Manage supporting services (data, messaging) • Failure detection and health remediation http://blog.cloudfoundry.org/2013/10/24/essential-elements-of-an-enterprise-paas/
  • 17. Cloud Foundry Contract: 12 Factor App Contract: BOSH Release Contract: Cloud Provider Interface Culture Dev Dev IT Ops Applications Runtime Platform Infrastructure Automation Infrastructure IT Ops IT Ops Tools BOSH
  • 19. Automate App Deployments Step 1 - Upload Upload application files via the Platform Controller API Step 2 - Stage Take application files and package with other dependencies into the container file Step 3 - Distribute Platform controller schedules (assigns) the container to cluster cell Step 4 - Run Assigned cluster cell starts application using provided metadata and informs the platform load balancer/router that application traffic can be routed to container endpoint
  • 20. Elastic Runtime High Level Architecture Cloud Foundry Elastic Runtime Dynamic Router OAuth 2.0 Server (UAA) CELL Garden Build Packs Login Server CC & CC Bridge Blob Store BBS/etcd Sys Log ServiceBrokers Collector App Log ROUTING AUTHENTICATION APP LIFECYCLE APP STORAGE & EXECUTION MESSAGING METRICS & LOGGING Cloud Foundry BOSH BBS Converger
  • 21. Elastic Runtime What You Care About • Cloud Controller • Applications • Buildpacks • Services • Service Brokers • Routing • Health Management • Loggregator Cloud Foundry Elastic Runtime Dynamic Router APP HOSTS App Build Packs Loggregator ServiceBrokers ROUTING AUTHENTICATION APP STORAGE & EXECUTION METRICS & LOGGING Cloud Foundry BOSH Cloud Controller App AppApp
  • 22. Applications Source code and application frameworks used by developers to create application – Java/Spring – Ruby/Rails – JavaScript for Node.js – .Net – others
  • 23. Cloud Controller • Restful API to allow clients to access platform functionality • Several Clients exist to call functionality – Command Line Interface – Apps Manager – IDE Plugins
  • 25. Cloud Foundry CLI • CLI is a RESTful client to Cloud Controller • Commands Structured as CF <<command>> <<parameters>> • Built in Architecture for Plugin extensions • Getting help – cf –h returns available commands – cf <<command>> -h returns help for a specific command • Includes ability to write plugins to extend
  • 26. Buildpacks • A Buildpack is a combination of scripts that will combine the application with the frameworks and runtimes necessary to deploy • Written as scripts that: – Detect if buildpack should be applied – Compile container file by combining application code and defined runtime components – Release describe how app container can be deployed to an assigned container host • Installed into a Cloud Foundry instance or loaded from an external location
  • 27. • Monitor applications to determine version, current state, and number of instances and status via health checks • On changes Determine desired application state and instances from cloud controller and converges to desired state Health Management
  • 28. Services • Services are an add on that can be provisioned to provide service an application – Databases (MySQL, Mongo, Redis) and Rabbit MQ • Marketplace service instances are created and bound using a Service Broker • Bound services connection information is placed in application environment variable
  • 29. Service Broker • Restful endpoint that provides contract allowing self service creation and binding to apps by authorized users – create – delete – bind – unbind – catalog
  • 30. • Router shapes and routes all external system traffic (HTTP/API/TCP) – maintains a dynamic routing table for each load-balanced app instance • URL Routes to applications consist of domain, host, and optionally a path • Applications are either assigned route based upon application name or defined host • Allows extension through Route Services Router and URL Routes
  • 31. • Applications write logs to STDOUT and STDERR • Relevant Cloud Foundry component events added to application stream • Log events collected, collated, and expose via API and the firehose • API Allows application users and operators to: – Tail their application logs – Dump a recent set of application logs – Continually drain their application logs to 3rd party log archive and analysis service Loggregator
  • 33. What Is BOSH? • BOSH is an open source tool chain for release engineering, deployment, and lifecycle management of large-scale distributed services. • BOSH was specifically developed to facilitate the deployment of Cloud Foundry • BOSH Interacts with IaaS via Cloud Provider Interface (CPI)
  • 34. BOSH Architecture DB Blob Store Worker NATS Health Monitor CPI DirectorCLI Inner shell Outer shell Agents
  • 35. Cloud Provider Interface Stemcell ▪ create_stemcell(image, cloud_properties) ▪ delete_stemcell(stemcell_id) VM ▪ create_vm(agent_id, stemcell_id, resource_pool, networks, disk_locality, env) ▪ delete_vm(vm_id) ▪ reboot_vm(vm_id) ▪ has_vm(vm_id) ▪ set_vm_metadata(vn_id, metadata) ▪ configure_networks(vm_id, networks)
  • 36. Cloud Provider Interface Disk create_disk(size, vm_locality) delete_disk(disk_id) attach_disk(vm_id, disk_id) detach_disk(vm_id, disk_id) has_disk(disk_id) get_disks(disk_id, metadata) Disk Snapshots snapshot_disk(disk_id, metadata) delete_snapshot (disk_id) current_vm_id(vm_id)
  • 37. BOSH Delivery Concepts • Stemcells • Release • Deployment
  • 38. Stemcell • Base OS System • BOSH Agent • Same for all Infrastructures • No specific info about software to be installed • Wrapped in IaaS packaging that allows fast cloning ▪ vSphere - VMDK ▪ AWS – AMI ▪ Google Compute - Image
  • 39. Release • Versioned collection of: – configuration properties – configuration templates – start up scripts – source code – binary artifacts – Other stuff (like config)
  • 40. • Collection of VMs (1 or more) • Built from stemcells • Populated with Releases and Persistent Disk Deployment