SlideShare a Scribd company logo
1 of 34
Download to read offline
Introduction to Platform-as-a-Service and Cloud Foundry!
Manuel Silveyra Senior Cloud Solutions Architect IBM Open Technologies !
silveyra@us.ibm.com
@manuel_silveyra

https://developer.ibm.com/opentech/

2/24/15
 Austin Cloud Foundry PaaS Meetup
Agenda!
•  What is Platform-as-a-Service?
•  What is Cloud Foundry?
•  Sample Cloud Foundry Flow
•  The 12 Factor Application and Microservices
•  Questions
2/24/15
 Austin Cloud Foundry PaaS Meetup
 2
Cloud Delivery Models!
Applications
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Traditional on
Premise
Applications
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Infrastructure-as-
a-Service
Applications
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Platform-as-a-
Service
Applications
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Software-as-a-
Service
Standardization – Lower Costs –Faster Time to Value
Vendor Manages in Cloud
Client Manages
2/24/15
 Austin Cloud Foundry PaaS Meetup
 3
IaaS: The Software Defined Data Center!
Applications
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Infrastructure-as-
a-Service
Ops
2/24/15
 Austin Cloud Foundry PaaS Meetup
 4
PaaS: The Cloud Operating Environment!
Applications
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Platform-as-a-
Service
Dev
2/24/15
 Austin Cloud Foundry PaaS Meetup
 5
SaaS: The API Economy!
Applications
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Software-as-a-
Service
OAuth	
  
Users
2/24/15
 Austin Cloud Foundry PaaS Meetup
 6
The Key Benefits of PaaS for Developers!
•  There's no need to focus on provisioning, managing, or monitoring the
compute, storage, network and software
–  Developers can create working prototypes in a matter of minutes.
–  Developers can create new versions or deploy new code more rapidly
–  Developers can self-assemble services to create integrated applications.
–  Developers can scale applications more elastically by starting more
instances.
–  Developers don’t have to worry about underlying operating system and
middleware security patches.
–  Developers can mitigate backup and recovery strategies, assuming the
PaaS takes care of this.
2/24/15
 Austin Cloud Foundry PaaS Meetup
 7
The Key Disadvantages of PaaS for Developers!
•  Applications require a different architecture mindset
–  This requires developer skill and awareness of best practices and web app
limitations.
–  Don’t have as much control over the underlying infrastructure. Security,
versioning, performance considerations
2/24/15
 Austin Cloud Foundry PaaS Meetup
 8
Agenda!
•  What is Platform-as-a-Service?
•  What is Cloud Foundry?
•  Sample Cloud Foundry flow
•  The 12 Factor Application and Microservices
•  Questions
2/24/15
 Austin Cloud Foundry PaaS Meetup
 9
Cloud Foundry is the industry’s Open PaaS and provides a choice of
clouds, frameworks, and application services. Its unique vision is to
foster contributions from a broad community of developers, users,
customers, partners, and ISVs while advancing development of the
platform at extreme velocity.
cloudfoundry.org
2/24/15
 Austin Cloud Foundry PaaS Meetup
 10
The Cloud Foundry Foundation!
•  The Cloud Foundry Foundation's mission is to establish and sustain Cloud
Foundry as the global industry standard open source PaaS technology with a
thriving ecosystem.
•  To deliver continuous quality, value and innovation to users, operators
and providers of Cloud Foundry technology.
•  To provide a vibrant agile experience for the community's contributors that
delivers the highest quality cloud-native applications and software, at high
velocity with global scale.
•  Its guiding principles are:
–  Governance By Contribution - Influence within the Foundation is based on
contributions.
–  IP Hygiene - IP cleanliness must be preserved at all times.
–  Equal Opportunity To Participate - Everyone has an equal opportunity to
participate in projects.
–  No Surprises - Planning processes and project status are open to all.
2/24/15
 Austin Cloud Foundry PaaS Meetup
 11
The Cloud Foundry Foundation!
http://www.cloudfoundry.org/about/index.html!
2/24/15
 Austin Cloud Foundry PaaS Meetup
 12
Cloud Foundry Architecture!
•  The platform is abstracted as a
set of large-scale distributed
services.
•  It uses Cloud Foundry Bosh to
operate the underlying
infrastructure from the IaaS
providers.
•  Components are dynamically
discoverable and loosely
coupled.
•  Health is exposed through
HTTP endpoints so agents can
collect state information and act
on it.
2/24/15
 Austin Cloud Foundry PaaS Meetup
 13
Cloud Foundry Components: Dynamic Router!
How It Works
•  The router shapes and routes all
external system traffic (HTTP/
API) and application traffic from
the internet/intranet. 
•  It maintains a dynamic routing
table for each load-balanced
app instance with IP addresses
and ports. 
Responsible For
•  Load balancing
•  Maintaining an active routing
table
•  Access logs
•  Supports web-sockets
2/24/15
 Austin Cloud Foundry PaaS Meetup
 14
