SlideShare a Scribd company logo
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
Cloud Native
DevOps Continuous
Delivery
ContainersMicro services
12 Factor Apps
Some Further Reading
https://content.pivotal.io/ebooks
Topics
● Structure and Opinions
● Introduction to Cloud Foundry
● The Structure and Opinions of Cloud Foundry
Setting the Stage
Structure and Opinions
Structured - Stronger Guarantees
Opinionated - More DefaultsLogs
Lumber
Treehouse
Structure and Opinions
● Structure - coherent form or organization
● Opinions - Specific Implementation of Something
Enterprise Architecture Context
Structure and Opinions
● Structure - Governance
● Opinions - Reference Architecture
Conceptual IT Mapping
Structure and Opinions
● Structure - API
● Opinions - API implementation
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 Native Framework
Contract: 12 Factor App
Contract: BOSH Deployment/Release
Contract: Cloud Provider Interface
Culture
Dev
Dev IT
Ops
Applications
Runtime
Platform
Infrastructure Automation
Infrastructure
IT
Ops
IT
Ops
Tools
BOSH
Services
Cloud Native Framework
Contract: 12 Factor App
Contract: BOSH Deployment/Release
Contract: Cloud Provider Interface
Culture
Dev
Dev IT
Ops
Applications
Runtime
Platform
Infrastructure Automation
Infrastructure
IT
Ops
IT
Ops
Tools
BOSH
Services
The Structures
(and Default Opinions)
Cloud Native Framework
Contract: 12 Factor App
Contract: BOSH Deployment/Release
Contract: Cloud Provider Interface
Culture
Dev
Dev IT
Ops
Applications
Runtime
Platform
Infrastructure Automation
Infrastructure
IT
Ops
IT
Ops
Tools
BOSH
Services
Infrastructure (as a Service)
Infrastructure Resource Pool
than can be provisioned via
API calls
Cloud Native Framework
Contract: 12 Factor App
Contract: BOSH Deployment/Release
Contract: Cloud Provider Interface
Culture
Dev
Dev IT
Ops
Applications
Runtime
Platform
Infrastructure Automation
Infrastructure
IT
Ops
IT
Ops
Tools
BOSH
Services
Infrastructure
Automation
via 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)
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 Architecture
DB Blob Store
Worker NATS
Health
Monitor
CPI
DirectorCLI
Inner shell
Outer shell
Agents
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 and Azure - 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
Deployment Example
Full Example - https://bosh.io/docs/sample-manifest.html
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
Cloud Native Framework
Contract: 12 Factor App
Contract: BOSH Deployment/Release
Contract: Cloud Provider Interface
Culture
Dev
Dev IT
Ops
Applications
Runtime
Platform
Infrastructure Automation
Infrastructure
IT
Ops
IT
Ops
Tools
BOSH
Services
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
Application Deployment
Applications
Source code and application frameworks used by developers to
create application
– Java/Spring
– Ruby/Rails
– JavaScript for Node.js
– .Net
– others
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
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
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
• Loggregator
• Route Services
• Container Networking
• Credential Storage Management and Rotation
Other Structures and Opinions
• 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
• Enable automatic insertion of
services into the request path
for applications configured for
specific needs
• Use Cases
– API Gateway
– Security Gateways
– Anayltics
Route Services
Client
Route Service
Router App
Service
Broker
• Provides mean to
communication between
containers via a SDN
provider
• CNI API used to provide
common interaction across
SDN Providers
Container Networking Control
A central point of control for
credential
• Generation
• Storage
• lifecycle management
• access control
• access event logging
CredHub
Any Questions?
http://i.onionstatic.com/avclub/6077/85/16x9/960.jpg

More Related Content

What's hot

IBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode DeployIBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode DeployJared Putman
 
Introduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application ArchitectureIntroduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application ArchitectureDavid Currie
 
Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview Nima Badiey
 
Cloud Foundry Diego, Lattice, Docker and more
Cloud Foundry Diego, Lattice, Docker and moreCloud Foundry Diego, Lattice, Docker and more
Cloud Foundry Diego, Lattice, Docker and morecornelia davis
 
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...VMware Tanzu
 
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)VMware Tanzu
 
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamicsMonitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamicsNima Badiey
 
Whats New in Integration What's New in IBM Integration Bus and IIB on Cloud
Whats New in Integration What's New in IBM Integration Bus and IIB on Cloud Whats New in Integration What's New in IBM Integration Bus and IIB on Cloud
Whats New in Integration What's New in IBM Integration Bus and IIB on Cloud Rob Convery
 
