Slide 1

Slide 1 text

Introduction to Cloud Foundry A Developer’s Perspective

Slide 2

Slide 2 text

Michael Cheng @CoderKungfu [email protected]

Slide 3

Slide 3 text

Cloud Computing

Slide 4

Slide 4 text

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.

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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)

Slide 7

Slide 7 text

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.

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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.

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

Organization Spaces Logical way of organising users and resources

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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)

Slide 29

Slide 29 text

Q&A

Slide 30

Slide 30 text

We are hiring!