SlideShare a Scribd company logo
Getting Started with
Cloud Foundry
•  Ian Huston, Data ScientistIan Huston, Data Scientist
ODSC London 2016
2
© Copyright 2015 Pivotal. All rights reserved.
Who am I?
Ÿ  Ian Huston
Ÿ  @ianhuston
Ÿ  www.ianhuston.net
Ÿ  More resources:

https://github.com/ihuston/
python-cf-examples
Ÿ  Data Scientist
Ÿ  Previously a theoretical
physicist using Python for
numerical simulations & HPC
3
© Copyright 2015 Pivotal. All rights reserved.
Aims for this talk
Goals:
Ÿ  What is Cloud Foundry and how can it help?
Ÿ  Get a taste of CF as a developer/data scientist
Anti-goals:
Ÿ  Understand CF from an operations viewpoint
Ÿ  Install & run a full Cloud Foundry installation
4
© Copyright 2015 Pivotal. All rights reserved.
Talk Resources
For the full 2 hour tutorial clone this repo:
https://github.com/ihuston/python-cf-examples

What is Cloud Foundry?
http://cloudfoundry.org

Open Source 
Multi-Cloud Platform

Simple App Deployment,
Scaling & Availability
Cloud Applications Haiku

Here is my source code
Run it on the cloud for me
I do not care how.
-  Onsi Fakhouri 
@onsijoe
How can data scientists use CF?
Data Services
Easy control of incoming data
Distributed computation
Data Driven Applications
11
© Copyright 2015 Pivotal. All rights reserved.
Multi-cloud
Ÿ  Same applications running across different cloud providers:
Private
 Public
 Hosted
12
© Copyright 2015 Pivotal. All rights reserved.
Cloud Foundry Foundation
PLATINUMGOLDSILVER
13
© Copyright 2015 Pivotal. All rights reserved.
cf push
Pushing your first app
14
© Copyright 2015 Pivotal. All rights reserved.
Challenge 1: Pushing your first application
Ÿ  Choose PWS API endpoint: $	cf	api	https://api.run.pivotal.io	
Ÿ  Login:	$	cf	login
Ÿ  Code directory: 01-simple-python-app	
Ÿ  Deploy with
$	cf	push
Ÿ  Check it worked at http://myapp-RANDOM-WORDS.cfapps.io
Ÿ  Turn off your app when finished with cf	stop	myapp (but not yet!)
15
© Copyright 2015 Pivotal. All rights reserved.
Simple Flask App Demo
Ÿ  Simple one page “Hello World” web app
Ÿ  Video: https://www.youtube.com/watch?v=QOfD6tnoAB8
Ÿ  Demonstrates:
–  Installation of requirements
–  Scaling properties
Ÿ  Need to Provide:
–  App files
–  Dependencies listed in requirements.txt file
–  Optional manifest.yml file with configuration for deployment
C
F