Cloud Foundry Components: Cloud Controller!
How It Works
•  The Cloud Controller maintains
command and control systems,
including interface with clients
(CLI, Web UI, Spring STS),
account and provisioning
control. 
•  It also provides RESTful
interface to domain objects
(apps, services, organizations,
spaces, service instances, user
roles, and more).
Responsible For
•  Expected App state, state
transitions, and desired
convergence 
•  Permissions/Auth Orgs/Spaces/
Users 
•  Services management
•  App placement
•  Auditing/Journaling and billing
events 
•  Blob storage 
2/24/15
 Austin Cloud Foundry PaaS Meetup
 15
Cloud Foundry Components: UAA and Login Servers!
How It Works
•  “User Authorization and
Authentication” provides
identity, security and
authorization services. 
•  It manages third party OAuth
2.0 access credentials and can
provide application access and
identity-as-a-service for apps
running on Cloud Foundry. 
•  Composed of: UAA Server,
Command Line Interface,
Library. 
Responsible For
•  Token Server
•  ID Server (User management)
•  OAuth Scopes (Groups) and
SCIM
•  Login Server
–  UAA Database
–  SAML support (for SSO
integration) and Active
Directory support with the
VMware SSO Appliance
•  Access auditing
2/24/15
 Austin Cloud Foundry PaaS Meetup
 16
Cloud Foundry Components: Health Manager!
How It Works
•  Health Manager monitors
application uptime by listening
to the NATS message bus for
mismatched application states
(expected vs. actual). 
•  The Cloud Controller publishes
expected state and the DEAs
publish actual state. 
•  State mismatches are reported
to the Cloud Controller. 
Responsible For
•  Maintains the actual state of
apps
•  Compares to expected state
•  Sends suggestions to make
actual match expected (cannot
make state changes itself – only
CC can do that!)
2/24/15
 Austin Cloud Foundry PaaS Meetup
 17
Cloud Foundry Components: DEA!
How It Works
•  “Droplet Execution Agents” are
secure and fully isolated
containers. 
•  DEAs are responsible for an
Apps lifecycle: building, starting
and stopping Apps as
instructed. 
•  They periodically broadcast
messages about their state via
the NATS message bus. 
Responsible For
•  Managing Linux containers
(Warden) 
•  Monitoring resource pools
–  Process
–  File system
–  Network
–  Memory
•  Managing app lifecycle
•  App log and file streaming
•  DEA heartbeats (NATS to CC,
HM)
2/24/15
 Austin Cloud Foundry PaaS Meetup
 18
Cloud Foundry Components: Buildpacks!
How It Works
•  Buildpacks are Ruby scripts
that detect application
runtimes/frameworks/plugins,
compile the source code into
executable binaries, and release
the app to an assigned DEA. 
•  Runtime components can be
cached for faster execution of
subsequent app pushes. 
Responsible For
•  Staging*
–  /bin/detect
–  /bin/compile
–  /bin/release
•  Configure droplet
–  Runtime (Ruby/Java/Node/
Python)
–  Container (Tomcat/Liberty/
Jetty)
–  Application (.WAR, .rb, .js, .py)
(*) Cloud Foundry Buildpacks are compatible with Heroku 
2/24/15
 Austin Cloud Foundry PaaS Meetup
 19
Cloud Foundry Components: Messaging (NATS)!
How It Works
•  NATS is a fast internal
messaging bus to manage
system wide communication via
a publish-and-subscribe
mechanism. 
Responsible For
•  Non-Persistent messaging
•  Pub/Sub
•  Queues (app events)
•  Directed messages (INBOX)
2/24/15
 Austin Cloud Foundry PaaS Meetup
 20
Cloud Foundry Components: Service Broker!
How It Works
•  Service Brokers provide an
interface for native and external
3rd party services. 
•  Service processes run on
Service Nodes or with external
as-a-service providers (e.g.,
email, database, messaging,
etc.). 
Responsible For
•  Advertising service catalog.
•  Makes create/delete/bind/
unbind calls to service nodes.
•  Requests inventory of existing
instances and bindings from
cloud controller for caching,
orphan management.
•  SaaS marketplace gateway.
•  Implemented as HTTP enpoint,
written in any language.
2/24/15
 Austin Cloud Foundry PaaS Meetup
 21
Cloud Foundry Components: UPSI!
How It Works
•  User Provided Service
Instances (formerly “Service
Connectors”) store meta-data in
the Service Broker to enable
Cloud Foundry to connect to
local services that are NOT
managed by Cloud Foundry
(e.g., OracleDB, DB2,
SQLServer, etc.) 
Responsible For
•  Metadata management
2/24/15
 Austin Cloud Foundry PaaS Meetup
 22
Cloud Foundry Architecture!
2/24/15
 Austin Cloud Foundry PaaS Meetup
 23
Agenda!
•  What is Platform-as-a-Service?
•  What is Cloud Foundry?
•  Sample Cloud Foundry Flow
•  The 12 Factor Application and Microservices
•  Questions
2/24/15
 Austin Cloud Foundry PaaS Meetup
 24
Pushing an App to Cloud Foundry!
Dev
 Cloud Foundry CLI
 Cloud Controller
