SlideShare a Scribd company logo
1 of 29
Download to read offline
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

What's hot

Supercharging CI/CD with GitLab and Rancher - June 2017 Online Meetup
Supercharging CI/CD with GitLab and Rancher - June 2017 Online MeetupSupercharging CI/CD with GitLab and Rancher - June 2017 Online Meetup
Supercharging CI/CD with GitLab and Rancher - June 2017 Online MeetupShannon Williams
 
ITB2019 Cloud Viral with TerraForm - George Murphy
ITB2019 Cloud Viral with TerraForm - George MurphyITB2019 Cloud Viral with TerraForm - George Murphy
ITB2019 Cloud Viral with TerraForm - George MurphyOrtus Solutions, Corp
 
VM vs Docker-Based Pipelines
VM vs Docker-Based PipelinesVM vs Docker-Based Pipelines
VM vs Docker-Based PipelinesCodefresh
 
Building your production tech stack for docker container platform
Building your production tech stack for docker container platformBuilding your production tech stack for docker container platform
Building your production tech stack for docker container platformDocker, Inc.
 
Docker + Tenserflow + GOlang - Golang singapore Meetup
Docker + Tenserflow + GOlang - Golang singapore MeetupDocker + Tenserflow + GOlang - Golang singapore Meetup
Docker + Tenserflow + GOlang - Golang singapore Meetupsangam biradar
 
Docker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshDocker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshCodefresh
 
Breaking Bad Habits with GitLab CI
Breaking Bad Habits with GitLab CIBreaking Bad Habits with GitLab CI
Breaking Bad Habits with GitLab CIIvan Nemytchenko
 
Docker Platform Internals: Taking runtimes and image creation to the next lev...
Docker Platform Internals: Taking runtimes and image creation to the next lev...Docker Platform Internals: Taking runtimes and image creation to the next lev...
Docker Platform Internals: Taking runtimes and image creation to the next lev...Docker, Inc.
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamRachid Zarouali
 
Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...
Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...
Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...sangam biradar
 
Deploying .NET applications with the Nix package manager
Deploying .NET applications with the Nix package managerDeploying .NET applications with the Nix package manager
Deploying .NET applications with the Nix package managerSander van der Burg
 
Automated Image Builds in OpenShift and Kubernetes
Automated Image Builds in OpenShift and KubernetesAutomated Image Builds in OpenShift and Kubernetes
Automated Image Builds in OpenShift and KubernetesGraham Dumpleton
 
Breaking bad habits with GitLab CI
Breaking bad habits with GitLab CIBreaking bad habits with GitLab CI
Breaking bad habits with GitLab CIIvan Nemytchenko
 
Docker Multi-arch All The Things
Docker Multi-arch All The ThingsDocker Multi-arch All The Things
Docker Multi-arch All The ThingsDocker, Inc.
 
Deploying to DigitalOcean With GitHub Actions
Deploying to DigitalOcean With GitHub ActionsDeploying to DigitalOcean With GitHub Actions
Deploying to DigitalOcean With GitHub ActionsDigitalOcean
 
Continuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CIContinuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CIalexanderkiel
 
How to Achieve Canary Deployment on Kubernetes
How to Achieve Canary Deployment on KubernetesHow to Achieve Canary Deployment on Kubernetes
How to Achieve Canary Deployment on KubernetesHanLing Shen
 

What's hot (20)

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

Viewers also liked

Event report - Cloud Foundry Summit 2016
Event report - Cloud Foundry Summit 2016Event report - Cloud Foundry Summit 2016
Event report - Cloud Foundry Summit 2016Holger Mueller
 
Cloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud FoundryCloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud FoundryBob Sokol
 
20160930 cloud foundry_overview
20160930 cloud foundry_overview20160930 cloud foundry_overview
20160930 cloud foundry_overviewTakuya Saeki
 
Cloud Foundry Summit Frankfurt 2016 Isolation Segments
Cloud Foundry Summit Frankfurt 2016 Isolation SegmentsCloud Foundry Summit Frankfurt 2016 Isolation Segments
Cloud Foundry Summit Frankfurt 2016 Isolation SegmentsDieu Cao
 
Prioritizing Apps for Migration to Cloud Foundry - CF Summit 2016
Prioritizing Apps for Migration to Cloud Foundry - CF Summit 2016Prioritizing Apps for Migration to Cloud Foundry - CF Summit 2016
Prioritizing Apps for Migration to Cloud Foundry - CF Summit 2016CGI
 
