Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Cloud Foundry

Introduction to Cloud Foundry

Presented at Singapore Ruby Group

Michael Cheng

January 24, 2017
Tweet

More Decks by Michael Cheng

Other Decks in Programming

Transcript

  1. Introduction to Cloud Foundry
    A Developer’s Perspective

    View Slide

  2. Michael Cheng
    @CoderKungfu
    [email protected]

    View Slide

  3. Cloud Computing

    View Slide

  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.

    View Slide

  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

    View Slide

  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 (http://12factor.net)

    View Slide

  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.

    View Slide

  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

    View Slide

  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.

    View Slide

  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

    View Slide

  11. View Slide

  12. Pivotal Web Services (PWS)
    • Hosted version of PCF.
    • Exactly the same user experience /
    features.
    • Register for a free trial account.
    • http://run.pivotal.io

    View Slide

  13. View Slide

  14. View Slide

  15. View Slide

  16. View Slide

  17. View Slide

  18. View Slide

  19. Organization
    Spaces
    Logical way of organising users and resources

    View Slide

  20. View Slide

  21. View Slide

  22. View Slide

  23. Using PCF
    • Mainly interface using the Command Line Interface (CLI)
    • Download the CF CLI here: https://console.run.pivotal.io/2/tools
    • Alternative download: https://github.com/cloudfoundry/
    cli#downloads

    View Slide

  24. View Slide

  25. Demo
    https://github.com/miccheng/rails-guestbook-demo

    View Slide

  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: http://cfmanigen.mybluemix.net

    View Slide

  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 -i

    View Slide

  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: http://docs.pivotal.io/pivotalcf/1-7/devguide/services/user-provided.html)
    • Managed Services for Cloud Foundry - services integrated with
    Cloud Foundry via APIs, and enable end users to provision reserved
    resources and credentials on demand.

    (Reference: http://docs.pivotal.io/pivotalcf/1-7/services/index.html)

    View Slide

  29. Q&A

    View Slide

  30. We are hiring!

    View Slide