R
O"
U"
T"
E"
R
2. Set up domain
Cloud
Controller
Instance
1. Upload code
4. Copy app into
containerised
instances
3. Install Python
& 
Dependencies
5. Start app
and accept
connections
Send request to URL 
WHAT JUST
HAPPENED?
Source
Code
Instance
$	cf	push	
Browser
5. Load balance
between
instances
17
© Copyright 2015 Pivotal. All rights reserved.
What just happened?
1.  Application code is uploaded to CF
2.  Domain URL is set up ready for routing
3.  Cloud controller builds application in container: 
–  Python interpreter selected
–  Dependencies installed with pip
4.  Container is replicated to provide instances
5.  App starts and Router load balances requests
Ÿ  See what’s happening using logs: $	cf	logs	myapp	--recent
18
© Copyright 2015 Pivotal. All rights reserved.
Python on Cloud Foundry
Ÿ  First class language (with Go, Java, Ruby, Node.js, PHP)
Ÿ  Automatic app type detection
–  Looks for requirements.txt or setup.py
Ÿ  Buildpack takes care of 
–  Detecting that a Python app is being pushed
–  Installing Python interpreter
–  Installing packages in requirements.txt using pip
–  Starting web app as requested (e.g. python myapp.py)
19
© Copyright 2015 Pivotal. All rights reserved.
Scaling memory and instances
Ÿ  We can scale our application as needed in terms of memory
and number of instances:
$	cf	scale	myapp	–i	5	
$	cf	scale	myapp	–m	256M	
Ÿ  Check app in browser to see different instances being used.
Ÿ  Scale back down with $	cf	scale	myapp	–i	1
20
© Copyright 2015 Pivotal. All rights reserved.
How does this work?
Ÿ  Containerised application is cached and ready to be
deployed.
Ÿ  Scaling number of instances replicates container and load
balances requests across all instances.
Ÿ  Scaling memory requires restarting app.
Ÿ  Auto-scaling is also possible.
21
© Copyright 2015 Pivotal. All rights reserved.
Buildpacks
Pushing data science apps
22
© Copyright 2015 Pivotal. All rights reserved.
What are buildpacks?
Ÿ  Idea and format from Heroku
Ÿ  Responsible for doing whatever is necessary to get your
app running.
Ÿ  Buildpacks take care of 
–  Detecting which type of application is being pushed
–  Installing the appropriate run-time
–  Installing required dependencies or other artifacts
–  Starting the application as requested
23
© Copyright 2015 Pivotal. All rights reserved.
Containers vs Buildpacks
runtime layer
OS image
application layer
Container (e.g. Docker)
system brings fixed
host OS Kernel
* Devs may bring a custom
buildpack
runtime layer*
OS image
application layer
Buildpack
App container
System Provides
Dev Provides
system brings fixed
host OS Kernel
24
© Copyright 2015 Pivotal. All rights reserved.
Community Buildpacks
https://github.com/cloudfoundry-community/
cf-docs-contrib/wiki/Buildpacks
Ÿ  Lots of languages: 


Clojure, Haskell, .NET, Erlang, Elixir, etc.
Ÿ  RShiny app buildpack: 


https://github.com/alexkago/cf-buildpack-r
Ÿ  Can also use some Heroku buildpacks without modification.
25
© Copyright 2015 Pivotal. All rights reserved.
Using conda for package management
Ÿ  http://conda.pydata.org
Ÿ  Benefits:
–  Uses precompiled binary packages
–  No fiddling with Fortran or C compilers and library paths
–  Known good combinations of main package versions
–  Really simple environment management (better than virtualenv)
–  Easy to run Python 2 and 3 side-by-side
Go try it out if you haven’t already!
26
© Copyright 2015 Pivotal. All rights reserved.
Challenge 2: Pushing a PyData app
Ÿ  Code directory: 02-pydata-spyre-app	
Ÿ  Spyre – Adam Hajari https://github.com/adamhajari/spyre
Ÿ  This app uses the Pydata buildpack to install Matplotlib,
NumPy and more.
Ÿ  Spyre provides a simple way to build interactive web based
visualisations similar to Rshiny.
27
© Copyright 2015 Pivotal. All rights reserved.
Next Steps
See https://github.com/ihuston/python-cf-examples for
continuation of tutorial:
Ÿ  How to bind data sources like Redis & PostgreSQL
Ÿ  Build a simple machine learning API system
Full tutorial as a video: 

https://www.youtube.com/watch?v=lp2c05yDJko
28
© Copyright 2015 Pivotal. All rights reserved.
Resources
Ÿ  Docs: http://docs.cloudfoundry.org
Ÿ  CF Summit videos: http://cfsummit.com
Ÿ  Join the CF community: http://cloudfoundry.org
Ÿ  CF meetups: http://cloud-foundry.meetup.com
29
© Copyright 2015 Pivotal. All rights reserved.
@ianhuston

More Related Content

