the cloud native journey

58
© Copyright 2015 Pivotal. All rights reserved. 1 The Cloud Native Journey Matt Stine (@mstine) Principal Engineer & Senior Product Manager

Upload: matt-stine

Post on 15-Jan-2017

1.993 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 1

The Cloud Native JourneyMatt Stine (@mstine)

Principal Engineer & Senior Product Manager

Page 2: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 2

WARNING: !

This may end up being a bit stream

of consciousness…

Page 3: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved.

My Cloud Native Journey

3

App Dev/Arch for 11 years

CLOUD NATIVE LAND

Page 4: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 4

I wrote a little cloud book…

Available to you compliments of Pivotal and O’Reilly! !Book Signing @ 10:00 AM: North Hall, Hall E (Hang Space) !Get the FREE e-book at http://bit.ly/cloud-native-book!

Page 5: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 5

“Software is Eating the World”

Page 6: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 6

Gartner predicts that by 2020, 75 percent of application purchases supporting digital business will be "build," not "buy."http://www.gartner.com/newsroom/id/3119717

Page 7: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 7

The ability to deliver software is no longer a differentiator.

Page 8: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 8

It is a basic requirement for survival.

Page 9: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 9

So what do the Cloud Natives do?

$3.5B valuation Financial Services

$3.5B valuation Travel & Hospitality

$3.5B valuation Transportation

$3.2B Acquisition by Google Home Automation

$20B valuation Entertainment

$26B valuation Tesla--Automotive

$6B $50B $41B

$25B $33.5B

Page 10: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 10

SPEED

UBIQUITY*

SCALE

SAFETY

(MOBILE)

Page 11: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 11

Continuous Delivery

Page 12: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 12

ContinuousDelivery

Page 13: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 13

ContinuouslyDeliverDay One Day Two and Beyond

Page 14: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 14

Operations is the Secret Sauce

Page 15: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved.

Continuously Delivered Microservices

15

Loosely coupled service oriented architecture with bounded contexts

If every service has to be updated in concert, it’s not loosely coupled!

If you have to know about surrounding services you don’t have a bounded context.

Page 16: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 16

Without taking steps to ensure fault tolerance, 30 dependencies each with 99.99% uptime would result in 2+ hours downtime/month (99.99%30 = 99.7% uptime = 2+

hours downtime in a month).

http://techblog.netflix.com/2012/02/fault-tolerance-in-high-volume.html

Page 17: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 17

Build Reliable Systems from

Unreliable Components

Page 18: The Cloud Native Journey
Page 19: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 19

Page 20: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved.

Microservices The Old Way

20

Page 21: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 21

Cloud Native is NOT:

• Configuring Infrastructure

• Orchestrating Containers

• Composing Distributed Systems

• Supporting Ad-Hoc General Purpose Automation

Page 22: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 22

https://twitter.com/littleidea/status/626767188653797376

Page 23: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 23

GREAT JOB PROVISIONING SERVERS THIS YEAR!…said no CIO ever.

Page 24: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 24

And they’re not going to say that about

containers either…

Page 25: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 25

Page 26: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 26

Page 27: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 27

I’ve built homegrown application platforms twice:

• The first took three years before it saw a production application.

• The second took two years.

•Maybe if I do it just two more times…

Page 28: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 28

I regret to inform you, but…

• You’re not that smart.

• You’re not different.

• You’re not special.

Page 29: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 29

10:1the ratio of app developers to platform developers

at “web scale” companies

Page 30: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 30

10:1this was also true of the two platforms I helped build

Page 31: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 31

UNDIFFERENTIATED HEAVY LIFTING

Page 32: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 32

Page 33: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 33

SIMPLE RULES

COMPLEX BEHAVIOR

EXPLICIT CONTRACTS

COMMODITY COMPONENTS

Page 34: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 34

Page 35: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 35

SIMPLE RULES

COMPLEX BEHAVIOR

EXPLICIT CONTRACTS

COMMODITY COMPONENTS

Page 36: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 36

SIMPLE RULES

COMPLEX BEHAVIOR

EXPLICIT CONTRACTS

COMMODITY COMPONENTS

Grab Dirt w/ Pheromone Build Bridge

Attach to Ant on Edge

1000’s of Ants

Hardwired into Brain

Colonies, Bridges, Rafts

Page 37: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 37

What if our platform worked this way?

Page 38: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 38

3-5 Different Server Builds

If your software doesn’t fit into one of these, your software is broken.

Zero Deviation or Customization

Page 39: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 39

PLATFORM IS

OMAKASE

Page 40: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved.

SPRING BOOT

40

OMAKASE TWELVE FACTOR APPS

http://start.spring.io

Page 41: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved.

SPRING CLOUD

41

http://cloud.spring.io

https://network.pivotal.io/products/p-spring-cloud-servicesOMAKASE DISTRIBUTED SYSTEMS

Page 42: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved.

SPRING XD

42

OMAKASE BATCH AND STREAM DATA PROCESSING

http://projects.spring.io/spring-xd

Page 43: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 43http://spring.io/platform

Page 44: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 44

PIVOTAL CLOUD FOUNDRY - OMAKASE RUNTIME PLATFORM

Page 45: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 45

If your software doesn’t fit into this platform, then your software is

probably broken.

Page 46: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 46

Polyglot Programming?

Page 47: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 47

SIMPLE RULES

COMPLEX BEHAVIOR

EXPLICIT CONTRACTS

COMMODITY COMPONENTS

Page 48: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 48

Simple Rules

• Boot Property Resolution

• Boot Config Precedence

• Circuit Breaker FSM

• Eureka Cache Server Resolution

• Buildpack Detect/Compile/Upload

• Java BP Memory Heuristic

• LRP/Task Lifecycle

• Desired/Actual State Convergence

• STDOUT/ERR Log Aggregation

• Routing Table Maintenance

Page 49: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 49

CONTRACTS

Page 50: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved.

Commodity Components?

50

THOUSANDS OF

MICROSERVICES!

Page 51: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 51

So what does a platform like this of allow you to do?

Page 52: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved.

#1: Get your head around Conway’s Law.

52

Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's

communication structure.

Melvyn Conway, 1967

Page 53: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 53

#2: Invoke the Inverse Conway Maneuver

Page 54: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved.

#3: Start Delivering Business Capabilities

54

Product Mgr UX Dev QA DBA

Sys Admin

Net Admin

Storage Admin

BUSINESS CAPABILITY TEAMS BUILDING MICROSERVICES PLATFORM OPERATIONS TEAM

Adapted from: http://www.slideshare.net/adriancockcroft/goto-berlin

Self Service

API

Page 55: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 55

But what if I don’t have a platform like this?

• Probably going to make some things too complicated/hard…

• Probably going to need specialization at multiple levels of your architecture…

• Probably going to stay stuck in or rebuild your silos…

Page 56: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 56

We need the platform to remind us:

•We’re not that smart.

•We’re not different.

•We’re not special.

Page 57: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved.

So we can get back to why we’re here…

57

Page 58: The Cloud Native Journey

© Copyright 2015 Pivotal. All rights reserved. 58

Game On

http://pivotal.io/cloud-native