VMware - Application Portability
VMware - Application PortabilityVMware - Application Portability
VMware - Application PortabilityVMUG IT
 
Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Stuart Charlton
 
Cloud foundry architecture and deep dive
Cloud foundry architecture and deep diveCloud foundry architecture and deep dive
Cloud foundry architecture and deep diveAnimesh Singh
 
Cloud foundry presentation
Cloud foundry presentation Cloud foundry presentation
Cloud foundry presentation Vivek Parihar
 
What's New In Windows Server 2008 R2 For IT Pros - Extended Edition
What's New In Windows Server 2008 R2 For IT Pros - Extended EditionWhat's New In Windows Server 2008 R2 For IT Pros - Extended Edition
What's New In Windows Server 2008 R2 For IT Pros - Extended EditionAmit Gatenyo
 
Bluemix Technical Overview
Bluemix Technical OverviewBluemix Technical Overview
Bluemix Technical Overviewrogerp67
 
02 ibm navigator 4 q14 arch and sys topology pit
02 ibm navigator 4 q14 arch and sys topology pit02 ibm navigator 4 q14 arch and sys topology pit
02 ibm navigator 4 q14 arch and sys topology pitEswar Eluri
 
DevOps & Continuous Test for IIB and IBM MQ
DevOps & Continuous Test for IIB and IBM MQDevOps & Continuous Test for IIB and IBM MQ
DevOps & Continuous Test for IIB and IBM MQStuart Feasey
 
Dissecting The PaaS Landscape
Dissecting The PaaS LandscapeDissecting The PaaS Landscape
Dissecting The PaaS LandscapeRishidot Research
 

What's hot (20)

IBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode DeployIBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode Deploy
 
Introduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application ArchitectureIntroduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application Architecture
 
Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview
 
Cloud Foundry Diego, Lattice, Docker and more
Cloud Foundry Diego, Lattice, Docker and moreCloud Foundry Diego, Lattice, Docker and more
Cloud Foundry Diego, Lattice, Docker and more
 
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
 
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
 
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamicsMonitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
 
Whats New in Integration What's New in IBM Integration Bus and IIB on Cloud
Whats New in Integration What's New in IBM Integration Bus and IIB on Cloud Whats New in Integration What's New in IBM Integration Bus and IIB on Cloud
Whats New in Integration What's New in IBM Integration Bus and IIB on Cloud
 
VAS - VMware CMP
VAS - VMware CMPVAS - VMware CMP
VAS - VMware CMP
 
VMware - Application Portability
VMware - Application PortabilityVMware - Application Portability
VMware - Application Portability
 
Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016
 
Cache-Aside Cloud Design Pattern
Cache-Aside Cloud Design PatternCache-Aside Cloud Design Pattern
Cache-Aside Cloud Design Pattern
 
IBM Containers- Bluemix
IBM Containers- BluemixIBM Containers- Bluemix
IBM Containers- Bluemix
 
Cloud foundry architecture and deep dive
Cloud foundry architecture and deep diveCloud foundry architecture and deep dive
Cloud foundry architecture and deep dive
 
Cloud foundry presentation
Cloud foundry presentation Cloud foundry presentation
Cloud foundry presentation
 
What's New In Windows Server 2008 R2 For IT Pros - Extended Edition
What's New In Windows Server 2008 R2 For IT Pros - Extended EditionWhat's New In Windows Server 2008 R2 For IT Pros - Extended Edition
What's New In Windows Server 2008 R2 For IT Pros - Extended Edition
 
Bluemix Technical Overview
Bluemix Technical OverviewBluemix Technical Overview
Bluemix Technical Overview
 
02 ibm navigator 4 q14 arch and sys topology pit
02 ibm navigator 4 q14 arch and sys topology pit02 ibm navigator 4 q14 arch and sys topology pit
02 ibm navigator 4 q14 arch and sys topology pit
 
DevOps & Continuous Test for IIB and IBM MQ
DevOps & Continuous Test for IIB and IBM MQDevOps & Continuous Test for IIB and IBM MQ
DevOps & Continuous Test for IIB and IBM MQ
 
Dissecting The PaaS Landscape
Dissecting The PaaS LandscapeDissecting The PaaS Landscape
Dissecting The PaaS Landscape
 

Similar to MNAssociationEnterpriseArchitectsCloudFoundryJuly2017

Structure and Opinions - Software Deployments with Cloud Foundry
Structure and Opinions - Software Deployments with Cloud FoundryStructure and Opinions - Software Deployments with Cloud Foundry
Structure and Opinions - Software Deployments with Cloud FoundryAndrew Ripka
 
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
 
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
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los AngelesVMware Tanzu
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overviewcornelia davis
 
