linux collaboration summit keynote: transformation: it takes a platform

43
TRANSFORMATION It Takes a Platform A Cloud-native Application Platform Cornelia Davis CTO, Transformation Practice Pivotal @cdavisafc

Upload: cornelia-davis

Post on 13-Jan-2017

838 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

TRANSFORMATION It Takes a Platform

A Cloud-native Application Platform

Cornelia Davis CTO, Transformation Practice Pivotal @cdavisafc

Page 2: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Enable Speed to Market

Deliver Better Customer Experience and More Value

Engage Workforce

Why Transform?

Page 3: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

TIME

EXPE

RIE

NC

E

&

EFFI

CIE

NC

Y

Traditional IT

Disruptors

INNOVATION GAPIaaS

+ Automation

What does it take to compete?• Agile, Developer Productivity, TDD, Pairing • A Platform that supports Continuous Delivery

• Streamlines the Devops cycle • Optimizes for Modern Application Architectures

• and more…

Page 4: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

4

Continuous DeliveryBusiness Drivers Decide Release (not technical readiness)

Page 5: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

A Seattle book store deploys code, on average,

every second

Page 6: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Why?

SPEC

ULA

TIO

N

Page 7: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Risk Accumulation

SPEC

ULA

TIO

N

RISK

Page 8: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Experimentation Reduces Risk

SPEC

ULA

TIO

N

ITERATION ITERATION ITERATION ITERATION ITERATION

Page 9: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

9

DevopsEliminate Friction

Page 10: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Obstacles

• Silos: Dev, QA, Operations is typical. No shared common goal

• Dissimilar Environments - “It works on my machine”

• Risky Deployments: Manual steps, done “off hours”

• Changes are treated as an exception, not the norm →Firefighting

• Processes designed around these obstacles

Page 11: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

It Takes a Platform

People

http://radar.oreilly.com/2007/10/operations-is-a-competitive-ad.html

Page 12: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Application Dial Tone

12

Emits application “dial tone” • Config • Runtime • Logs • Metrics • Health Management • Security • Operations

Your Application Code

Virtualized Infrastructure

Page 13: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Enabling Devops - Teams Delivering Outcomes

13

Dat

abas

e

Web

S

erve

r

Mes

sagi

ng

Your Application Code

Virtualized Infrastructure

PAAS

Platform Team

Application Team

• Deploys platform • Makes standard runtimes and services

available • Monitors platform • Scales platform (ensuring

sufficient capacity) • Upgrades platform with zero-downtime

• Creates deployable artifact

• Config Prod environment • Deploys application to Prod • Monitors application • Scales application (capacity) • Deploys new app version with

zero downtime.

Page 14: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Essential Elements to Enabling Devops

14

• Complete test suites RUN in DEV, TEST and PROD

• Deployment construction SINGLE DEPLOYABLE ARTIFACT

Page 15: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Single Deployable Artifact

15

Commit Tests

Integration Tests

Deployable Artifact

Deploy to CF Test Env

Deploy to Prod

• Developer crafted (before impl.) • Stubs/mocks external services • Developer executed (before commit) • CI executed (after commit)

(after commit) • Developer or QA crafted • CI executed • Runtime context (buildpack applied) • Binds to test services (DB, messaging, etc.)

• “cf push” • Runtime context (buildpack applied) • Binds to test services (DB, messaging, etc.) • Periodic smoke tests

• “cf push” • Runtime context (buildpack applied) • Binds to prod services (DB,

messaging, etc.) • Periodic smoke tests • Monitoring

? ?

Page 16: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Essential Elements to Enabling Devops

16

• Complete test suites RUN in DEV, TEST and PROD

• Deployment construction SINGLE DEPLOYABLE ARTIFACT

• Self-service, Rapid Provisioning/Deprovisioning AGILITY

• Environment parity NO MORE “It works on my machine”

Page 17: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Environment Parity

17

cmtcmtcmt v201cmt cmt cmt cmt v202 cmt… …

Prod

Acceptance

CI

Page 18: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Essential Elements to Enabling Devops

18

• Complete test suites RUN in DEV, TEST and PROD

• Deployment construction SINGLE DEPLOYABLE ARTIFACT

• Self-service, Rapid Provisioning/Deprovisioning AGILITY

• Environment parity NO MORE “It works on my machine”

• Immutable Infrastructure NO SNOWFLAKES!!!

• Blue/Green Deployments ENABLE PULLBACK

Page 19: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Immutable Infrastructure - Deploy From Scratch

19

Router

Blobstore Cloud Controller

Messaging

Cell Cell Cell PivotalCloudFoundryRuntime(ERS)

Access App

Page 20: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Low Risk, Blue/Green Deploys

20

Page 21: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Essential Elements to Enabling Devops

21

• Complete test suites RUN in DEV, TEST and PROD

• Deployment construction SINGLE DEPLOYABLE ARTIFACT

• Self-service, Rapid Provisioning/Deprovisioning AGILITY

