the journey to cloud native - a 3-step path to modernizing applications [webinar replay]
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 [email protected]@mayralois