IoT Physical Servers and Cloud Offerings.pdf
IoT Physical Servers and Cloud Offerings.pdfIoT Physical Servers and Cloud Offerings.pdf
IoT Physical Servers and Cloud Offerings.pdfGVNSK Sravya
 
Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Phil Estes
 
IBM Lightning Talk
IBM Lightning TalkIBM Lightning Talk
IBM Lightning TalkMongoDB
 
Moving Your Enterprise to the Cloud
Moving Your Enterprise to the CloudMoving Your Enterprise to the Cloud
Moving Your Enterprise to the CloudImesh Gunaratne
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018Krishna-Kumar
 
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeHitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeRobert van Mölken
 
Platform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixPlatform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixDavid Currie
 
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the CloudMongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the CloudMongoDB
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixIBM
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developersDaniel Krook
 
Integrating MongoDB into Cloud Foundry App
Integrating MongoDB into Cloud Foundry AppIntegrating MongoDB into Cloud Foundry App
Integrating MongoDB into Cloud Foundry AppIBM
 
Cloud Foundry and MongoDB
Cloud Foundry and MongoDBCloud Foundry and MongoDB
Cloud Foundry and MongoDBJake Peyser
 

Similar to MNAssociationEnterpriseArchitectsCloudFoundryJuly2017 (20)

Structure and Opinions - Software Deployments with Cloud Foundry
Structure and Opinions - Software Deployments with Cloud FoundryStructure and Opinions - Software Deployments with Cloud Foundry
Structure and Opinions - Software Deployments with Cloud Foundry
 
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
 
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
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 
IoT Physical Servers and Cloud Offerings.pdf
IoT Physical Servers and Cloud Offerings.pdfIoT Physical Servers and Cloud Offerings.pdf
IoT Physical Servers and Cloud Offerings.pdf
 
Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?
 
PaaS Solutions Comparison
PaaS Solutions ComparisonPaaS Solutions Comparison
PaaS Solutions Comparison
 
IBM Lightning Talk
IBM Lightning TalkIBM Lightning Talk
IBM Lightning Talk
 
Moving Your Enterprise to the Cloud
Moving Your Enterprise to the CloudMoving Your Enterprise to the Cloud
Moving Your Enterprise to the Cloud
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeHitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
 
Platform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixPlatform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM Bluemix
 
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the CloudMongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on Bluemix
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
 
Integrating MongoDB into Cloud Foundry App
Integrating MongoDB into Cloud Foundry AppIntegrating MongoDB into Cloud Foundry App
Integrating MongoDB into Cloud Foundry App
 
Cloud Foundry and MongoDB
Cloud Foundry and MongoDBCloud Foundry and MongoDB
Cloud Foundry and MongoDB
 

Recently uploaded

Bug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's GuideBug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's GuideVarun Mithran
 
How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?Linksys Velop Login
 
Article writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptxArticle writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptxabhinandnam9997
 
Pvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdfPvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdfPvtaan
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxlaozhuseo02
 
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理aagad
 
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkkaudience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkklolsDocherty
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesSanjeev Rampal
 
The AI Powered Organization-Intro to AI-LAN.pdf
The AI Powered Organization-Intro to AI-LAN.pdfThe AI Powered Organization-Intro to AI-LAN.pdf
The AI Powered Organization-Intro to AI-LAN.pdfSiskaFitrianingrum
 
The Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case StudyThe Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case StudyDamar Juniarto
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEHimani415946
 
Case study on merger of Vodafone and Idea (VI).pptx
Case study on merger of Vodafone and Idea (VI).pptxCase study on merger of Vodafone and Idea (VI).pptx
Case study on merger of Vodafone and Idea (VI).pptxAnkitscribd
 

Recently uploaded (13)

Bug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's GuideBug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's Guide
 
How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?
 
Article writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptxArticle writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptx
 
Pvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdfPvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdf
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
 
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkkaudience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
The AI Powered Organization-Intro to AI-LAN.pdf
The AI Powered Organization-Intro to AI-LAN.pdfThe AI Powered Organization-Intro to AI-LAN.pdf
The AI Powered Organization-Intro to AI-LAN.pdf
 
The Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case StudyThe Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case Study
 
The Best AI Powered Software - Intellivid AI Studio
The Best AI Powered Software - Intellivid AI StudioThe Best AI Powered Software - Intellivid AI Studio
The Best AI Powered Software - Intellivid AI Studio
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
 