• Environment parity NO MORE “It works on my machine”

• Immutable Infrastructure NO SNOWFLAKES!!!

• Blue/Green Deployments ENABLE PULLBACK

• Self-healing, elastic runtime EXPECT CHANGE

Page 22: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Self-Healing

22

Amend

(Re)deploy

(Re)configure

(Re)connect

Monitor

Current State Desired

State

Cloud Foundry manages transformations between existing and desired system states, using immutable infrastructure.

Page 23: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Application Instances and Availability Zones

23

Router

Cell

Cell

Cell

CloudFoundryElasticRuntime

Cell

Cell

Cell

Zone 1 Zone 2 Application instances are evenly distributed over two availability zones.

Loosing an AZ keeps instances running and available.

Page 24: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Failed Application Instances Replaced

24

Router

Blobstore Cloud Controller

etcd

Cell Cell Cell

CloudFoundryElasticRuntime

Access App

DB Service credentialscreds

Converger & Auctioneer

Desired State

credscreds

Actual State

Page 25: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Essential Elements to Enabling Devops

25

• Complete test suites RUN in DEV, TEST and PROD

• Deployment construction SINGLE DEPLOYABLE ARTIFACT

• Self-service, Rapid Provisioning/Deprovisioning AGILITY

• Environment parity NO MORE “It works on my machine”

• Immutable Infrastructure NO SNOWFLAKES!!!

• Blue/Green Deployments ENABLE PULLBACK

• Self-healing, elastic runtime EXPECT CHANGE

• Self-healing, evolving platform AS A PRODUCT

Page 26: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Application Teams Focus on Their Products…

26

cmtcmtcmt v201cmt cmt cmt cmt v202 cmt… …

Prod

Acceptance

CI

Page 27: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

… And Platform Teams on Theirs

27

cmt v201cmt cmt cmt cmt v202 cmt… …

Prod

Acceptance

CI

Page 28: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

… And Platform Teams on Theirs

28

cmt v201cmt cmt cmt cmt v202 cmt… …

App

PlatformCVE

Prod

Acceptance

Page 29: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

PCF – Each Layer Upgradable with Zero Downtime

29 * Devs may bring a custom buildpack

runtime layer*

OS image

application layer

linux host & kernel

App container

PCF Supported

Dev Supported

• Platform Provided • CVEs addressed by Pivotal • Canary-style, zero-

downtime upgrades

• Platform or Developer Provided

• CVEs addressed by Pivotal (for Platform Provided)

• Blue/Green deployments

• Developer/App team provided

• Blue/Green deployments

Page 30: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Essential Elements to Enabling Devops

30

• Complete test suites RUN in DEV, TEST and PROD

• Deployment construction SINGLE DEPLOYABLE ARTIFACT

• Self-service, Rapid Provisioning/Deprovisioning AGILITY

• Environment parity NO MORE “It works on my machine”

• Immutable Infrastructure NO SNOWFLAKES!!!

• Blue/Green Deployments ENABLE PULLBACK

• Self-healing, elastic runtime EXPECT CHANGE

• Self-healing, evolving platform AS A PRODUCT

Page 31: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

31

Cloud-native Application DesignScale and Resilience

Page 32: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

© 2015 Pivotal Software, Inc. All rights reserved. 32

Search µservice .

Image µservice .

Item Master µserviceReviews µservice

Shopping Cart

µservice

Other dependent µservice

Other dependent µservice

Other dependent µservice

Page 33: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Why?

• Scale Applications

• Scale Teams

• Independent Development Cycles

• Experimentation

• Resilience

Page 34: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

34

Presentation

Fronted-integration

Order Status µService

Search µService

Item Master µService

Item MetaDatµService

Cart µService

Image µService

R12Ns µService

Shipping µService

µService

µServiceµService

µService

µService

Page 35: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Example: Microservice Architecture

35

UI JS (Angular)

CustomersStores

• How do you configure the many services?

• How do you support multiple versions?

• How does a consumer (UI, Customers) find the service instances (that are moving around)?

• How do you deal with the failure modes introduced with distributed systems?

Page 36: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

36 http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html

Page 37: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Example: Microservice Services

37

Page 38: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Spring Cloud Services

38

Spring Cloud Services

Config Server Service Registry Circuit Breaker Dashboard

Page 39: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

39

Page 40: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Cloud Foundry is…

The world’s leading open source platform-as-a-service. • Supported by dozens of major organizations

• Language and framework agnostic

• Manages both VMs and containers

• Orchestrates both applications and data services

• Abstracts Infrastructure Founded and commercialized by Pivotal, Inc.

Page 41: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

TheCloudFoundryFoundation:AnOpenIndustryStandard

41

PLATINUM

GOLD

SILVER

Page 42: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform

Thank you!

Cornelia Davis CTO, Transformation Practice Pivotal @cdavisafc

Page 43: Linux Collaboration Summit Keynote: Transformation: It Takes a Platform