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.
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
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)
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.
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
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.
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
Pivotal Web Services (PWS) • Hosted version of PCF. • Exactly the same user experience / features. • Register for a free trial account. • http://run.pivotal.io
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
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
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
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)