15
Bluemix: The Open Platform as a Service Jia Tan ([email protected]) Senior Software Architect IBM China Software Development Lab Apr 2014 © 2013 IBM Corporation

Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan ([email protected]) Senior Software

  • Upload
    vonhan

  • View
    217

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan (tanjia@cn.ibm.com) Senior Software

Bluemix: The Open Platform as a Service

Jia Tan ([email protected])

Senior Software Architect

IBM China Software Development Lab

Apr 2014

© 2013 IBM Corporation

Page 2: Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan (tanjia@cn.ibm.com) Senior Software

New Modes of EngagementSystems of Record

• Data & Transactions

• App Infrastructure

• Virtualized Resources

• Expanding Interface Modalities

• Big Data and Analytics

• Social Networking

Next Generation

Architectures

New models of product & service innovation are emerging

© 2011 IBM Corporation2

Data & Transaction Integrity Smarter Devices & Assets

Page 3: Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan (tanjia@cn.ibm.com) Senior Software

Design Philosophy:� Simplicity� Optimize for operational burden� Continuous updates with continuous availability� Instrument everything

Development Philosophy:� Extensive code reviews, unit and functional tests� Keep it DRY (Don’t Repeat Yourself)� Loose coupling using notification/signals� Do most work in Python; C when necessary� Extensive monitoring

Business Impact� Solution evolved & changed with the business� Architecture re-evaluated constantly in relation to business goals

Instagram – Design Philosophy and Evolution

© 2011 IBM Corporation3

2 years, 13 staff (development + ops)

25 K Users

+1M Users (single day)

50M+ Users

• Python• Django• CouchDB• Git

• Traditional ServiceProvider

• Scale issues

• Nginx• Postgres/Redis• Repmgr• Pgbouncer

• Munin, statsd• Amazon EC2, CDN, ELB, S3

• Workload optimized monitoring, tuning, database

• Apache Solr

• PGFouine, Dogslow

• Gearman, Node2dm

14M+ Users

� Architecture re-evaluated constantly in relation to business goals� Progressive composition of services� Majority of development focus on creating business value

Page 4: Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan (tanjia@cn.ibm.com) Senior Software

IBM Confidential

© 2011 IBM Corporation4

• CF is positioned as being “open” with respect to• Support of any programming language & runtime• Allows integration of any technology as a service• Can run everywhere (e.g. single VM on a laptop, on any hosted IaaS cloud, on-prem

in a data center)

Page 5: Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan (tanjia@cn.ibm.com) Senior Software

Cloud Foundry PaaS

Cloud Foundry services registry

and runtime management layer.

Components are dynamically

discoverable and loosely

coupled, exposing health through

HTTP endpoints so agents can

Cloud Foundry Components

User Authentication and Authorization

Router

Service Gateway Apps

Health ManagerCloud Controller

© 2011 IBM Corporation5

HTTP endpoints so agents can

collect state and act on it.

DEA Pool

Service Connector

Messaging

Build Packs

Cloud Foundry BOSH

Micro

Clouds

Private

Clouds

Public

Clouds

Service Nodes

Page 6: Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan (tanjia@cn.ibm.com) Senior Software

User Authentication and Authorization

Router

Service Gateway Apps

Health ManagerCloud Controller

Service Nodes

Cloud Controller

Cloud Controller

The Cloud Controller interfaces

with clients (cf, STS, Eclipse) for

account and provisioning control.

It provides a RESTful interface to

CLI

© 2011 IBM Corporation6

DEA Pool

Service Connector

Messaging

Build Packs

Cloud Foundry BOSH

Micro

Clouds

Private

Clouds

Public

Clouds

Service Nodes It provides a RESTful interface to

domain objects (apps, services,

organizations, spaces, service

instances, user roles, and more).

Page 7: Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan (tanjia@cn.ibm.com) Senior Software

NATS

User Authentication and Authorization

Router

Service Gateway Apps

Health ManagerCloud Controller

Service Nodes

Messaging

A fast internal messaging bus

(NATS) manages all system

communication.

© 2011 IBM Corporation7

DEA Pool

Service Connector

Messaging

Build Packs

Cloud Foundry BOSH

Micro

Clouds

Private

Clouds

Public

Clouds

Service Nodes

Page 8: Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan (tanjia@cn.ibm.com) Senior Software

DEA

User Authentication and Authorization

Router

Service Gateway Apps

Health ManagerCloud Controller

Service Nodes

DEA

A DEA (Droplet Execution Agent)

is a secure and fully isolated

container – a VM that can run

one or multiple apps. DEAs are

responsible for an app’s lifecycle:

building, starting and stopping

apps as instructed. It keeps track

© 2011 IBM Corporation8

DEA Pool

Service Connector

Messaging

Build Packs

Cloud Foundry BOSH

Micro

Clouds

Private

Clouds

Public

Clouds

Service Nodesapps as instructed. It keeps track

of all instances, and periodically

broadcasts messages about their

state. Buildpacks create app

droplets which execute on a DEA.

