Introduction to Cloud Foundry

Introduction to Cloud Foundry

Presented at Singapore Ruby Group


Michael Cheng

January 24, 2017


  1. 4.

    Platform as a Service • Platform as a service (PaaS)

    is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app. • Other people’s server, they maintain it, you just deploy your code + data.
  2. 5.

    Platform as a Service • Public Cloud - Heroku, Google

    App Engine, Red Hat’s OpenShift, AWS Elastic Beanstalk, IBM Bluemix, Azure App Services • Private Cloud - Cloud Foundry, OpenShift, Bluemix, Deis, Dokku
  3. 6.

    What is Cloud Foundry? • Cloud Foundry is a open

    source PaaS software. • Cloud Foundry is a platform for developing and running cloud applications. • 12 Factor Apps (
  4. 7.

    What is Cloud Foundry? • Works with many languages and

    frameworks. • A platform that allows you to automatically provision resources. • Enables continuous integration/ continuous delivery. • Allows you to focus on writing cloud native applications.
  5. 8.

    Languages Supported • Java - Grails, Play, Spring, or any

    other JVM-based language or framework • Ruby - JRuby, Rack, Rails, or Sinatra • Node.js - Node or JavaScript • Binary • Go • PHP - Cake, Symfony, Zend, Nginx, or HTTPD • Python - Django or Flask • Staticfile - HTML, CSS, JavaScript, or Nginx
  6. 9.

    What is Pivotal Cloud Foundry? • Pivotal Cloud Foundry is

    a reference implementation of Cloud Foundry for the enterprise. • Open source software provides the basis for the Pivotal Cloud Foundry platform. • Pivotal offers additional commercial features, enterprise services, support, docs, certs, etc.
  7. 10.

    Cloud Foundry vs PCF • PCF is easier to install

    • Has nicer web GUI. • Additional features like auto-scaling, LDAP/AD (SAML) support, metrics server, notifications, Ops Metrics. • Many of the services come installed by default (MongoDB, Neo4J, RabbitMQ, Redis, etc). vs
  8. 11.
  9. 12.

    Pivotal Web Services (PWS) • Hosted version of PCF. •

    Exactly the same user experience / features. • Register for a free trial account. •
  10. 13.
  11. 14.
  12. 15.
  13. 16.
  14. 17.
  15. 18.
  16. 20.
  17. 21.
  18. 22.
  19. 23.

    Using PCF • Mainly interface using the Command Line Interface

    (CLI) • Download the CF CLI here: • Alternative download: cli#downloads
  20. 24.
  21. 26.

    Deployment Manifest • Application manifests tell cf push what to

    do with applications. • This includes everything from how many instances to create and how much memory to allocate to what services applications should use. • YAML format. • Online Generator:
  22. 27.

    Login to app container • All apps run in a

    linux container (LXC) • You can SSH into the container if you need to take a look at what’s going on (eg. troubleshooting, verify file version, etc) • cf ssh <app_name> -i <instance_number>
  23. 28.

    More things… • User-provided services - enable developers to use

    services that are not available in the marketplace with their applications running on Cloud Foundry.
 (Reference: • Managed Services for Cloud Foundry - services integrated with Cloud Foundry via APIs, and enable end users to provision reserved resources and credentials on demand.
  24. 29.