Cloud Foundry Deployment
Internet
Blobstore
DEA
1.  Log in to the UAA
2.  Upload application bits and metadata
3.  Create and bind application
4.  Stage application
5.  Deploy application
6.  Manage application health
2/24/15
 Austin Cloud Foundry PaaS Meetup
 25
Accessing an App in Cloud Foundry!
User
 Dynamic Router
Cloud Foundry Deployment
DEA
DEA
Internet
1.  Browser connects to the router
2.  Router directs traffic to the DEA
DEA
DEA
2/24/15
 Austin Cloud Foundry PaaS Meetup
 26
Agenda!
•  What is Platform-as-a-Service?
•  What is Cloud Foundry?
•  Sample Cloud Foundry Flow
•  The 12 Factor Application and Microservices
•  Questions
2/24/15
 Austin Cloud Foundry PaaS Meetup
 27
Best Practices for Microservice Architectures!
The 12 factor app is a methodology for building apps
that:
•  Use declarative formats for setup automation, to
minimize time and cost for new developers joining the
project.
•  Have a clean contract with the underlying operating
system, offering maximum portability between
execution environments.
•  Are suitable for deployment on modern cloud
platforms, obviating the need for servers and
systems administration.
•  Minimize divergence between development and
production, enabling continuous deployment for
maximum agility.
•  And can scale up without significant changes to
tooling, architecture, or development practices.
The 12 factor methodology can be applied to apps
written in any programming language, and which use
any combination of backing services (database,
queue, memory cache, etc.)
1.  Codebase
One codebase tracked in revision control, many deploys.
2.  Dependencies
Explicitly declare and isolate dependencies.
3.  Config
Store config in the environment.
4.  Backing Services
Treat backing services as attached resources.
5.  Build, Release, Run
Strictly separate build and run stages.
6.  Port Binding
Export services via port binding.
7.  Concurrency
Scale out via the process model.
8.  Disposability
Maximize robustness with fat startup and graceful
shutdown.
9.  Dev/Prod Parity
Keep development, staging, and production as similar as
possible.
10.  Logs
Treat logs as event streams.
11.  Admin Processes
Run admin/management tasks as one-off processes.
12factor.net
2/24/15
 Austin Cloud Foundry PaaS Meetup
 28
Designing Apps for the Cloud: PaaS Best Practices!
Following these guidelines makes an application cloud-native, and facilitates deployment to Cloud
Foundry and other cloud platforms.
•  Avoid writing to the local file system
–  Local file system storage is short-lived "
Your application can write local files while it is running, the files will disappear after the application
restarts.
–  Instances of the same application do not share a local file system"
Each application instance runs in its own isolated container. Thus a file written by one instance is not
visible to other instances of the same application.
•  HTTP sessions are not persisted or replicated

Session data that must be available after an application crashes or stops, or that needs to be shared
by all instances of an application, should be stored in a Cloud Foundry service. 
•  Run multiple instances to increase availability

To avoid the risk of an application being unavailable during Cloud Foundry upgrade processes, you
should run more than one instance of an application.
•  Design as if your application can be restarted, destroyed, started at any time!
http://bit.ly/cf-paas-bp 
2/24/15
 Austin Cloud Foundry PaaS Meetup
 29
Agenda!
•  What is Platform-as-a-Service?
•  What is Cloud Foundry?
•  Sample Cloud Foundry Flow
•  The 12 Factor Application and Microservices
•  Questions
2/24/15
 Austin Cloud Foundry PaaS Meetup
 30
Getting Started with Cloud Foundry!
Basics
•  Trial accounts with hosted providers
http://bluemix.net 
http://run.pivotal.io 
•  Cloud Foundry documentation
http://docs.cloudfoundry.org 
•  Cloud Foundry community
http://cloudfoundry.org 
•  Cloud Foundry on GitHub
https://github.com/cloudfoundry 
Advanced
•  “Try Cloud Foundry” on AWS
https://trycf.starkandwayne.com
•  BOSH bootstrap
https://github.com/cloudfoundry-community/bosh-bootstrap 
•  Deploy your own to AWS
http://www.slideshare.net/SpringCentral/build-yourowncf 
http://docs.cloudfoundry.org/deploying/ec2/ 
•  Install on on a laptop
https://github.com/cloudfoundry/bosh-lite
https://github.com/yudai/cf_nise_installer
•  Stackato Micro Cloud
http://www.activestate.com/stackato/get_stackato 
2/24/15
 Austin Cloud Foundry PaaS Meetup
 31
Cloud Foundry Versus Other Platforms-as-a-Service!
2/24/15
 Austin Cloud Foundry PaaS Meetup
 32
http://paasify.it
Links!
•  Cloud Foundry for PHP developers
http://bit.ly/cf-for-php
•  Cloud Foundry 101 - Platform: The Cloud Foundry Conference 
https://www.youtube.com/watch?v=nOuxMHJIKFU
•  Matt Stine - Cloud Foundry and Microservices: A Mutualistic Symbiotic
Relationship (CF Summit 2014)
https://www.youtube.com/watch?v=RGZefc92tZs
•  Cloud Foundry Technical Overview
http://www.slideshare.net/cdavisafc/cloud-foundry-technical-overview
•  A Brief History Of Cloud Foundry and Stackato 