ODP
From Zero to Cloud: Revolutionize your Application Life Cycle with OpenShift ...
PDF
PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...
PDF
Pipeline+over view
PPTX
Fluo CICD OpenStack Summit
PPTX
The Jenkins Plugin for OpenStack
PPTX
Cloud Native Okteto Cloud
PDF
Drone presentation
ODP
Kyua and Jenkins: Testing Framework for BSD
From Zero to Cloud: Revolutionize your Application Life Cycle with OpenShift ...
PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...
Pipeline+over view
Fluo CICD OpenStack Summit
The Jenkins Plugin for OpenStack
Cloud Native Okteto Cloud
Drone presentation
Kyua and Jenkins: Testing Framework for BSD

What's hot (20)

PPTX
Supercharging CI/CD with GitLab and Rancher - June 2017 Online Meetup
PDF
ITB2019 Cloud Viral with TerraForm - George Murphy
PDF
VM vs Docker-Based Pipelines
PDF
Building your production tech stack for docker container platform
PDF
Docker + Tenserflow + GOlang - Golang singapore Meetup
PDF
Docker based-Pipelines with Codefresh
PDF
Breaking Bad Habits with GitLab CI
PDF
Docker Platform Internals: Taking runtimes and image creation to the next lev...
PDF
Docker to the Rescue of an Ops Team
PDF
Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...
KEY
Travis CI
PDF
Deploying .NET applications with the Nix package manager
PDF
Automated Image Builds in OpenShift and Kubernetes
PDF
Breaking bad habits with GitLab CI
PDF
Docker Multi-arch All The Things
PDF
Deploying to DigitalOcean With GitHub Actions
PDF
JavaCro'14 - Continuous delivery of Java EE applications with Jenkins and Doc...
PDF
Continuous Deployment with Kubernetes, Docker and GitLab CI
PPTX
How to Achieve Canary Deployment on Kubernetes
PDF
nf-core usage tutorial
Supercharging CI/CD with GitLab and Rancher - June 2017 Online Meetup
ITB2019 Cloud Viral with TerraForm - George Murphy
VM vs Docker-Based Pipelines
Building your production tech stack for docker container platform
Docker + Tenserflow + GOlang - Golang singapore Meetup
Docker based-Pipelines with Codefresh
Breaking Bad Habits with GitLab CI
Docker Platform Internals: Taking runtimes and image creation to the next lev...
Docker to the Rescue of an Ops Team
Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...
Travis CI
Deploying .NET applications with the Nix package manager
Automated Image Builds in OpenShift and Kubernetes
Breaking bad habits with GitLab CI
Docker Multi-arch All The Things
Deploying to DigitalOcean With GitHub Actions
JavaCro'14 - Continuous delivery of Java EE applications with Jenkins and Doc...
Continuous Deployment with Kubernetes, Docker and GitLab CI
How to Achieve Canary Deployment on Kubernetes
nf-core usage tutorial
Ad

Viewers also liked (10)

PDF
Towards Application Portability in Platform as a Service
PDF
Unified Cloud Application Management
PPTX
Buildpacks detect, compile, release
PPTX
Myfirst buildpack session_mgmt_20161201
PDF
Dependency management in golang
PPTX
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...
PPTX
CoreOS: The Inside and Outside of Linux Containers
PPTX
Cloud Foundry V2 | Intermediate Deep Dive
PDF
Cloud Native Java Microservices
PDF
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
Towards Application Portability in Platform as a Service
Unified Cloud Application Management
Buildpacks detect, compile, release
Myfirst buildpack session_mgmt_20161201
Dependency management in golang
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...
CoreOS: The Inside and Outside of Linux Containers
Cloud Foundry V2 | Intermediate Deep Dive
Cloud Native Java Microservices
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
Ad

Similar to Ian Huston - "Deploying your data driven web app on Cloud Foundry" (20)

