Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

32
Platform as a Service Cloud Foundry and IBM Bluemix David Currie @dcurrie Rob Nicholson @nicholsr

Transcript of Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

Page 1: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

Platform as a Service

Cloud Foundry and IBM Bluemix

David Currie

@dcurrie Rob Nicholson

@nicholsr

Page 2: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation2IBM Innovation Center &

Technical Exploration Center

Emerging Technology Services

Software Development & Support

Executive Briefing

Center

Software Services

Full disclosure…..

We work at IBM on stuff related to Bluemix

…..but this is NOT a sales pitch

Page 3: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation3

Agenda

Introduction to Platform as a Service

Demo

Cloud Foundry & Buildpack Architecture

Demo

Break

Cloud Foundry ecosystem & BOSH

Services

DevOps Demo

Page 4: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation4

What is Cloud Computing?

Cloud computing is a model for enabling convenient, on-demand network access

to a shared pool of configurable computing resources (such as networks, servers,

storage, applications, and services) that can be rapidly provisioned and released

with minimal management effort or service provider interaction

Page 5: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation5 Standardization; OPEX savings; faster time to value

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Data

Applications

Traditional On-Premises

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Data

Applications

Platformas a Service

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Data

Applications

Softwareas a Service

Networking

Storage

Servers

Virtualization

Middleware

Runtime

Data

Applications

Infrastructureas a Service

O/S

Vendor Manages in CloudClient Manages

PaaS allows the developer to focus on the app by

covering all infrastructure and middleware-related mgmt aspects

Page 6: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation6

Pizza as a Service

Page 7: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation7

Why Cloud Foundry?

Deploy in seconds not weeks or months

No need to talk to anyone else

Polyglot runtimes

Java, Node.js, Ruby, Python, Go, PHP, …

Easily integrate internal and 3rd party services/APIs

Open Source runtime platform

IaaS independent – runs in the cloud or on-premise

Page 8: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation8

Background

Early 2011: Open Source effort initiated by VMware

Focused on addressing the cloud market beyond IaaS

April 2013: Pivotal created from EMC & VMware around SW and

OSS assets including Cloud Foundry, Rabbit, Spring, …

November 2013: Pivotal CF, commercial version of Cloud Foundry

released

February 2014: IBM announces BlueMix, making use of Cloud

Foundry

2014 and beyond: Rapidly growing ecosystem of OpenSource

contributors, consulting companies & commercial, value-add ISVs

Page 9: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation9

Who is using Cloud Foundry?

Page 10: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation10

Cloud Foundry Foundation: Launched December 2014

10

Platinum Founding Sponsors

Gold Founding Sponsors

Silver Founding Sponsors

Managed by the Linux Foundation

Page 11: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation11

Experimental in nature

- Require rapid iteration

- Faster time to market

- May be decommissioned quickly

Are written in multiple languages

- Web: JavaScript, Ruby, Java, PHP

- Mobile: iOS, Android, SDK

Composed of Services

- Build using a composition model of

stitching capabilities together

- Capabilities often require time to test in

app beyond the scope of a free trial

Integrate with existing systems

- Data is often located in multiple places

(public, private, traditional data center)

- Existing systems may not scale at the

same the level of cloud applications

Cloud and Mobile Applications

Page 12: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation

IBM’s PaaS is called Bluemix – based on Cloud Foundry

• Open Cloud Operating

Environment

• IBM and partner cloud services

• Integrated DevOps with both

Browser and Eclipse-based tools

Services

Lifecycle Management

(JazzHub)

ApplicationRuntime

Runtimes &Frameworks

Middleware Application Operational Mobile ExternalData

node java ruby WorklightWebSphere

Liberty

Web IDE(Eclipse Orion)

Eclipse IDEApplicationCompositionEnvironment

Create & Manage Services

Test/RunTest/Run

ExploreServices

ExploreServices

IBM Bluemix

Check In Code Check In Code

12

Page 13: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation13

TWILIO DEMO (ROB)

• Demo covers:

• Cloudfoundry concepts

• Userid, organisation, spaces, services, runtimes, routes

• Commandline and web interface

