Platform as a Service
Cloud Foundry and IBM Bluemix
David Currie
@dcurrie
Rob Nicholson
@nicholsr
© 2015 IBM Corporation2
IBM Innovation Center &
Technical Exploration Center
Emerging Technology Services
Software Development & Support
Executive Briefing
Center
Software Services
Full disclosure…..
We work at IBM on stuff related to Bluemix
…..but this is NOT a sales pitch 
© 2015 IBM Corporation3
Agenda
 Introduction to Platform as a Service
 Demo
 Cloud Foundry & Buildpack Architecture
 Demo
 Break
 Cloud Foundry ecosystem & BOSH
 Services
 DevOps Demo
© 2015 IBM Corporation4
What is Cloud Computing?
Cloud computing is a model for enabling convenient, on-demand network access
to a shared pool of configurable computing resources (such as networks, servers,
storage, applications, and services) that can be rapidly provisioned and released
with minimal management effort or service provider interaction
© 2015 IBM Corporation5 Standardization; OPEX savings; faster time to value
Networking
Storage
Servers
Virtualization
O/S
Middleware
Runtime
Data
Applications
Traditional
On-Premises
Networking
Storage
Servers
Virtualization
O/S
Middleware
Runtime
Data
Applications
Platform
as a Service
Networking
Storage
Servers
Virtualization
O/S
Middleware
Runtime
Data
Applications
Software
as a Service
Networking
Storage
Servers
Virtualization
Middleware
Runtime
Data
Applications
Infrastructure
as a Service
O/S
Vendor Manages in CloudClient Manages
PaaS allows the developer to focus on the app by
covering all infrastructure and middleware-related mgmt aspects
© 2015 IBM Corporation6
Pizza as a Service
© 2015 IBM Corporation7
Why Cloud Foundry?
Deploy in seconds not weeks or months
No need to talk to anyone else
Polyglot runtimes
 Java, Node.js, Ruby, Python, Go, PHP, …
Easily integrate internal and 3rd party services/APIs
Open Source runtime platform
IaaS independent – runs in the cloud or on-premise
© 2015 IBM Corporation8
Background
 Early 2011: Open Source effort initiated by VMware
 Focused on addressing the cloud market beyond IaaS
 April 2013: Pivotal created from EMC & VMware around SW and
OSS assets including Cloud Foundry, Rabbit, Spring, …
 November 2013: Pivotal CF, commercial version of Cloud Foundry
released
 February 2014: IBM announces BlueMix, making use of Cloud
Foundry
 2014 and beyond: Rapidly growing ecosystem of OpenSource
contributors, consulting companies & commercial, value-add ISVs
© 2015 IBM Corporation9
Who is using Cloud Foundry?
© 2015 IBM Corporation10
Cloud Foundry Foundation: Launched December 2014
10
Platinum Founding Sponsors
Gold Founding Sponsors
Silver Founding Sponsors
© 2015 IBM Corporation11
Experimental in nature
- Require rapid iteration
- Faster time to market
- May be decommissioned quickly
Are written in multiple languages
- Web: JavaScript, Ruby, Java, PHP
- Mobile: iOS, Android, SDK
Composed of Services
- Build using a composition model of
stitching capabilities together
- Capabilities often require time to test in
app beyond the scope of a free trial
Integrate with existing systems
- Data is often located in multiple places
(public, private, traditional data center)
- Existing systems may not scale at the
same the level of cloud applications
Cloud and Mobile Applications
© 2015 IBM Corporation
IBM’s PaaS is called Bluemix – based on Cloud Foundry
• Open Cloud Operating
Environment
• IBM and partner cloud services
• Integrated DevOps with both
Browser and Eclipse-based tools
Services
Lifecycle
Management
(JazzHub)
Application
Runtime
Runtimes &
Frameworks
Middleware Application Operational Mobile ExternalData
node java ruby Worklight
WebSphere
Liberty
Web IDE
(Eclipse Orion)
Eclipse IDE
Application
Composition
Environment
Create & Manage Services
Test/Run
Test/Run
Explore
Services
Explore
Services
IBM Bluemix
Check In Code Check In Code
12
© 2015 IBM Corporation13
TWILIO DEMO (ROB)
© 2015 IBM Corporation14
CLOUD FOUNDRY
ARCHITECTURE (DAVID)
© 2015 IBM Corporation15
Key Concepts
 cf command line tool used to interact with the Cloud Foundry