Denver Cloud Foundry Meetup - February 2016
Denver Cloud Foundry Meetup - February 2016Denver Cloud Foundry Meetup - February 2016
Denver Cloud Foundry Meetup - February 2016Josh Ghiloni
 
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERContinuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERIndrajit Poddar
 
Catch Me If You Can - Cloud Foundry Summit Europe 2016
Catch Me If You Can - Cloud Foundry Summit Europe 2016Catch Me If You Can - Cloud Foundry Summit Europe 2016
Catch Me If You Can - Cloud Foundry Summit Europe 2016Sean Keery
 
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the ProxyCloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the ProxyMaki Toshio
 
Demo Pivotal Circle Of Code
Demo Pivotal Circle Of CodeDemo Pivotal Circle Of Code
Demo Pivotal Circle Of CodeGwenn Etourneau
 
Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Stormy Peters
 
Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Stuart Charlton
 
PCF1: Cloud Foundry Diego ( Predix Transform 2016)
PCF1: Cloud Foundry Diego ( Predix Transform 2016)PCF1: Cloud Foundry Diego ( Predix Transform 2016)
PCF1: Cloud Foundry Diego ( Predix Transform 2016)Predix
 
Cloud Foundry - ScotSoft 2016 Dev Talk
Cloud Foundry - ScotSoft 2016 Dev TalkCloud Foundry - ScotSoft 2016 Dev Talk
Cloud Foundry - ScotSoft 2016 Dev TalkSam Ramji
 
Cloud Foundry - #IBMOTS 2016
Cloud Foundry - #IBMOTS 2016Cloud Foundry - #IBMOTS 2016
Cloud Foundry - #IBMOTS 2016Sam Ramji
 
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016JUNICHI YOSHISE
 
Cloud Foundry Days Tokyo 2016
Cloud Foundry Days Tokyo 2016Cloud Foundry Days Tokyo 2016
Cloud Foundry Days Tokyo 2016Chip Childers
 
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
 

Viewers also liked (20)

Event report - Cloud Foundry Summit 2016
Event report - Cloud Foundry Summit 2016Event report - Cloud Foundry Summit 2016
Event report - Cloud Foundry Summit 2016
 
Cloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud FoundryCloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud Foundry
 
20160930 cloud foundry_overview
20160930 cloud foundry_overview20160930 cloud foundry_overview
20160930 cloud foundry_overview
 
Cloud Foundry Summit Frankfurt 2016 Isolation Segments
Cloud Foundry Summit Frankfurt 2016 Isolation SegmentsCloud Foundry Summit Frankfurt 2016 Isolation Segments
Cloud Foundry Summit Frankfurt 2016 Isolation Segments
 
Prioritizing Apps for Migration to Cloud Foundry - CF Summit 2016
Prioritizing Apps for Migration to Cloud Foundry - CF Summit 2016Prioritizing Apps for Migration to Cloud Foundry - CF Summit 2016
Prioritizing Apps for Migration to Cloud Foundry - CF Summit 2016
 
Denver Cloud Foundry Meetup - February 2016
Denver Cloud Foundry Meetup - February 2016Denver Cloud Foundry Meetup - February 2016
Denver Cloud Foundry Meetup - February 2016
 
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERContinuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
 
Catch Me If You Can - Cloud Foundry Summit Europe 2016
Catch Me If You Can - Cloud Foundry Summit Europe 2016Catch Me If You Can - Cloud Foundry Summit Europe 2016
Catch Me If You Can - Cloud Foundry Summit Europe 2016
 
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the ProxyCloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
 
Demo Pivotal Circle Of Code
Demo Pivotal Circle Of CodeDemo Pivotal Circle Of Code
Demo Pivotal Circle Of Code
 
An introduction to Cloud Foundry
An introduction to Cloud FoundryAn introduction to Cloud Foundry
An introduction to Cloud Foundry
 
Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016
 
Cloud Foundry Roadmap in 2016
Cloud Foundry Roadmap in 2016Cloud Foundry Roadmap in 2016
Cloud Foundry Roadmap in 2016
 
Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016
 
PCF1: Cloud Foundry Diego ( Predix Transform 2016)
PCF1: Cloud Foundry Diego ( Predix Transform 2016)PCF1: Cloud Foundry Diego ( Predix Transform 2016)
PCF1: Cloud Foundry Diego ( Predix Transform 2016)
 
Cloud Foundry - ScotSoft 2016 Dev Talk
Cloud Foundry - ScotSoft 2016 Dev TalkCloud Foundry - ScotSoft 2016 Dev Talk
Cloud Foundry - ScotSoft 2016 Dev Talk
 