• Logging.

Page 14: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation14

CLOUD FOUNDRY

ARCHITECTURE (DAVID)

Page 15: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation15

Key Concepts

cf command line tool used to interact with the Cloud Foundry

environment, via the Cloud Controller component

Buildpack a collection of code responsible for transforming

pushed application artifacts into a ready-to-run droplet, in a

process referred to as ‘staging’

Droplet a package containing everything that is needed in order

to successfully run your application (e.g. JRE, Liberty, the

application itself) short of the Operating System

Service the means of providing runtime dependencies needed

by an application e.g. a database

Warden the containerization mechanism used to achieve

application isolation in the Cloud Foundry environment

Page 16: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation16

Cloud Foundry Architecture

Page 17: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation17

IBM Confidential June 7, 2013

Application Push

cf push {APPNAME}

Page 18: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation18

Application Staging

Page 19: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation19

Example Buildpack: WebSphere Liberty

Based on community Java Buildpack

Runs executable JAR files, web (WAR) and enterprise (EAR) applications,

and WebSphere Liberty ‘packaged servers’

Adds an IBM JRE and, when needed, the WebSphere Liberty runtime

For WAR and EAR files, generates the required server configuration to

match bound services and provides client binaries

Loads into the server only what is needed for the provided application

Pre-deployed in IBM Bluemix and Pivotal Web Services

Available as custom buildpack:

https://github.com/cloudfoundry/ibm-websphere-liberty-buildpack

Page 20: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation20

Service Integration with the Liberty buildpack

IBM services

SQLDB / dashDB

Monitoring and Analytics service

Auto-Scaling

Single Sign On

Data Cache

Session Cache

MQ Light

Cloudant

Third party/community services

New Relic

mysql / ClearDB

Postgresql / ElephantSQL

mongodb / MongoLab

• Information about bound services is

available in the VCAP_SERVICES

environment variable

• Some services are container managed

only (SessionCache)

• Some services can be either container

managed or application managed

(SQLDB)

• Some services contain multiple features which can be separately enabled (Monitoring and Analytics)

• Some services have local analogs (SQLDB, mongo) and some do not (Monitoring and Analytics)

• Services may require client driver JARs, extension features (WXS ESA), Liberty features, bootstrap.properties

Page 21: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation21

DEMO (ROB)

(MQ Light demo using 1,2,3

app multi language and

scaling.)

Page 22: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation22

BREAK

Page 23: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation23

ECOSYSTEM: WHERE DOES

CLOUDFOUNDRY RUN? (ROB)

Page 24: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation24

Pivotal Cloud Foundry.

http://pivotal.io/platform-as-a-service/pivotal-cloud-foundry

Page 25: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation25

Pivotal web services

http://run.pivotal.io

Page 26: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation26

IBM Bluemix

http://bluemix.net

Page 27: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation27

Bluemix Hybrid Cloud

Page 28: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation28

Deploying Cloudfoundry onto an IaaS.

BOSH

BOSH Cloud Provider Interface

VMware

vSphere

Page 29: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation29

BOSH

Provisioning system for VMs used by CloudFoundry (and others)

Release Engineering, deployment, lifecycle management

Monitoring, failure recovery, updates

Cloud Provider Interface abstracts details of the IaaS layer.

Helps with

Packaging up a myriad dependencies at defined levels.

Consistency between Staging and production environments.

How?

Stemcells package up OS tailored for each combination of VM Type and IaaS

Release is a back of configuration and software that installs on top of a stemcell.

Director manages deployments.

Bosh CLI.

Page 30: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation30

SERVICES (ROB)

Page 31: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation31

PAAS DEVOPS (DAVID)

Page 32: Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast

© 2015 IBM Corporation32

Ordering

(Java)

Ordering

(Java)

Microservices Example

UI

(PHP)

Ordering

(Java) Catalog

(node.js)

SQLDB

Cloudant

Analytics Auto

Scaling

https://developer.ibm.com/bluemix/2015/03/16/

sample-application-using-microservices-bluemix/

User-ProvidedUser-Provided

Delivery Pipeline