Case study on merger of Vodafone and Idea (VI).pptx
Case study on merger of Vodafone and Idea (VI).pptxCase study on merger of Vodafone and Idea (VI).pptx
Case study on merger of Vodafone and Idea (VI).pptx
 

MNAssociationEnterpriseArchitectsCloudFoundryJuly2017

  • 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
  • 5. Topics ● Structure and Opinions ● Introduction to Cloud Foundry ● The Structure and Opinions of Cloud Foundry
  • 7. Structured - Stronger Guarantees Opinionated - More DefaultsLogs Lumber Treehouse
  • 8. Structure and Opinions ● Structure - coherent form or organization ● Opinions - Specific Implementation of Something
  • 9. Enterprise Architecture Context Structure and Opinions ● Structure - Governance ● Opinions - Reference Architecture
  • 10. Conceptual IT Mapping Structure and Opinions ● Structure - API ● Opinions - API implementation
  • 12. Cloud Foundry gives companies the speed, simplicity and control they need to develop and deploy applications faster and easier.
  • 13.
  • 14. • Platform As a Service – Polyglot Runtime supporting multiple languages and frameworks – Choice of IaaS Providers – Choice of Application Services
  • 17. 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/
  • 20. Cloud Native Framework Contract: 12 Factor App Contract: BOSH Deployment/Release Contract: Cloud Provider Interface Culture Dev Dev IT Ops Applications Runtime Platform Infrastructure Automation Infrastructure IT Ops IT Ops Tools BOSH Services
  • 21. Cloud Native Framework Contract: 12 Factor App Contract: BOSH Deployment/Release Contract: Cloud Provider Interface Culture Dev Dev IT Ops Applications Runtime Platform Infrastructure Automation Infrastructure IT Ops IT Ops Tools BOSH Services
  • 23. Cloud Native Framework Contract: 12 Factor App Contract: BOSH Deployment/Release Contract: Cloud Provider Interface Culture Dev Dev IT Ops Applications Runtime Platform Infrastructure Automation Infrastructure IT Ops IT Ops Tools BOSH Services
  • 24. Infrastructure (as a Service) Infrastructure Resource Pool than can be provisioned via API calls
  • 25. Cloud Native Framework Contract: 12 Factor App Contract: BOSH Deployment/Release Contract: Cloud Provider Interface Culture Dev Dev IT Ops Applications Runtime Platform Infrastructure Automation Infrastructure IT Ops IT Ops Tools BOSH Services
  • 27. 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)
  • 28. 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)
  • 29. 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)
  • 30. BOSH Architecture DB Blob Store Worker NATS Health Monitor CPI DirectorCLI Inner shell Outer shell Agents
  • 31. BOSH Delivery Concepts • Stemcells • Release • Deployment
  • 32. 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 and Azure - Image
  • 33. Release • Versioned collection of: – configuration properties – configuration templates – start up scripts – source code – binary artifacts – Other stuff (like config)
  • 34. • Collection of VMs (1 or more) • Built from stemcells • Populated with Releases and Persistent Disk Deployment
  • 35. Deployment Example Full Example - https://bosh.io/docs/sample-manifest.html
  • 36. 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
  • 37. Cloud Native Framework Contract: 12 Factor App Contract: BOSH Deployment/Release Contract: Cloud Provider Interface Culture Dev Dev IT Ops Applications Runtime Platform Infrastructure Automation Infrastructure IT Ops IT Ops Tools BOSH Services
  • 38. Cloud Controller • Restful API to allow clients to access platform functionality • Several Clients exist to call functionality – Command Line Interface – Apps Manager – IDE Plugins
  • 40. 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
  • 42. Applications Source code and application frameworks used by developers to create application – Java/Spring – Ruby/Rails – JavaScript for Node.js – .Net – others
  • 43. 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
  • 44. 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
  • 45. 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
  • 46. Service Broker • Restful endpoint that provides contract allowing self service creation and binding to apps by authorized users – create – delete – bind – unbind – catalog
  • 47. • Loggregator • Route Services • Container Networking • Credential Storage Management and Rotation Other Structures and Opinions
  • 48. • 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
  • 49. • Enable automatic insertion of services into the request path for applications configured for specific needs • Use Cases – API Gateway – Security Gateways – Anayltics Route Services Client Route Service Router App Service Broker
  • 50. • Provides mean to communication between containers via a SDN provider • CNI API used to provide common interaction across SDN Providers Container Networking Control
  • 51. A central point of control for credential • Generation • Storage • lifecycle management • access control • access event logging CredHub