Cloud Foundry - #IBMOTS 2016
Cloud Foundry - #IBMOTS 2016Cloud Foundry - #IBMOTS 2016
Cloud Foundry - #IBMOTS 2016
 
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
 
Cloud Foundry Days Tokyo 2016
Cloud Foundry Days Tokyo 2016Cloud Foundry Days Tokyo 2016
Cloud Foundry Days Tokyo 2016
 
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
 

Similar to Ian huston getting started with cloud foundry

Python on Cloud Foundry
Python on Cloud FoundryPython on Cloud Foundry
Python on Cloud FoundryIan Huston
 
Manchester geek night pcf 101
Manchester geek night   pcf 101Manchester geek night   pcf 101
Manchester geek night pcf 101Sufyaan Kazi
 
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...AWS Summits
 
IBM Bluemix cloudfoundry platform
IBM Bluemix cloudfoundry platformIBM Bluemix cloudfoundry platform
IBM Bluemix cloudfoundry platformDaniela Zuppini
 
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...Vietnam Open Infrastructure User Group
 
Custom Buildpacks and Data Services
Custom Buildpacks and Data ServicesCustom Buildpacks and Data Services
Custom Buildpacks and Data ServicesTom Kranz
 
DevOps in a multicloud environment with CloudCenter - Luca Relandini - Codemo...
DevOps in a multicloud environment with CloudCenter - Luca Relandini - Codemo...DevOps in a multicloud environment with CloudCenter - Luca Relandini - Codemo...
DevOps in a multicloud environment with CloudCenter - Luca Relandini - Codemo...Codemotion
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDr Ganesh Iyer
 
Breaking the Monolith
Breaking the MonolithBreaking the Monolith
Breaking the MonolithVMware Tanzu
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Microsoft
 
Cloud Foundry for Data Science
Cloud Foundry for Data ScienceCloud Foundry for Data Science
Cloud Foundry for Data ScienceIan Huston
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Patrick Chanezon
 
Kolla - containerizing the cloud itself
Kolla - containerizing the cloud itselfKolla - containerizing the cloud itself
Kolla - containerizing the cloud itselfMichal Rostecki
 
Run your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryRun your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryAndy Piper
 
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)jaxLondonConference
 
給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗William Yeh
 
Introduction to Buildpacks.io Presentation
Introduction to Buildpacks.io PresentationIntroduction to Buildpacks.io Presentation
Introduction to Buildpacks.io PresentationKnoldus Inc.
 
Swift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloudSwift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloudDev_Events
 

Similar to Ian huston getting started with cloud foundry (20)

Python on Cloud Foundry
Python on Cloud FoundryPython on Cloud Foundry
Python on Cloud Foundry
 
Manchester geek night pcf 101
Manchester geek night   pcf 101Manchester geek night   pcf 101
Manchester geek night pcf 101
 
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
 
IBM Bluemix cloudfoundry platform
IBM Bluemix cloudfoundry platformIBM Bluemix cloudfoundry platform
IBM Bluemix cloudfoundry platform
 
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
 
Custom Buildpacks and Data Services
Custom Buildpacks and Data ServicesCustom Buildpacks and Data Services
Custom Buildpacks and Data Services
 
DevOps in a multicloud environment with CloudCenter - Luca Relandini - Codemo...
DevOps in a multicloud environment with CloudCenter - Luca Relandini - Codemo...DevOps in a multicloud environment with CloudCenter - Luca Relandini - Codemo...
DevOps in a multicloud environment with CloudCenter - Luca Relandini - Codemo...
 
Red hat cloud platforms
Red hat cloud platformsRed hat cloud platforms
Red hat cloud platforms
 
Flask for cs students
Flask for cs studentsFlask for cs students
Flask for cs students
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containers
 
Breaking the Monolith
Breaking the MonolithBreaking the Monolith
Breaking the Monolith
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
 
Cloud Foundry for Data Science
Cloud Foundry for Data ScienceCloud Foundry for Data Science
Cloud Foundry for Data Science
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017
 
Kolla - containerizing the cloud itself
Kolla - containerizing the cloud itselfKolla - containerizing the cloud itself
Kolla - containerizing the cloud itself
 
Run your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryRun your Java apps on Cloud Foundry
Run your Java apps on Cloud Foundry
 
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
 
給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗
 
Introduction to Buildpacks.io Presentation
Introduction to Buildpacks.io PresentationIntroduction to Buildpacks.io Presentation
Introduction to Buildpacks.io Presentation
 
Swift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloudSwift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloud
 