Page 9: Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan (tanjia@cn.ibm.com) Senior Software

User Authentication and Authorization

Dynamic Router

Service Gateway Apps

Health ManagerCloud Controller

Service Nodes

RouterDynamic Router

The Router shapes and routes all

external system traffic (HTTP/API)

and application traffic from the

internet/intranet. It maintains a

dynamic routing table for each

load-balanced app instance with

IP addresses and ports for access

© 2011 IBM Corporation9

DEA Pool

Service Connector

Messaging

Build Packs

Cloud Foundry BOSH

Micro

Clouds

Private

Clouds

Public

Clouds

Service NodesIP addresses and ports for access

via the internet.

Page 10: Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan (tanjia@cn.ibm.com) Senior Software

User Authentication and Authorization

Router

Service Gateway Apps

Health ManagerCloud Controller

Service Nodes

Health ManagerHealth Manager

The Health Manager monitors

application uptime/health by

looking for mismatched

application states

(expected/actual). The Cloud

Controller provides the expected

state and the DEAs provide the

© 2011 IBM Corporation10

DEA Pool

Service Connector

Messaging

Build Packs

Cloud Foundry BOSH

Micro

Clouds

Private

Clouds

Public

Clouds

Service Nodesstate and the DEAs provide the

current state. If the Health

Manager sees an incorrect

current state, it notifies the

Cloud Controller.

Page 11: Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan (tanjia@cn.ibm.com) Senior Software

Service GatewayService Gateway

A Service Gateway provides an

interface for both native and

external 3rd party services.

Service processes run on Service

Nodes or with external 3rd party

SaaS services (e.g., email,

messaging, database, storage,

User Authentication and Authorization

Router

Service Gateway Apps

Health ManagerCloud Controller

Service Nodes

© 2011 IBM Corporation11

messaging, database, storage,

etc.).

DEA Pool

Service Connector

Messaging

Build Packs

Cloud Foundry BOSH

Micro

Clouds

Private

Clouds

Public

Clouds

Service Nodes

Page 12: Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan (tanjia@cn.ibm.com) Senior Software

Cloud Foundry BOSH

Deploys and manages large scale

distributed systems. Continuous

and predictive updates with

minimal downtime.

It includes interfaces for vSphere,

vCloud, AWS and OpenStack.

Running Cloud Foundry

UAA

Router

Service Gateway Apps

Service Connector

Health ManagerCloud Controller

Build Packs

Service Nodes

© 2011 IBM Corporation12

vCloud, AWS and OpenStack.

Additional CPI can be written for

alternative IaaS providers.

Cloud Foundry BOSH

Micro

Clouds

Private

Clouds

Public

Clouds

DEA Pool Messaging

Cloud Provider Interface

Page 13: Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan (tanjia@cn.ibm.com) Senior Software

Cloud Provider Interface

Stemcellcreate_stemcell(image, cloud_properties)delete_stemcell(stemcell_id)

VMcreate_vm(agent_id, stemcell_id, resource_pool,

networks, disk_locality, env)delete_vm(vm_id)

IaaS Neutral

© 2011 IBM Corporation13

delete_vm(vm_id)reboot_vm(vm_id)configure_networks(vm_id, networks)

Diskcreate_disk(size, vm_locality)delete_disk(disk_id)attach_disk(vm_id, disk_id)detach_disk(vm_id, disk_id)

...ETC

Page 14: Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan (tanjia@cn.ibm.com) Senior Software

IBM BlueMix

What is IBM BlueMix?IBM BlueMix leverages Cloud Foundry to enable developers to rapidly build, deploy, and manage their cloud applications, while tapping a growing ecosystem of available services and runtime frameworks

How Does it Work?IBM will provide services and runtimes into the ecosystem based on their extensive software portfolio

Can I Join In?The jStart team is already executing IBM BlueMix proof-of-concepts with clients

© 2011 IBM Corporation14

DevelopmentDevelopment

Service SimulationFunctional TestingDelivery PipelinePerformance TestingRich client IDEWeb-based IDE

OperationalOperational MobileMobile

LoggingMonitoringBackupScheduling

Mobile RuntimeSMSPassesLocation IntelligencegetLocationPush Notifications

Data & AnalyticsData & Analytics

NoSQLPredictive AnalyticsSocial AnalyticsRelational DBMapReduce

Infrastructure & SecurityInfrastructure & Security Application ServicesApplication Services

IdentityApplication SecurityObject StorageSmarter Infrastructure

CachingBusiness RulesWorkflowJava

PHPRubyPythonMessaging

Rich ecosystem of current and planned services

Enable applications to be rapidly and incrementally composed and operated IBM-hosted & 3rd party services

proof-of-concepts with clients

Page 15: Bluemix: The Open Platform as a Service - PKUsei.pku.edu.cn/~wqx/ase/2014/Bluemix_introduction.pdf · Bluemix: The Open Platform as a Service Jia Tan (tanjia@cn.ibm.com) Senior Software

Join the Community:

IBM.com/smartcloud/community

© 2011 IBM Corporation15