environment, via the Cloud Controller component
 Buildpack a collection of code responsible for transforming
pushed application artifacts into a ready-to-run droplet, in a
process referred to as ‘staging’
 Droplet a package containing everything that is needed in order
to successfully run your application (e.g. JRE, Liberty, the
application itself) short of the Operating System
 Service the means of providing runtime dependencies needed
by an application e.g. a database
 Warden the containerization mechanism used to achieve
application isolation in the Cloud Foundry environment
© 2015 IBM Corporation16
Cloud Foundry Architecture
© 2015 IBM Corporation17
IBM Confidential June 7, 2013
Application Push
cf push {APPNAME}
© 2015 IBM Corporation18
Application Staging
© 2015 IBM Corporation19
Example Buildpack: WebSphere Liberty
 Based on community Java Buildpack
 Runs executable JAR files, web (WAR) and enterprise (EAR) applications,
and WebSphere Liberty ‘packaged servers’
 Adds an IBM JRE and, when needed, the WebSphere Liberty runtime
 For WAR and EAR files, generates the required server configuration to
match bound services and provides client binaries
 Loads into the server only what is needed for the provided application
 Pre-deployed in IBM Bluemix and Pivotal Web Services
 Available as custom buildpack:
https://github.com/cloudfoundry/ibm-websphere-liberty-buildpack
© 2015 IBM Corporation20
Service Integration with the Liberty buildpack
 IBM services
 SQLDB / dashDB
 Monitoring and Analytics service
 Auto-Scaling
 Single Sign On
 Data Cache
 Session Cache
 MQ Light
 Cloudant
 Third party/community services
 New Relic
 mysql / ClearDB
 Postgresql / ElephantSQL
 mongodb / MongoLab
• Information about bound services is
available in the VCAP_SERVICES
environment variable
• Some services are container managed
only (SessionCache)
• Some services can be either container
managed or application managed
(SQLDB)
• Some services contain multiple features
which can be separately enabled
(Monitoring and Analytics)
• Some services have local analogs
(SQLDB, mongo) and some do not
(Monitoring and Analytics)
• Services may require client driver JARs,
extension features (WXS ESA), Liberty
features, bootstrap.properties
© 2015 IBM Corporation21
DEMO (ROB)
© 2015 IBM Corporation22
BREAK
© 2015 IBM Corporation23
ECOSYSTEM: WHERE DOES
CLOUDFOUNDRY RUN? (ROB)
© 2015 IBM Corporation24
Pivotal Cloud Foundry.
http://pivotal.io/platform-as-a-service/pivotal-cloud-foundry
© 2015 IBM Corporation25
Pivotal web services
http://run.pivotal.io
© 2015 IBM Corporation26
IBM Bluemix
http://bluemix.net
© 2015 IBM Corporation27
Bluemix Hybrid Cloud
© 2015 IBM Corporation28
Deploying Cloudfoundry onto an IaaS.
BOSH
BOSH Cloud Provider Interface
VMware
vSphere
© 2015 IBM Corporation29
BOSH
 Provisioning system for VMs used by CloudFoundry (and others)
 Release Engineering, deployment, lifecycle management
 Monitoring, failure recovery, updates
 Cloud Provider Interface abstracts details of the IaaS layer.
 Helps with
 Packaging up a myriad dependencies at defined levels.
 Consistency between Staging and production environments.
 How?
 Stemcells package up OS tailored for each combination of VM Type and IaaS
 Release is a back of configuration and software that installs on top of a stemcell.
 Director manages deployments.
 Bosh CLI.
© 2015 IBM Corporation30
SERVICES (ROB)
© 2015 IBM Corporation31
PAAS DEVOPS (DAVID)
© 2015 IBM Corporation32
Ordering
(Java)
Ordering
(Java)
Microservices Example
UI
(PHP)
Ordering
(Java) Catalog
(node.js)
SQLDB
Cloudant
Analytics Auto
Scaling
https://developer.ibm.com/bluemix/2015/03/16/
sample-application-using-microservices-bluemix/
User-Provided
User-Provided
Delivery Pipeline