PDF
Cloud Foundry for Data Science
PDF
Python on Cloud Foundry
PPTX
Cloud foundry
PDF
Part 1: The Developer Experience (Pivotal Cloud Platform Roadshow)
PDF
Cloud Foundry 百日行 振り返り
PPTX
Cloud Foundry Vancouver Meetup July 2016
PDF
quickguide-einnovator-4-cloudfoundry
PDF
The Cloud Foundry Story on OpenStack
PDF
Cloud foundry demo
PDF
Cloud Foundry the definitive guide develop deploy and scale First Edition Winn
PDF
Review: Cloud Foundry brings power and polish to PaaS
PDF
Manchester geek night pcf 101
PPT
IBM Bluemix cloudfoundry platform
PPTX
Introduction to Cloud Foundry
PDF
今すぐ始めるCloud Foundry #hackt #hackt_k
PDF
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
PDF
Pivotal CenturyLink Cloud Platform Seminar Presentation: The Developer Experi...
PDF
How Percolate uses CFEngine to Manage AWS Stateless Infrastructure
PPTX
Spring Boot & Spring Cloud on k8s and PCF
Cloud Foundry for Data Science
Python on Cloud Foundry
Cloud foundry
Part 1: The Developer Experience (Pivotal Cloud Platform Roadshow)
Cloud Foundry 百日行 振り返り
Cloud Foundry Vancouver Meetup July 2016
quickguide-einnovator-4-cloudfoundry
The Cloud Foundry Story on OpenStack
Cloud foundry demo
Cloud Foundry the definitive guide develop deploy and scale First Edition Winn
Review: Cloud Foundry brings power and polish to PaaS
Manchester geek night pcf 101
IBM Bluemix cloudfoundry platform
Introduction to Cloud Foundry
今すぐ始めるCloud Foundry #hackt #hackt_k
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Pivotal CenturyLink Cloud Platform Seminar Presentation: The Developer Experi...
How Percolate uses CFEngine to Manage AWS Stateless Infrastructure
Spring Boot & Spring Cloud on k8s and PCF

More from Sheamus McGovern (8)

PDF
Knime customer intelligence on social edia
PDF
Schierz ODSC Meetup pdf
PDF
Jon Sedar Topic Modelling
PDF
Forensic linguistics with Apache Spark
PDF
Boris IoT slides
PDF
Deep Learning Frameworks slides
PDF
Transfer Wise Data Talk 2
PDF
Ajit jaokar slides
Knime customer intelligence on social edia
Schierz ODSC Meetup pdf
Jon Sedar Topic Modelling
Forensic linguistics with Apache Spark
Boris IoT slides
Deep Learning Frameworks slides
Transfer Wise Data Talk 2
Ajit jaokar slides

Recently uploaded (20)

PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PPTX
The THESIS FINAL-DEFENSE-PRESENTATION.pptx
PPT
Miokarditis (Inflamasi pada Otot Jantung)
PPTX
Data_Analytics_and_PowerBI_Presentation.pptx
PDF
.pdf is not working space design for the following data for the following dat...
PPT
Chapter 2 METAL FORMINGhhhhhhhjjjjmmmmmmmmm
PDF
Launch Your Data Science Career in Kochi – 2025
PPT
Chapter 3 METAL JOINING.pptnnnnnnnnnnnnn
PPTX
Introduction to Knowledge Engineering Part 1
PDF
Fluorescence-microscope_Botany_detailed content
PPTX
Major-Components-ofNKJNNKNKNKNKronment.pptx
PDF
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
PPTX
oil_refinery_comprehensive_20250804084928 (1).pptx
PPTX
1_Introduction to advance data techniques.pptx
PPTX
Supervised vs unsupervised machine learning algorithms
PPTX
Business Ppt On Nestle.pptx huunnnhhgfvu
PPTX
IB Computer Science - Internal Assessment.pptx
PPTX
Acceptance and paychological effects of mandatory extra coach I classes.pptx
PDF
Lecture1 pattern recognition............
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
The THESIS FINAL-DEFENSE-PRESENTATION.pptx
Miokarditis (Inflamasi pada Otot Jantung)
Data_Analytics_and_PowerBI_Presentation.pptx
.pdf is not working space design for the following data for the following dat...
Chapter 2 METAL FORMINGhhhhhhhjjjjmmmmmmmmm
Launch Your Data Science Career in Kochi – 2025
Chapter 3 METAL JOINING.pptnnnnnnnnnnnnn
Introduction to Knowledge Engineering Part 1
Fluorescence-microscope_Botany_detailed content
Major-Components-ofNKJNNKNKNKNKronment.pptx
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
oil_refinery_comprehensive_20250804084928 (1).pptx
1_Introduction to advance data techniques.pptx
Supervised vs unsupervised machine learning algorithms
Business Ppt On Nestle.pptx huunnnhhgfvu
IB Computer Science - Internal Assessment.pptx
Acceptance and paychological effects of mandatory extra coach I classes.pptx
Lecture1 pattern recognition............

