The Journey to Cloud Native - A 3-Step Path to Modernizing Applications [Webinar Replay]

Post on 20-Mar-2017

190 views 0 download

transcript

Journey to Cloud NativeA Three Step Path to Modernizing ApplicationsAlois Mayr, Technology Lead Cloud & Containers@mayralois

The future is … nowbash-3.2$ cf target -s prod API endpoint: https://api.cf.$DOMAIN User: amayrOrg: dynatraceSpace: prodbash-3.2$ cf push

The cloud-native evolution 9 out of 10

of surveyed respondents are going to

migrate to cloud technologieswithin the next five years

Get your copy https://info.dynatrace.com/apm_all_wp_cloud_native_evolution_en_registration.html

..but what does it mean to be cloud native?

Container packaged - isolated unit of application deployment

Dynamically managed - central orchestration process

Micro-services oriented - loosely coupled, explicit dependencies

Source: Cloud Native Computing Foundation

..but what does it mean to be cloud native?

Source: Pivotal.io

..but what does it mean to be cloud native?

Onsi Fakhoui: VP Cloud Research & Development

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

Develop

Big monolithic application. Small interconnected purpose-built services.

Pizza box teamsSmall teams can deliver features into production

You build it, you run it.

Werner Vogels, CTO Amazon

New rules in the game

Ship

Deploy

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

Compute

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

We see three different stages how companies embrace transformation

The journey to become cloud-native

Stage 1: First steps into the cloud by CD“Lift and Shift” to modern platformsApplications stay the sameRelease speed massively increasesAutomation is key

Writing fast cloud native applicationsRule #1: Don’t write slow code

Control code complexityN+1 interaction patterns - control flow designMore than 10 service hops - hard to debugHighly asynchronous - hard to understandUnusual Log Activity

Continuous performance management

Stage 2: Refactoring towards micro services

First micro services Scheduling and orchestrationArchitectures become polyglotIndependent release cycles

Writing fast cloud native applications

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

Control environment complexity

Service call payload - < 200 kbChatty services - > 50 service callsInter-tier heavy interactions - granularity and localityStatus codes - only OK is 200

Understand micro service interactions

Tightly coupled. Really Distribute?

A whole new technology stackDevelop

Ship

Deploy

Run

Scale

Compute

…may or may not have an (immediate) impact to application service performance

..lets you face new problems

Stage 3: Dynamic micro services

Up and down scaling near real timeAdvanced resilience mechanismsInfrastructure totally abstracted

Writing fast cloud native applicationsRule #1: Don’t write slow codeRule #2: Don’t write code that doesn’t scaleRule #3: Understand application behavior

Watch your application live

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

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

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

You don’t fly by hand here820 Billion dependencies

Network Problem Mushroom cloud effect

Make monitoring part of your platform

Make monitoring part of your platform

Make monitoring part of your platform

Thank you!Alois Mayralois.mayr@dynatrace.com@mayralois