http://www.activestate.com/blog/2014/03/brief-history-cloud-foundry-and-stackato
•  PaaS Comparison: Cloud Foundry, Microsoft Azure, Google App Engine, Amazon,
Heroku, and OpenShift
http://blog.pivotal.io/cloud-foundry-pivotal/features/paas-comparison-cloud-foundry-
microsoft-azure-google-app-engine-amazon-heroku-and-openshift
•  CF Summit Sessions: “PaaS Comparison 2014″
http://blog.altoros.com/cf-summit-2014-paas-comparison.html
2/24/15
 Austin Cloud Foundry PaaS Meetup
 33
2/24/15
 Austin Cloud Foundry PaaS Meetup

More Related Content

What's hot

Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...Animesh Singh
 
Dissecting The PaaS Landscape
Dissecting The PaaS LandscapeDissecting The PaaS Landscape
Dissecting The PaaS LandscapeRishidot Research
 
The Cloud Foundry Story
The Cloud Foundry StoryThe Cloud Foundry Story
The Cloud Foundry StoryVMware Tanzu
 
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 LearntAnimesh Singh
 
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
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developersDaniel Krook
 
Moving at the speed of startup with Pivotal Cloud Foundry 1.11
Moving at the speed of startup with Pivotal Cloud Foundry 1.11Moving at the speed of startup with Pivotal Cloud Foundry 1.11
Moving at the speed of startup with Pivotal Cloud Foundry 1.11VMware Tanzu
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipMatt Stine
 
From Cloud Computing to Platform as a Service – BCS Oxfordshire
From Cloud Computing to Platform as a Service – BCS OxfordshireFrom Cloud Computing to Platform as a Service – BCS Oxfordshire
From Cloud Computing to Platform as a Service – BCS OxfordshireAndy Piper
 
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
 
Going Cloud Native with Cloud Foundry
Going Cloud Native with Cloud FoundryGoing Cloud Native with Cloud Foundry
Going Cloud Native with Cloud FoundryChip Childers
 
Pivotal cloud foundry introduction
Pivotal cloud foundry introductionPivotal cloud foundry introduction
Pivotal cloud foundry introductionGaurav Shukla
 
PaaS Ecosystem Overview
PaaS Ecosystem OverviewPaaS Ecosystem Overview
PaaS Ecosystem OverviewDmitry Meytin
 
Cloud Foundry BOSH CPI for OpenStack
Cloud Foundry BOSH CPI for OpenStackCloud Foundry BOSH CPI for OpenStack
Cloud Foundry BOSH CPI for OpenStackAnimesh Singh
 
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
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overviewcornelia davis
 
Automated Lifecycle Management - CloudFoundry on OpenStack
Automated Lifecycle Management - CloudFoundry on OpenStackAutomated Lifecycle Management - CloudFoundry on OpenStack
Automated Lifecycle Management - CloudFoundry on OpenStackAnimesh Singh
 
Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209minseok kim
 
OS + CF Austin meetup
OS + CF Austin meetupOS + CF Austin meetup
OS + CF Austin meetupragss
 

What's hot (20)

Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
 
Dissecting The PaaS Landscape
Dissecting The PaaS LandscapeDissecting The PaaS Landscape
Dissecting The PaaS Landscape
 
The Cloud Foundry Story
The Cloud Foundry StoryThe Cloud Foundry Story
The Cloud Foundry Story
 
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
 
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
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
 
Moving at the speed of startup with Pivotal Cloud Foundry 1.11
Moving at the speed of startup with Pivotal Cloud Foundry 1.11Moving at the speed of startup with Pivotal Cloud Foundry 1.11
Moving at the speed of startup with Pivotal Cloud Foundry 1.11
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
 
From Cloud Computing to Platform as a Service – BCS Oxfordshire
From Cloud Computing to Platform as a Service – BCS OxfordshireFrom Cloud Computing to Platform as a Service – BCS Oxfordshire
From Cloud Computing to Platform as a Service – BCS Oxfordshire
 
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...
 
Going Cloud Native with Cloud Foundry
Going Cloud Native with Cloud FoundryGoing Cloud Native with Cloud Foundry
Going Cloud Native with Cloud Foundry
 
Pivotal cloud foundry introduction
Pivotal cloud foundry introductionPivotal cloud foundry introduction
Pivotal cloud foundry introduction
 
PaaS Ecosystem Overview
PaaS Ecosystem OverviewPaaS Ecosystem Overview
PaaS Ecosystem Overview
 
Cloud Foundry BOSH CPI for OpenStack
Cloud Foundry BOSH CPI for OpenStackCloud Foundry BOSH CPI for OpenStack
Cloud Foundry BOSH CPI for OpenStack
 
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
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 
Automated Lifecycle Management - CloudFoundry on OpenStack
Automated Lifecycle Management - CloudFoundry on OpenStackAutomated Lifecycle Management - CloudFoundry on OpenStack
Automated Lifecycle Management - CloudFoundry on OpenStack
 
Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209
 
An introduction to Cloud Foundry
An introduction to Cloud FoundryAn introduction to Cloud Foundry
An introduction to Cloud Foundry
 