More from Jessica Willis

ODSC Hackathon for Health October 2016
ODSC Hackathon for Health October 2016ODSC Hackathon for Health October 2016
ODSC Hackathon for Health October 2016Jessica Willis
 
Jon Sedar topic modelling presentation #odsc 2016
Jon Sedar topic modelling presentation #odsc 2016Jon Sedar topic modelling presentation #odsc 2016
Jon Sedar topic modelling presentation #odsc 2016Jessica Willis
 
Knime customer intelligence on social media odsc london
Knime customer intelligence on social media odsc london   Knime customer intelligence on social media odsc london
Knime customer intelligence on social media odsc london Jessica Willis
 
Deep learning frameworks v0.40
Deep learning frameworks v0.40Deep learning frameworks v0.40
Deep learning frameworks v0.40Jessica Willis
 
Iot analytics in wearables
Iot analytics in wearables Iot analytics in wearables
Iot analytics in wearables Jessica Willis
 
Data Science for Internet of Things with Ajit Jaokar
Data Science for Internet of Things with Ajit JaokarData Science for Internet of Things with Ajit Jaokar
Data Science for Internet of Things with Ajit JaokarJessica Willis
 
Open-Source Bioinformatics for Data Scientists with Amanda Schierz
Open-Source Bioinformatics for Data Scientists with Amanda SchierzOpen-Source Bioinformatics for Data Scientists with Amanda Schierz
Open-Source Bioinformatics for Data Scientists with Amanda SchierzJessica Willis
 

More from Jessica Willis (7)

ODSC Hackathon for Health October 2016
ODSC Hackathon for Health October 2016ODSC Hackathon for Health October 2016
ODSC Hackathon for Health October 2016
 
Jon Sedar topic modelling presentation #odsc 2016
Jon Sedar topic modelling presentation #odsc 2016Jon Sedar topic modelling presentation #odsc 2016
Jon Sedar topic modelling presentation #odsc 2016
 
Knime customer intelligence on social media odsc london
Knime customer intelligence on social media odsc london   Knime customer intelligence on social media odsc london
Knime customer intelligence on social media odsc london
 
Deep learning frameworks v0.40
Deep learning frameworks v0.40Deep learning frameworks v0.40
Deep learning frameworks v0.40
 
Iot analytics in wearables
Iot analytics in wearables Iot analytics in wearables
Iot analytics in wearables
 
Data Science for Internet of Things with Ajit Jaokar
Data Science for Internet of Things with Ajit JaokarData Science for Internet of Things with Ajit Jaokar
Data Science for Internet of Things with Ajit Jaokar
 
Open-Source Bioinformatics for Data Scientists with Amanda Schierz
Open-Source Bioinformatics for Data Scientists with Amanda SchierzOpen-Source Bioinformatics for Data Scientists with Amanda Schierz
Open-Source Bioinformatics for Data Scientists with Amanda Schierz
 

Recently uploaded

How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFAAndrei Kaleshka
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdfHuman37
 
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...limedy534
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...dajasot375
 
RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.natarajan8993
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Cathrine Wilhelmsen
 
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degreeyuu sss
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Colleen Farrelly
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一F sss
 
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档208367051
 
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...Boston Institute of Analytics
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Jack DiGiovanna
 
Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Seán Kennedy
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfgstagge
 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfJohn Sterrett
 
Learn How Data Science Changes Our World
Learn How Data Science Changes Our WorldLearn How Data Science Changes Our World
Learn How Data Science Changes Our WorldEduminds Learning
 
While-For-loop in python used in college
While-For-loop in python used in collegeWhile-For-loop in python used in college
While-For-loop in python used in collegessuser7a7cd61
 
Machine learning classification ppt.ppt
Machine learning classification  ppt.pptMachine learning classification  ppt.ppt
Machine learning classification ppt.pptamreenkhanum0307
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhijennyeacort
 
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSINGmarianagonzalez07
 

Recently uploaded (20)

How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFA
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf
 
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
 
RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)
 
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
 
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
 
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
 
Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdf
 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdf
 
Learn How Data Science Changes Our World
Learn How Data Science Changes Our WorldLearn How Data Science Changes Our World
Learn How Data Science Changes Our World
 
While-For-loop in python used in college
While-For-loop in python used in collegeWhile-For-loop in python used in college
While-For-loop in python used in college
 
Machine learning classification ppt.ppt
Machine learning classification  ppt.pptMachine learning classification  ppt.ppt
Machine learning classification ppt.ppt
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
 
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING
 

Ian huston getting started with 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