Ian Huston - "Deploying your data driven web app on Cloud Foundry"

  • 1. Getting Started with Cloud Foundry •  Ian Huston, Data ScientistIan Huston, Data Scientist ODSC London 2016
  • 2. 2 © Copyright 2015 Pivotal. All rights reserved. Who am I? Ÿ  Ian Huston Ÿ  @ianhuston Ÿ  www.ianhuston.net Ÿ  More resources:
 https://github.com/ihuston/ python-cf-examples Ÿ  Data Scientist Ÿ  Previously a theoretical physicist using Python for numerical simulations & HPC
  • 3. 3 © Copyright 2015 Pivotal. All rights reserved. Aims for this talk Goals: Ÿ  What is Cloud Foundry and how can it help? Ÿ  Get a taste of CF as a developer/data scientist Anti-goals: Ÿ  Understand CF from an operations viewpoint Ÿ  Install & run a full Cloud Foundry installation
  • 4. 4 © Copyright 2015 Pivotal. All rights reserved. Talk Resources For the full 2 hour tutorial clone this repo: https://github.com/ihuston/python-cf-examples

  • 5. What is Cloud Foundry? http://cloudfoundry.org Open Source Multi-Cloud Platform Simple App Deployment, Scaling & Availability
  • 6. Cloud Applications Haiku Here is my source code Run it on the cloud for me I do not care how. -  Onsi Fakhouri @onsijoe
  • 7. How can data scientists use CF?
  • 8. Data Services Easy control of incoming data
  • 11. 11 © Copyright 2015 Pivotal. All rights reserved. Multi-cloud Ÿ  Same applications running across different cloud providers: Private Public Hosted
  • 12. 12 © Copyright 2015 Pivotal. All rights reserved. Cloud Foundry Foundation PLATINUMGOLDSILVER
  • 13. 13 © Copyright 2015 Pivotal. All rights reserved. cf push Pushing your first app
  • 14. 14 © Copyright 2015 Pivotal. All rights reserved. Challenge 1: Pushing your first application Ÿ  Choose PWS API endpoint: $ cf api https://api.run.pivotal.io Ÿ  Login: $ cf login Ÿ  Code directory: 01-simple-python-app Ÿ  Deploy with $ cf push Ÿ  Check it worked at http://myapp-RANDOM-WORDS.cfapps.io Ÿ  Turn off your app when finished with cf stop myapp (but not yet!)
  • 15. 15 © Copyright 2015 Pivotal. All rights reserved. Simple Flask App Demo Ÿ  Simple one page “Hello World” web app Ÿ  Video: https://www.youtube.com/watch?v=QOfD6tnoAB8 Ÿ  Demonstrates: –  Installation of requirements –  Scaling properties Ÿ  Need to Provide: –  App files –  Dependencies listed in requirements.txt file –  Optional manifest.yml file with configuration for deployment
  • 16. C F R O" U" T" E" R 2. Set up domain Cloud Controller Instance 1. Upload code 4. Copy app into containerised instances 3. Install Python & Dependencies 5. Start app and accept connections Send request to URL WHAT JUST HAPPENED? Source Code Instance $ cf push Browser 5. Load balance between instances
  • 17. 17 © Copyright 2015 Pivotal. All rights reserved. What just happened? 1.  Application code is uploaded to CF 2.  Domain URL is set up ready for routing 3.  Cloud controller builds application in container: –  Python interpreter selected –  Dependencies installed with pip 4.  Container is replicated to provide instances 5.  App starts and Router load balances requests Ÿ  See what’s happening using logs: $ cf logs myapp --recent
  • 18. 18 © Copyright 2015 Pivotal. All rights reserved. Python on Cloud Foundry Ÿ  First class language (with Go, Java, Ruby, Node.js, PHP) Ÿ  Automatic app type detection –  Looks for requirements.txt or setup.py Ÿ  Buildpack takes care of –  Detecting that a Python app is being pushed –  Installing Python interpreter –  Installing packages in requirements.txt using pip –  Starting web app as requested (e.g. python myapp.py)
  • 19. 19 © Copyright 2015 Pivotal. All rights reserved. Scaling memory and instances Ÿ  We can scale our application as needed in terms of memory and number of instances: $ cf scale myapp –i 5 $ cf scale myapp –m 256M Ÿ  Check app in browser to see different instances being used. Ÿ  Scale back down with $ cf scale myapp –i 1
  • 20. 20 © Copyright 2015 Pivotal. All rights reserved. How does this work? Ÿ  Containerised application is cached and ready to be deployed. Ÿ  Scaling number of instances replicates container and load balances requests across all instances. Ÿ  Scaling memory requires restarting app. Ÿ  Auto-scaling is also possible.
  • 21. 21 © Copyright 2015 Pivotal. All rights reserved. Buildpacks Pushing data science apps
  • 22. 22 © Copyright 2015 Pivotal. All rights reserved. What are buildpacks? Ÿ  Idea and format from Heroku Ÿ  Responsible for doing whatever is necessary to get your app running. Ÿ  Buildpacks take care of –  Detecting which type of application is being pushed –  Installing the appropriate run-time –  Installing required dependencies or other artifacts –  Starting the application as requested
  • 23. 23 © Copyright 2015 Pivotal. All rights reserved. Containers vs Buildpacks runtime layer OS image application layer Container (e.g. Docker) system brings fixed host OS Kernel * Devs may bring a custom buildpack runtime layer* OS image application layer Buildpack App container System Provides Dev Provides system brings fixed host OS Kernel
  • 24. 24 © Copyright 2015 Pivotal. All rights reserved. Community Buildpacks https://github.com/cloudfoundry-community/ cf-docs-contrib/wiki/Buildpacks Ÿ  Lots of languages: 
 Clojure, Haskell, .NET, Erlang, Elixir, etc. Ÿ  RShiny app buildpack: 
 https://github.com/alexkago/cf-buildpack-r Ÿ  Can also use some Heroku buildpacks without modification.
  • 25. 25 © Copyright 2015 Pivotal. All rights reserved. Using conda for package management Ÿ  http://conda.pydata.org Ÿ  Benefits: –  Uses precompiled binary packages –  No fiddling with Fortran or C compilers and library paths –  Known good combinations of main package versions –  Really simple environment management (better than virtualenv) –  Easy to run Python 2 and 3 side-by-side Go try it out if you haven’t already!
  • 26. 26 © Copyright 2015 Pivotal. All rights reserved. Challenge 2: Pushing a PyData app Ÿ  Code directory: 02-pydata-spyre-app Ÿ  Spyre – Adam Hajari https://github.com/adamhajari/spyre Ÿ  This app uses the Pydata buildpack to install Matplotlib, NumPy and more. Ÿ  Spyre provides a simple way to build interactive web based visualisations similar to Rshiny.
  • 27. 27 © Copyright 2015 Pivotal. All rights reserved. Next Steps See https://github.com/ihuston/python-cf-examples for continuation of tutorial: Ÿ  How to bind data sources like Redis & PostgreSQL Ÿ  Build a simple machine learning API system Full tutorial as a video: https://www.youtube.com/watch?v=lp2c05yDJko
  • 28. 28 © Copyright 2015 Pivotal. All rights reserved. Resources Ÿ  Docs: http://docs.cloudfoundry.org Ÿ  CF Summit videos: http://cfsummit.com Ÿ  Join the CF community: http://cloudfoundry.org Ÿ  CF meetups: http://cloud-foundry.meetup.com
  • 29. 29 © Copyright 2015 Pivotal. All rights reserved. @ianhuston