OS + CF Austin meetup
OS + CF Austin meetupOS + CF Austin meetup
OS + CF Austin meetup
 

Similar to Introduction to Platform-as-a-Service and Cloud Foundry

.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
 
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaSOpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaSDaniel Krook
 
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...Jack-Junjie Cai
 
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017Andrew Ripka
 
Open Source Middleware for the Cloud: WSO2 Stratos
Open Source Middleware for the Cloud: WSO2 StratosOpen Source Middleware for the Cloud: WSO2 Stratos
Open Source Middleware for the Cloud: WSO2 StratosWSO2
 
Enterprise Use Case Webinar - PaaS Metering and Monitoring
Enterprise Use Case Webinar - PaaS Metering and Monitoring Enterprise Use Case Webinar - PaaS Metering and Monitoring
Enterprise Use Case Webinar - PaaS Metering and Monitoring WSO2
 
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 OpenStackAnimesh Singh
 
Cloud Native Application @ VMUG.IT 20150529
Cloud Native Application @ VMUG.IT 20150529Cloud Native Application @ VMUG.IT 20150529
Cloud Native Application @ VMUG.IT 20150529VMUG IT
 
IBM Lightning Talk
IBM Lightning TalkIBM Lightning Talk
IBM Lightning TalkMongoDB
 
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceMigrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceDavid Currie
 
AperiStorageResourceManager
AperiStorageResourceManagerAperiStorageResourceManager
AperiStorageResourceManagerRobert Wipfel
 
Private, Managed, Public - All Things WSO2 Cloud
Private, Managed, Public - All Things WSO2 CloudPrivate, Managed, Public - All Things WSO2 Cloud
Private, Managed, Public - All Things WSO2 CloudWSO2
 
Moving Your Enterprise to the Cloud
Moving Your Enterprise to the CloudMoving Your Enterprise to the Cloud
Moving Your Enterprise to the CloudImesh Gunaratne
 
Stratos AppFactory in the Cloud tampa meetup-2013-09
Stratos AppFactory in the Cloud tampa meetup-2013-09Stratos AppFactory in the Cloud tampa meetup-2013-09
Stratos AppFactory in the Cloud tampa meetup-2013-09Chris Haddad
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...confluent
 
Azure Web App services
Azure Web App servicesAzure Web App services
Azure Web App servicesAlexey Bokov
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018Krishna-Kumar
 
Microservices approach for Websphere commerce
Microservices approach for Websphere commerceMicroservices approach for Websphere commerce
Microservices approach for Websphere commerceHARIHARAN ANANTHARAMAN
 
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer DemandPaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer DemandCisco IT
 

Similar to Introduction to Platform-as-a-Service and Cloud Foundry (20)

.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaSOpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
 
PaaS Solutions Comparison
PaaS Solutions ComparisonPaaS Solutions Comparison
PaaS Solutions Comparison
 
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
 
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
 
Open Source Middleware for the Cloud: WSO2 Stratos
Open Source Middleware for the Cloud: WSO2 StratosOpen Source Middleware for the Cloud: WSO2 Stratos
Open Source Middleware for the Cloud: WSO2 Stratos
 
Enterprise Use Case Webinar - PaaS Metering and Monitoring
Enterprise Use Case Webinar - PaaS Metering and Monitoring Enterprise Use Case Webinar - PaaS Metering and Monitoring
Enterprise Use Case Webinar - PaaS Metering and Monitoring
 
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
 
Cloud Native Application @ VMUG.IT 20150529
Cloud Native Application @ VMUG.IT 20150529Cloud Native Application @ VMUG.IT 20150529
Cloud Native Application @ VMUG.IT 20150529
 
IBM Lightning Talk
IBM Lightning TalkIBM Lightning Talk
IBM Lightning Talk
 
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceMigrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
 
AperiStorageResourceManager
AperiStorageResourceManagerAperiStorageResourceManager
AperiStorageResourceManager
 
Private, Managed, Public - All Things WSO2 Cloud
Private, Managed, Public - All Things WSO2 CloudPrivate, Managed, Public - All Things WSO2 Cloud
Private, Managed, Public - All Things WSO2 Cloud
 
Moving Your Enterprise to the Cloud
Moving Your Enterprise to the CloudMoving Your Enterprise to the Cloud
Moving Your Enterprise to the Cloud
 
Stratos AppFactory in the Cloud tampa meetup-2013-09
Stratos AppFactory in the Cloud tampa meetup-2013-09Stratos AppFactory in the Cloud tampa meetup-2013-09
Stratos AppFactory in the Cloud tampa meetup-2013-09
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
 
Azure Web App services
Azure Web App servicesAzure Web App services
Azure Web App services
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
Microservices approach for Websphere commerce
Microservices approach for Websphere commerceMicroservices approach for Websphere commerce
Microservices approach for Websphere commerce
 
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer DemandPaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