Platform as a Service - Cloud Foundry and IBM Bluemix

  • 1.
    Platform as aService Cloud Foundry and IBM Bluemix David Currie @dcurrie Rob Nicholson @nicholsr
  • 2.
    © 2015 IBMCorporation2 IBM Innovation Center & Technical Exploration Center Emerging Technology Services Software Development & Support Executive Briefing Center Software Services Full disclosure….. We work at IBM on stuff related to Bluemix …..but this is NOT a sales pitch 
  • 3.
    © 2015 IBMCorporation3 Agenda  Introduction to Platform as a Service  Demo  Cloud Foundry & Buildpack Architecture  Demo  Break  Cloud Foundry ecosystem & BOSH  Services  DevOps Demo
  • 4.
    © 2015 IBMCorporation4 What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (such as networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction
  • 5.
    © 2015 IBMCorporation5 Standardization; OPEX savings; faster time to value Networking Storage Servers Virtualization O/S Middleware Runtime Data Applications Traditional On-Premises Networking Storage Servers Virtualization O/S Middleware Runtime Data Applications Platform as a Service Networking Storage Servers Virtualization O/S Middleware Runtime Data Applications Software as a Service Networking Storage Servers Virtualization Middleware Runtime Data Applications Infrastructure as a Service O/S Vendor Manages in CloudClient Manages PaaS allows the developer to focus on the app by covering all infrastructure and middleware-related mgmt aspects
  • 6.
    © 2015 IBMCorporation6 Pizza as a Service
  • 7.
    © 2015 IBMCorporation7 Why Cloud Foundry? Deploy in seconds not weeks or months No need to talk to anyone else Polyglot runtimes  Java, Node.js, Ruby, Python, Go, PHP, … Easily integrate internal and 3rd party services/APIs Open Source runtime platform IaaS independent – runs in the cloud or on-premise
  • 8.
    © 2015 IBMCorporation8 Background  Early 2011: Open Source effort initiated by VMware  Focused on addressing the cloud market beyond IaaS  April 2013: Pivotal created from EMC & VMware around SW and OSS assets including Cloud Foundry, Rabbit, Spring, …  November 2013: Pivotal CF, commercial version of Cloud Foundry released  February 2014: IBM announces BlueMix, making use of Cloud Foundry  2014 and beyond: Rapidly growing ecosystem of OpenSource contributors, consulting companies & commercial, value-add ISVs
  • 9.
    © 2015 IBMCorporation9 Who is using Cloud Foundry?
  • 10.
    © 2015 IBMCorporation10 Cloud Foundry Foundation: Launched December 2014 10 Platinum Founding Sponsors Gold Founding Sponsors Silver Founding Sponsors
  • 11.
    © 2015 IBMCorporation11 Experimental in nature - Require rapid iteration - Faster time to market - May be decommissioned quickly Are written in multiple languages - Web: JavaScript, Ruby, Java, PHP - Mobile: iOS, Android, SDK Composed of Services - Build using a composition model of stitching capabilities together - Capabilities often require time to test in app beyond the scope of a free trial Integrate with existing systems - Data is often located in multiple places (public, private, traditional data center) - Existing systems may not scale at the same the level of cloud applications Cloud and Mobile Applications
  • 12.
    © 2015 IBMCorporation IBM’s PaaS is called Bluemix – based on Cloud Foundry • Open Cloud Operating Environment • IBM and partner cloud services • Integrated DevOps with both Browser and Eclipse-based tools Services Lifecycle Management (JazzHub) Application Runtime Runtimes & Frameworks Middleware Application Operational Mobile ExternalData node java ruby Worklight WebSphere Liberty Web IDE (Eclipse Orion) Eclipse IDE Application Composition Environment Create & Manage Services Test/Run Test/Run Explore Services Explore Services IBM Bluemix Check In Code Check In Code 12
  • 13.
    © 2015 IBMCorporation13 TWILIO DEMO (ROB)
  • 14.
    © 2015 IBMCorporation14 CLOUD FOUNDRY ARCHITECTURE (DAVID)
  • 15.
    © 2015 IBMCorporation15 Key Concepts  cf command line tool used to interact with the Cloud Foundry environment, via the Cloud Controller component  Buildpack a collection of code responsible for transforming pushed application artifacts into a ready-to-run droplet, in a process referred to as ‘staging’  Droplet a package containing everything that is needed in order to successfully run your application (e.g. JRE, Liberty, the application itself) short of the Operating System  Service the means of providing runtime dependencies needed by an application e.g. a database  Warden the containerization mechanism used to achieve application isolation in the Cloud Foundry environment
  • 16.
    © 2015 IBMCorporation16 Cloud Foundry Architecture
  • 17.
    © 2015 IBMCorporation17 IBM Confidential June 7, 2013 Application Push cf push {APPNAME}
  • 18.
    © 2015 IBMCorporation18 Application Staging
  • 19.
    © 2015 IBMCorporation19 Example Buildpack: WebSphere Liberty  Based on community Java Buildpack  Runs executable JAR files, web (WAR) and enterprise (EAR) applications, and WebSphere Liberty ‘packaged servers’  Adds an IBM JRE and, when needed, the WebSphere Liberty runtime  For WAR and EAR files, generates the required server configuration to match bound services and provides client binaries  Loads into the server only what is needed for the provided application  Pre-deployed in IBM Bluemix and Pivotal Web Services  Available as custom buildpack: https://github.com/cloudfoundry/ibm-websphere-liberty-buildpack
  • 20.
    © 2015 IBMCorporation20 Service Integration with the Liberty buildpack  IBM services  SQLDB / dashDB  Monitoring and Analytics service  Auto-Scaling  Single Sign On  Data Cache  Session Cache  MQ Light  Cloudant  Third party/community services  New Relic  mysql / ClearDB  Postgresql / ElephantSQL  mongodb / MongoLab • Information about bound services is available in the VCAP_SERVICES environment variable • Some services are container managed only (SessionCache) • Some services can be either container managed or application managed (SQLDB) • Some services contain multiple features which can be separately enabled (Monitoring and Analytics) • Some services have local analogs (SQLDB, mongo) and some do not (Monitoring and Analytics) • Services may require client driver JARs, extension features (WXS ESA), Liberty features, bootstrap.properties
  • 21.
    © 2015 IBMCorporation21 DEMO (ROB)
  • 22.
    © 2015 IBMCorporation22 BREAK
  • 23.
    © 2015 IBMCorporation23 ECOSYSTEM: WHERE DOES CLOUDFOUNDRY RUN? (ROB)
  • 24.
    © 2015 IBMCorporation24 Pivotal Cloud Foundry. http://pivotal.io/platform-as-a-service/pivotal-cloud-foundry
  • 25.
    © 2015 IBMCorporation25 Pivotal web services http://run.pivotal.io
  • 26.
    © 2015 IBMCorporation26 IBM Bluemix http://bluemix.net
  • 27.
    © 2015 IBMCorporation27 Bluemix Hybrid Cloud
  • 28.
    © 2015 IBMCorporation28 Deploying Cloudfoundry onto an IaaS. BOSH BOSH Cloud Provider Interface VMware vSphere
  • 29.
    © 2015 IBMCorporation29 BOSH  Provisioning system for VMs used by CloudFoundry (and others)  Release Engineering, deployment, lifecycle management  Monitoring, failure recovery, updates  Cloud Provider Interface abstracts details of the IaaS layer.  Helps with  Packaging up a myriad dependencies at defined levels.  Consistency between Staging and production environments.  How?  Stemcells package up OS tailored for each combination of VM Type and IaaS  Release is a back of configuration and software that installs on top of a stemcell.  Director manages deployments.  Bosh CLI.
  • 30.
    © 2015 IBMCorporation30 SERVICES (ROB)
  • 31.
    © 2015 IBMCorporation31 PAAS DEVOPS (DAVID)
  • 32.
    © 2015 IBMCorporation32 Ordering (Java) Ordering (Java) Microservices Example UI (PHP) Ordering (Java) Catalog (node.js) SQLDB Cloudant Analytics Auto Scaling https://developer.ibm.com/bluemix/2015/03/16/ sample-application-using-microservices-bluemix/ User-Provided User-Provided Delivery Pipeline