the journey to becoming cloud native – a three step path to modernizing applications

26
Journey to Cloud Native How to move to the cloud in three steps Alois Reitbauer, @aloisreitbauer

Upload: pivotal

Post on 06-Jan-2017

248 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Journey to Cloud NativeHow to move to the cloud in three steps

• Alois Reitbauer, @aloisreitbauer

Page 2: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

about:meAlois ReitbauerChief StrategistLead Innovation Lab

(never smiles on photos)

Page 3: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Bimodal ITNot every project is a cloud project, but cloud thinking is everywhere

Page 4: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Develop

Big monolithic application. Small interconnected purpose-built services.

Page 5: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Pizza Box TeamsSmall teams can deliver features into production

Page 6: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

New Rules in the Game

You build it, you run it.

Werner Vogels, CTO Amazon

Page 7: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Ship

Deploy

Big Bang Releases of single special built applications. Small continuous service delivery of standardized delivery blocks.

Page 8: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Compute

Hardwired datacenters. Datacenter as an API.Confidential, Dynatrace LLC

Page 9: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

The journey to become cloud-native

We see three different stages how companies embrace transformation

Page 10: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Stage 1: Continuous Delivery

“Lift and Shift” to modern platformsApplications stay the sameRelease speed massively increases

Page 11: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Writing fast cloud native applications easy

Rule #1: Don’t write slow code

Page 12: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Control code complexityN+1 interaction patterns - control flow designDuplicate interactions - bounded context, SPOFMore than 10 service hops - hard to debugHighly asynchronous - hard to understandUnusual Log Activity

Page 13: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Continuous Performance Management

Page 14: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Stage 2: Refactoring towards Micro Services

First micro services Scheduling and OrchestrationArchitectures become polyglotIndependent Release Cycles

Page 15: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Writing fast cloud native applications easy

Rule #1: Don’t write slow codeRule #2: Don’t write code that doesn’t scale

Page 16: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Control Environment Complexity

Service Call Payload - < 500 kbChatty services - > 50 service callsInter-tier heavy interactions - granularity and localityStatus Codes - only Ok is 200

Page 17: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Understand Micro Service Interactions

Page 18: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Stage 3: Dynamic Micro Services

Up and down scaling near real timeAdvanced resilience mechanismsInfrastructure totally abstracted

Page 19: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Writing fast cloud native applications easy

Rule #1: Don’t write slow codeRule #2: Don’t write code that doesn’t scaleRule #3: Understand application behavior

Page 20: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Watch your application live

Health monitoring – symptoms Orchestration monitoring - causalityApplication monitoring - root cause

Page 21: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications
Page 22: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

7:00 a.m.Low Load and Service runningon minimum redudancy

12:00 p.m.Scaled up service during peak loadwith failover of problematic node

7:00 p.m.Scaled down again to lower loadand move to different geo location

Deployments are no longer static

Page 23: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

You don’t fly by hand here820 Billion dependencies

Network Problem Mushroom cloud effect

Page 24: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Container Network Monitoring

Page 25: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Make it part of your environment

Page 26: The Journey to Becoming Cloud Native – A Three Step Path to Modernizing Applications

Thank you!Alois [email protected]@aloisreitbauer