Introduction to Platform-as-a-Service and Cloud Foundry

  • 1. Introduction to Platform-as-a-Service and Cloud Foundry! Manuel Silveyra Senior Cloud Solutions Architect IBM Open Technologies ! silveyra@us.ibm.com @manuel_silveyra https://developer.ibm.com/opentech/ 2/24/15 Austin Cloud Foundry PaaS Meetup
  • 2. Agenda! •  What is Platform-as-a-Service? •  What is Cloud Foundry? •  Sample Cloud Foundry Flow •  The 12 Factor Application and Microservices •  Questions 2/24/15 Austin Cloud Foundry PaaS Meetup 2
  • 3. Cloud Delivery Models! Applications Data Runtime Middleware OS Virtualization Servers Storage Networking Traditional on Premise Applications Data Runtime Middleware OS Virtualization Servers Storage Networking Infrastructure-as- a-Service Applications Data Runtime Middleware OS Virtualization Servers Storage Networking Platform-as-a- Service Applications Data Runtime Middleware OS Virtualization Servers Storage Networking Software-as-a- Service Standardization – Lower Costs –Faster Time to Value Vendor Manages in Cloud Client Manages 2/24/15 Austin Cloud Foundry PaaS Meetup 3
  • 4. IaaS: The Software Defined Data Center! Applications Data Runtime Middleware OS Virtualization Servers Storage Networking Infrastructure-as- a-Service Ops 2/24/15 Austin Cloud Foundry PaaS Meetup 4
  • 5. PaaS: The Cloud Operating Environment! Applications Data Runtime Middleware OS Virtualization Servers Storage Networking Platform-as-a- Service Dev 2/24/15 Austin Cloud Foundry PaaS Meetup 5
  • 6. SaaS: The API Economy! Applications Data Runtime Middleware OS Virtualization Servers Storage Networking Software-as-a- Service OAuth   Users 2/24/15 Austin Cloud Foundry PaaS Meetup 6
  • 7. The Key Benefits of PaaS for Developers! •  There's no need to focus on provisioning, managing, or monitoring the compute, storage, network and software –  Developers can create working prototypes in a matter of minutes. –  Developers can create new versions or deploy new code more rapidly –  Developers can self-assemble services to create integrated applications. –  Developers can scale applications more elastically by starting more instances. –  Developers don’t have to worry about underlying operating system and middleware security patches. –  Developers can mitigate backup and recovery strategies, assuming the PaaS takes care of this. 2/24/15 Austin Cloud Foundry PaaS Meetup 7
  • 8. The Key Disadvantages of PaaS for Developers! •  Applications require a different architecture mindset –  This requires developer skill and awareness of best practices and web app limitations. –  Don’t have as much control over the underlying infrastructure. Security, versioning, performance considerations 2/24/15 Austin Cloud Foundry PaaS Meetup 8
  • 9. Agenda! •  What is Platform-as-a-Service? •  What is Cloud Foundry? •  Sample Cloud Foundry flow •  The 12 Factor Application and Microservices •  Questions 2/24/15 Austin Cloud Foundry PaaS Meetup 9
  • 10. Cloud Foundry is the industry’s Open PaaS and provides a choice of clouds, frameworks, and application services. Its unique vision is to foster contributions from a broad community of developers, users, customers, partners, and ISVs while advancing development of the platform at extreme velocity. cloudfoundry.org 2/24/15 Austin Cloud Foundry PaaS Meetup 10
  • 11. The Cloud Foundry Foundation! •  The Cloud Foundry Foundation's mission is to establish and sustain Cloud Foundry as the global industry standard open source PaaS technology with a thriving ecosystem. •  To deliver continuous quality, value and innovation to users, operators and providers of Cloud Foundry technology. •  To provide a vibrant agile experience for the community's contributors that delivers the highest quality cloud-native applications and software, at high velocity with global scale. •  Its guiding principles are: –  Governance By Contribution - Influence within the Foundation is based on contributions. –  IP Hygiene - IP cleanliness must be preserved at all times. –  Equal Opportunity To Participate - Everyone has an equal opportunity to participate in projects. –  No Surprises - Planning processes and project status are open to all. 2/24/15 Austin Cloud Foundry PaaS Meetup 11
  • 12. The Cloud Foundry Foundation! http://www.cloudfoundry.org/about/index.html! 2/24/15 Austin Cloud Foundry PaaS Meetup 12
  • 13. Cloud Foundry Architecture! •  The platform is abstracted as a set of large-scale distributed services. •  It uses Cloud Foundry Bosh to operate the underlying infrastructure from the IaaS providers. •  Components are dynamically discoverable and loosely coupled. •  Health is exposed through HTTP endpoints so agents can collect state information and act on it. 2/24/15 Austin Cloud Foundry PaaS Meetup 13
  • 14. Cloud Foundry Components: Dynamic Router! How It Works •  The router shapes and routes all external system traffic (HTTP/ API) and application traffic from the internet/intranet. •  It maintains a dynamic routing table for each load-balanced app instance with IP addresses and ports. Responsible For •  Load balancing •  Maintaining an active routing table •  Access logs •  Supports web-sockets 2/24/15 Austin Cloud Foundry PaaS Meetup 14
  • 15. Cloud Foundry Components: Cloud Controller! How It Works •  The Cloud Controller maintains command and control systems, including interface with clients (CLI, Web UI, Spring STS), account and provisioning control. •  It also provides RESTful interface to domain objects (apps, services, organizations, spaces, service instances, user roles, and more). Responsible For •  Expected App state, state transitions, and desired convergence •  Permissions/Auth Orgs/Spaces/ Users •  Services management •  App placement •  Auditing/Journaling and billing events •  Blob storage 2/24/15 Austin Cloud Foundry PaaS Meetup 15
  • 16. Cloud Foundry Components: UAA and Login Servers! How It Works •  “User Authorization and Authentication” provides identity, security and authorization services. •  It manages third party OAuth 2.0 access credentials and can provide application access and identity-as-a-service for apps running on Cloud Foundry. •  Composed of: UAA Server, Command Line Interface, Library. Responsible For •  Token Server •  ID Server (User management) •  OAuth Scopes (Groups) and SCIM •  Login Server –  UAA Database –  SAML support (for SSO integration) and Active Directory support with the VMware SSO Appliance •  Access auditing 2/24/15 Austin Cloud Foundry PaaS Meetup 16
  • 17. Cloud Foundry Components: Health Manager! How It Works •  Health Manager monitors application uptime by listening to the NATS message bus for mismatched application states (expected vs. actual). •  The Cloud Controller publishes expected state and the DEAs publish actual state. •  State mismatches are reported to the Cloud Controller. Responsible For •  Maintains the actual state of apps •  Compares to expected state •  Sends suggestions to make actual match expected (cannot make state changes itself – only CC can do that!) 2/24/15 Austin Cloud Foundry PaaS Meetup 17
  • 18. Cloud Foundry Components: DEA! How It Works •  “Droplet Execution Agents” are secure and fully isolated containers. •  DEAs are responsible for an Apps lifecycle: building, starting and stopping Apps as instructed. •  They periodically broadcast messages about their state via the NATS message bus. Responsible For •  Managing Linux containers (Warden) •  Monitoring resource pools –  Process –  File system –  Network –  Memory •  Managing app lifecycle •  App log and file streaming •  DEA heartbeats (NATS to CC, HM) 2/24/15 Austin Cloud Foundry PaaS Meetup 18
  • 19. Cloud Foundry Components: Buildpacks! How It Works •  Buildpacks are Ruby scripts that detect application runtimes/frameworks/plugins, compile the source code into executable binaries, and release the app to an assigned DEA. •  Runtime components can be cached for faster execution of subsequent app pushes. Responsible For •  Staging* –  /bin/detect –  /bin/compile –  /bin/release •  Configure droplet –  Runtime (Ruby/Java/Node/ Python) –  Container (Tomcat/Liberty/ Jetty) –  Application (.WAR, .rb, .js, .py) (*) Cloud Foundry Buildpacks are compatible with Heroku 2/24/15 Austin Cloud Foundry PaaS Meetup 19
  • 20. Cloud Foundry Components: Messaging (NATS)! How It Works •  NATS is a fast internal messaging bus to manage system wide communication via a publish-and-subscribe mechanism. Responsible For •  Non-Persistent messaging •  Pub/Sub •  Queues (app events) •  Directed messages (INBOX) 2/24/15 Austin Cloud Foundry PaaS Meetup 20
  • 21. Cloud Foundry Components: Service Broker! How It Works •  Service Brokers provide an interface for native and external 3rd party services. •  Service processes run on Service Nodes or with external as-a-service providers (e.g., email, database, messaging, etc.). Responsible For •  Advertising service catalog. •  Makes create/delete/bind/ unbind calls to service nodes. •  Requests inventory of existing instances and bindings from cloud controller for caching, orphan management. •  SaaS marketplace gateway. •  Implemented as HTTP enpoint, written in any language. 2/24/15 Austin Cloud Foundry PaaS Meetup 21
  • 22. Cloud Foundry Components: UPSI! How It Works •  User Provided Service Instances (formerly “Service Connectors”) store meta-data in the Service Broker to enable Cloud Foundry to connect to local services that are NOT managed by Cloud Foundry (e.g., OracleDB, DB2, SQLServer, etc.) Responsible For •  Metadata management 2/24/15 Austin Cloud Foundry PaaS Meetup 22
  • 23. Cloud Foundry Architecture! 2/24/15 Austin Cloud Foundry PaaS Meetup 23
  • 24. Agenda! •  What is Platform-as-a-Service? •  What is Cloud Foundry? •  Sample Cloud Foundry Flow •  The 12 Factor Application and Microservices •  Questions 2/24/15 Austin Cloud Foundry PaaS Meetup 24
  • 25. Pushing an App to Cloud Foundry! Dev Cloud Foundry CLI Cloud Controller Cloud Foundry Deployment Internet Blobstore DEA 1.  Log in to the UAA 2.  Upload application bits and metadata 3.  Create and bind application 4.  Stage application 5.  Deploy application 6.  Manage application health 2/24/15 Austin Cloud Foundry PaaS Meetup 25
  • 26. Accessing an App in Cloud Foundry! User Dynamic Router Cloud Foundry Deployment DEA DEA Internet 1.  Browser connects to the router 2.  Router directs traffic to the DEA DEA DEA 2/24/15 Austin Cloud Foundry PaaS Meetup 26
  • 27. Agenda! •  What is Platform-as-a-Service? •  What is Cloud Foundry? •  Sample Cloud Foundry Flow •  The 12 Factor Application and Microservices •  Questions 2/24/15 Austin Cloud Foundry PaaS Meetup 27
  • 28. Best Practices for Microservice Architectures! The 12 factor app is a methodology for building apps that: •  Use declarative formats for setup automation, to minimize time and cost for new developers joining the project. •  Have a clean contract with the underlying operating system, offering maximum portability between execution environments. •  Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration. •  Minimize divergence between development and production, enabling continuous deployment for maximum agility. •  And can scale up without significant changes to tooling, architecture, or development practices. The 12 factor methodology can be applied to apps written in any programming language, and which use any combination of backing services (database, queue, memory cache, etc.) 1.  Codebase One codebase tracked in revision control, many deploys. 2.  Dependencies Explicitly declare and isolate dependencies. 3.  Config Store config in the environment. 4.  Backing Services Treat backing services as attached resources. 5.  Build, Release, Run Strictly separate build and run stages. 6.  Port Binding Export services via port binding. 7.  Concurrency Scale out via the process model. 8.  Disposability Maximize robustness with fat startup and graceful shutdown. 9.  Dev/Prod Parity Keep development, staging, and production as similar as possible. 10.  Logs Treat logs as event streams. 11.  Admin Processes Run admin/management tasks as one-off processes. 12factor.net 2/24/15 Austin Cloud Foundry PaaS Meetup 28
  • 29. Designing Apps for the Cloud: PaaS Best Practices! Following these guidelines makes an application cloud-native, and facilitates deployment to Cloud Foundry and other cloud platforms. •  Avoid writing to the local file system –  Local file system storage is short-lived " Your application can write local files while it is running, the files will disappear after the application restarts. –  Instances of the same application do not share a local file system" Each application instance runs in its own isolated container. Thus a file written by one instance is not visible to other instances of the same application. •  HTTP sessions are not persisted or replicated
 Session data that must be available after an application crashes or stops, or that needs to be shared by all instances of an application, should be stored in a Cloud Foundry service. •  Run multiple instances to increase availability
 To avoid the risk of an application being unavailable during Cloud Foundry upgrade processes, you should run more than one instance of an application. •  Design as if your application can be restarted, destroyed, started at any time! http://bit.ly/cf-paas-bp 2/24/15 Austin Cloud Foundry PaaS Meetup 29
  • 30. Agenda! •  What is Platform-as-a-Service? •  What is Cloud Foundry? •  Sample Cloud Foundry Flow •  The 12 Factor Application and Microservices •  Questions 2/24/15 Austin Cloud Foundry PaaS Meetup 30
  • 31. Getting Started with Cloud Foundry! Basics •  Trial accounts with hosted providers http://bluemix.net http://run.pivotal.io •  Cloud Foundry documentation http://docs.cloudfoundry.org •  Cloud Foundry community http://cloudfoundry.org •  Cloud Foundry on GitHub https://github.com/cloudfoundry Advanced •  “Try Cloud Foundry” on AWS https://trycf.starkandwayne.com •  BOSH bootstrap https://github.com/cloudfoundry-community/bosh-bootstrap •  Deploy your own to AWS http://www.slideshare.net/SpringCentral/build-yourowncf http://docs.cloudfoundry.org/deploying/ec2/ •  Install on on a laptop https://github.com/cloudfoundry/bosh-lite https://github.com/yudai/cf_nise_installer •  Stackato Micro Cloud http://www.activestate.com/stackato/get_stackato 2/24/15 Austin Cloud Foundry PaaS Meetup 31
  • 32. Cloud Foundry Versus Other Platforms-as-a-Service! 2/24/15 Austin Cloud Foundry PaaS Meetup 32 http://paasify.it
  • 33. Links! •  Cloud Foundry for PHP developers http://bit.ly/cf-for-php •  Cloud Foundry 101 - Platform: The Cloud Foundry Conference https://www.youtube.com/watch?v=nOuxMHJIKFU •  Matt Stine - Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship (CF Summit 2014) https://www.youtube.com/watch?v=RGZefc92tZs •  Cloud Foundry Technical Overview http://www.slideshare.net/cdavisafc/cloud-foundry-technical-overview •  A Brief History Of Cloud Foundry and Stackato http://www.activestate.com/blog/2014/03/brief-history-cloud-foundry-and-stackato •  PaaS Comparison: Cloud Foundry, Microsoft Azure, Google App Engine, Amazon, Heroku, and OpenShift http://blog.pivotal.io/cloud-foundry-pivotal/features/paas-comparison-cloud-foundry- microsoft-azure-google-app-engine-amazon-heroku-and-openshift •  CF Summit Sessions: “PaaS Comparison 2014″ http://blog.altoros.com/cf-summit-2014-paas-comparison.html 2/24/15 Austin Cloud Foundry PaaS Meetup 33
  • 34. 2/24/15 Austin Cloud Foundry PaaS Meetup