Slide 1

Slide 1 text

What Is Cloud Native? Adrian Cockcroft @adrianco Technology Fellow - Battery Ventures Advanced AWS Meetup, San Francisco July 2014

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Typical reactions to my Netflix talks…

Slide 4

Slide 4 text

Typical reactions to my Netflix talks… “You guys are crazy! Can’t believe it” – 2009

Slide 5

Slide 5 text

Typical reactions to my Netflix talks… “You guys are crazy! Can’t believe it” – 2009 “What Netflix is doing won’t work” – 2010

Slide 6

Slide 6 text

Typical reactions to my Netflix talks… “You guys are crazy! Can’t believe it” – 2009 “What Netflix is doing won’t work” – 2010 It only works for ‘Unicorns’ like Netflix” – 2011

Slide 7

Slide 7 text

Typical reactions to my Netflix talks… “You guys are crazy! Can’t believe it” – 2009 “What Netflix is doing won’t work” – 2010 It only works for ‘Unicorns’ like Netflix” – 2011 “We’d like to do 
 that but can’t” – 2012

Slide 8

Slide 8 text

Typical reactions to my Netflix talks… “You guys are crazy! Can’t believe it” – 2009 “What Netflix is doing won’t work” – 2010 It only works for ‘Unicorns’ like Netflix” – 2011 “We’d like to do 
 that but can’t” – 2012 “We’re on our way using Netflix OSS code” – 2013

Slide 9

Slide 9 text

What I learned from my time at Netflix

Slide 10

Slide 10 text

What I learned from my time at Netflix •Speed wins in the marketplace

Slide 11

Slide 11 text

What I learned from my time at Netflix •Speed wins in the marketplace •Remove friction from product development

Slide 12

Slide 12 text

What I learned from my time at Netflix •Speed wins in the marketplace •Remove friction from product development •High trust, low process, no hand-offs between teams

Slide 13

Slide 13 text

What I learned from my time at Netflix •Speed wins in the marketplace •Remove friction from product development •High trust, low process, no hand-offs between teams •Freedom and responsibility culture

Slide 14

Slide 14 text

What I learned from my time at Netflix •Speed wins in the marketplace •Remove friction from product development •High trust, low process, no hand-offs between teams •Freedom and responsibility culture •Don’t do your own undifferentiated heavy lifting

Slide 15

Slide 15 text

What I learned from my time at Netflix •Speed wins in the marketplace •Remove friction from product development •High trust, low process, no hand-offs between teams •Freedom and responsibility culture •Don’t do your own undifferentiated heavy lifting •Use simple patterns automated by tooling

Slide 16

Slide 16 text

What I learned from my time at Netflix •Speed wins in the marketplace •Remove friction from product development •High trust, low process, no hand-offs between teams •Freedom and responsibility culture •Don’t do your own undifferentiated heavy lifting •Use simple patterns automated by tooling •Self service cloud makes impossible things instant

Slide 17

Slide 17 text

Cloud Adoption %*&!” By Simon Wardley http://enterpriseitadoption.com/

Slide 18

Slide 18 text

Cloud Adoption %*&!” By Simon Wardley http://enterpriseitadoption.com/ 2009

Slide 19

Slide 19 text

Cloud Adoption %*&!” By Simon Wardley http://enterpriseitadoption.com/ 2009

Slide 20

Slide 20 text

Cloud Adoption @adrianco’s new job at the intersection of cloud and Enterprise IT %*&!” By Simon Wardley http://enterpriseitadoption.com/ 2014 2009

Slide 21

Slide 21 text

1 Public 
 IaaS 2 Cloud
 Technologies 3 Enterprise SaaS

Slide 22

Slide 22 text

Enterprise IaaS Concerns Staying Power Support Scale Location 1

Slide 23

Slide 23 text

Safe Bets

Slide 24

Slide 24 text

Safe Bets

Slide 25

Slide 25 text

The Global Land-Grab

Slide 26

Slide 26 text

The Global Land-Grab

Slide 27

Slide 27 text

The Global Land-Grab

Slide 28

Slide 28 text

The Global Land-Grab Azure AWS GCE 15 Regions 10 Regions 3 Regions

Slide 29

Slide 29 text

The Global Land-Grab Azure AWS GCE 15 Regions 10 Regions 3 Regions ? ? ? ? ? http://www.google.com/about/datacenters/inside/locations/index.html

Slide 30

Slide 30 text

The Global Land-Grab Azure AWS GCE 15 Regions 10 Regions 3 Regions ? ? ? ? ? ? http://www.google.com/about/datacenters/inside/locations/index.html

Slide 31

Slide 31 text

Questions we keep
 hearing about cloud Are startups adopting Google Compute Engine?

Slide 32

Slide 32 text

Questions we keep
 hearing about cloud Are startups adopting Google Compute Engine?

Slide 33

Slide 33 text

Everything vs. Snapchat 148 Customers with funding of $8B 24 Customers with funding of $780M AWS listed 426 case studies at http://aws.amazon.com/solutions/case-studies/all/ and Quid found 148 GCE listed 56 case studies at https://cloud.google.com/customers/ and Quid found 24

Slide 34

Slide 34 text

Everything vs. Snapchat 148 Customers with funding of $8B 24 Customers with funding of $780M AWS listed 426 case studies at http://aws.amazon.com/solutions/case-studies/all/ and Quid found 148 GCE listed 56 case studies at https://cloud.google.com/customers/ and Quid found 24

Slide 35

Slide 35 text

Cloud Technologies Agility Functionality Cost savings 2

Slide 36

Slide 36 text

Questions we keep
 hearing about cloud Who will win the PaaS battle?

Slide 37

Slide 37 text

Questions we keep
 hearing about cloud Who will win the PaaS battle?

Slide 38

Slide 38 text

Docker All The Things… Container Communications Orchestration Policy

Slide 39

Slide 39 text

SaaS 3 Everything Enterprise Everywhere

Slide 40

Slide 40 text

Questions we keep
 hearing about cloud

Slide 41

Slide 41 text

Where is the fastest growth in SaaS? Questions we keep
 hearing about cloud

Slide 42

Slide 42 text

Top SaaS Investment Areas $0.0$ $0.5$ $1.0$ $1.5$ $2.0$ $2.5$ $3.0$ $3.5$ $4.0$ $4.5$ 1$ 2$ 3$ 4$ 1$ 2$ 3$ 4$ 1$ 2012$ 2013$ 2014$ Billions' IT$Service$Management$ Communica;on$Systems$ Risk$&$Vulnerability$Management$ Sustainability$&$Energy$Management$ Content$Management$ Digital$Adver;sing$ Social$&$Collabora;on$ Applica;on$Performance$&$Lifecycle$Mangement$ Business$Intelligence$ Authen;ca;on$ ecommerce$Solu;ons$ Sales$&$Marke;ng$ Malware$&$Mobile$Security$ Logis;cs$ File$Sharing$ Talent$Management$ Analy;cs$PlaPorms$ Many thanks to Kartik Sundar of quid.com for advice and support

Slide 43

Slide 43 text

Top SaaS Investment Areas $0.0$ $0.5$ $1.0$ $1.5$ $2.0$ $2.5$ $3.0$ $3.5$ $4.0$ $4.5$ 1$ 2$ 3$ 4$ 1$ 2$ 3$ 4$ 1$ 2012$ 2013$ 2014$ Billions' IT$Service$Management$ Communica;on$Systems$ Risk$&$Vulnerability$Management$ Sustainability$&$Energy$Management$ Content$Management$ Digital$Adver;sing$ Social$&$Collabora;on$ Applica;on$Performance$&$Lifecycle$Mangement$ Business$Intelligence$ Authen;ca;on$ ecommerce$Solu;ons$ Sales$&$Marke;ng$ Malware$&$Mobile$Security$ Logis;cs$ File$Sharing$ Talent$Management$ Analy;cs$PlaPorms$ Many thanks to Kartik Sundar of quid.com for advice and support

Slide 44

Slide 44 text

Top SaaS Investment Areas $0.0$ $0.5$ $1.0$ $1.5$ $2.0$ $2.5$ $3.0$ $3.5$ $4.0$ $4.5$ 1$ 2$ 3$ 4$ 1$ 2$ 3$ 4$ 1$ 2012$ 2013$ 2014$ Billions' IT$Service$Management$ Communica;on$Systems$ Risk$&$Vulnerability$Management$ Sustainability$&$Energy$Management$ Content$Management$ Digital$Adver;sing$ Social$&$Collabora;on$ Applica;on$Performance$&$Lifecycle$Mangement$ Business$Intelligence$ Authen;ca;on$ ecommerce$Solu;ons$ Sales$&$Marke;ng$ Malware$&$Mobile$Security$ Logis;cs$ File$Sharing$ Talent$Management$ Analy;cs$PlaPorms$ Many thanks to Kartik Sundar of quid.com for advice and support

Slide 45

Slide 45 text

This is the year that Enterprises finally embraced cloud.

Slide 46

Slide 46 text

“It isn't what we don't know that gives us trouble, it's what we know that ain't so.” ! Will Rogers

Slide 47

Slide 47 text

What separates incumbents from disruptors?

Slide 48

Slide 48 text

Assumptions

Slide 49

Slide 49 text

Optimizations

Slide 50

Slide 50 text

Two Examples

Slide 51

Slide 51 text

Storage Systems

Slide 52

Slide 52 text

Storage systems assume random reads are expensive

Slide 53

Slide 53 text

SSD - RR is free Immutable writes Log-merge

Slide 54

Slide 54 text

SSD packaging as disk, as PCI card as memory DIMM

Slide 55

Slide 55 text

No content

Slide 56

Slide 56 text

Traditional vs. Cloud Native Business Logic Database Master Fabric Storage Arrays Database Slave Fabric Storage Arrays

Slide 57

Slide 57 text

Traditional vs. Cloud Native Business Logic Database Master Fabric Storage Arrays Database Slave Fabric Storage Arrays Business Logic Cassandra Zone A nodes Cassandra Zone B nodes Cassandra Zone C nodes Cloud Object Store Backups

Slide 58

Slide 58 text

Traditional vs. Cloud Native Business Logic Database Master Fabric Storage Arrays Database Slave Fabric Storage Arrays Business Logic Cassandra Zone A nodes Cassandra Zone B nodes Cassandra Zone C nodes Cloud Object Store Backups SSDs inside arrays disrupt incumbent suppliers

Slide 59

Slide 59 text

Traditional vs. Cloud Native Business Logic Database Master Fabric Storage Arrays Database Slave Fabric Storage Arrays Business Logic Cassandra Zone A nodes Cassandra Zone B nodes Cassandra Zone C nodes Cloud Object Store Backups SSDs inside ephemeral instances disrupt an entire industry SSDs inside arrays disrupt incumbent suppliers

Slide 60

Slide 60 text

Traditional vs. Cloud Native Business Logic Database Master Fabric Storage Arrays Database Slave Fabric Storage Arrays Business Logic Cassandra Zone A nodes Cassandra Zone B nodes Cassandra Zone C nodes Cloud Object Store Backups SSDs inside ephemeral instances disrupt an entire industry SSDs inside arrays disrupt incumbent suppliers See also discussions about “Hyper-Converged” storage

Slide 61

Slide 61 text

How to Scale Storage http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html

Slide 62

Slide 62 text

How to Scale Storage Cassandra scalability http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html

Slide 63

Slide 63 text

How to Scale Storage Cassandra scalability ● Linear scale up benchmarked and seen in production http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html

Slide 64

Slide 64 text

How to Scale Storage Cassandra scalability ● Linear scale up benchmarked and seen in production ● Hundreds of nodes per cluster in common use today http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html

Slide 65

Slide 65 text

How to Scale Storage Cassandra scalability ● Linear scale up benchmarked and seen in production ● Hundreds of nodes per cluster in common use today ● Thousands of nodes per cluster actively being tested and used http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html

Slide 66

Slide 66 text

How to Scale Storage Cassandra scalability ● Linear scale up benchmarked and seen in production ● Hundreds of nodes per cluster in common use today ● Thousands of nodes per cluster actively being tested and used Cassandra scale using high end AWS storage instances http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html

Slide 67

Slide 67 text

How to Scale Storage Cassandra scalability ● Linear scale up benchmarked and seen in production ● Hundreds of nodes per cluster in common use today ● Thousands of nodes per cluster actively being tested and used Cassandra scale using high end AWS storage instances ● EC2 i2.8xlarge - over 300,000 iops read or write, 6.4TB of SSD http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html

Slide 68

Slide 68 text

How to Scale Storage Cassandra scalability ● Linear scale up benchmarked and seen in production ● Hundreds of nodes per cluster in common use today ● Thousands of nodes per cluster actively being tested and used Cassandra scale using high end AWS storage instances ● EC2 i2.8xlarge - over 300,000 iops read or write, 6.4TB of SSD ● 100 nodes = 30 million iops and 640 TB - Ludicrous http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html

Slide 69

Slide 69 text

How to Scale Storage Cassandra scalability ● Linear scale up benchmarked and seen in production ● Hundreds of nodes per cluster in common use today ● Thousands of nodes per cluster actively being tested and used Cassandra scale using high end AWS storage instances ● EC2 i2.8xlarge - over 300,000 iops read or write, 6.4TB of SSD ● 100 nodes = 30 million iops and 640 TB - Ludicrous ● 1000 nodes = 300 million iops and 6.4 PB - Plaid! http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html

Slide 70

Slide 70 text

How to Scale Storage Cassandra scalability ● Linear scale up benchmarked and seen in production ● Hundreds of nodes per cluster in common use today ● Thousands of nodes per cluster actively being tested and used Cassandra scale using high end AWS storage instances ● EC2 i2.8xlarge - over 300,000 iops read or write, 6.4TB of SSD ● 100 nodes = 30 million iops and 640 TB - Ludicrous ● 1000 nodes = 300 million iops and 6.4 PB - Plaid! http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html

Slide 71

Slide 71 text

Disruptor Cassandra on SSD

Slide 72

Slide 72 text

Product Development

Slide 73

Slide 73 text

Assumption: Process prevents problems

Slide 74

Slide 74 text

Non-Cloud Product Business Need • Documents • Weeks Approval Process • Meetings • Weeks Hardware Purchase • Negotiations • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Weeks Customer Feedback • It sucks! • Weeks

Slide 75

Slide 75 text

Non-Cloud Product Hardware provisioning is undifferentiated heavy lifting – replace it with IaaS Business Need • Documents • Weeks Approval Process • Meetings • Weeks Hardware Purchase • Negotiations • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Weeks Customer Feedback • It sucks! • Weeks

Slide 76

Slide 76 text

Non-Cloud Product Hardware provisioning is undifferentiated heavy lifting – replace it with IaaS Business Need • Documents • Weeks Approval Process • Meetings • Weeks Hardware Purchase • Negotiations • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Weeks Customer Feedback • It sucks! • Weeks IaaS Cloud

Slide 77

Slide 77 text

Non-Cloud Product Hardware provisioning is undifferentiated heavy lifting – replace it with IaaS Business Need • Documents • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Weeks Customer Feedback • It sucks! • Weeks

Slide 78

Slide 78 text

Process Hand-Off Steps for Product Development on IaaS Product Manager Development Team QA Integration Team Operations Deploy Team BI Analytics Team

Slide 79

Slide 79 text

IaaS Based Product Business Need • Documents • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Days Customer Feedback • It sucks! • Days

Slide 80

Slide 80 text

IaaS Based Product Business Need • Documents • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Days Customer Feedback • It sucks! • Days etc…

Slide 81

Slide 81 text

IaaS Based Product Software provisioning is undifferentiated heavy lifting – replace it with PaaS Business Need • Documents • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Days Customer Feedback • It sucks! • Days etc…

Slide 82

Slide 82 text

IaaS Based Product Software provisioning is undifferentiated heavy lifting – replace it with PaaS Business Need • Documents • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Days Customer Feedback • It sucks! • Days PaaS Cloud etc…

Slide 83

Slide 83 text

IaaS Based Product Software provisioning is undifferentiated heavy lifting – replace it with PaaS Business Need • Documents • Weeks Software Development • Specifications • Weeks Customer Feedback • It sucks! • Days etc…

Slide 84

Slide 84 text

Process Hand-Off Steps for Feature Development on PaaS Product Manager Developer BI Analytics Team

Slide 85

Slide 85 text

PaaS Based Product Business Need • Discussions • Days Software Development • Code • Days Customer Feedback • Fix this Bit! • Hours etc…

Slide 86

Slide 86 text

PaaS Based Product Building your own business apps is undifferentiated heavy lifting – use SaaS Business Need • Discussions • Days Software Development • Code • Days Customer Feedback • Fix this Bit! • Hours etc…

Slide 87

Slide 87 text

PaaS Based Product Building your own business apps is undifferentiated heavy lifting – use SaaS Business Need • Discussions • Days Software Development • Code • Days Customer Feedback • Fix this Bit! • Hours SaaS/ BPaaS Cloud etc…

Slide 88

Slide 88 text

PaaS Based Product Building your own business apps is undifferentiated heavy lifting – use SaaS Business Need • Discussions • Days Customer Feedback • Fix this Bit! • Hours etc…

Slide 89

Slide 89 text

SaaS Based Business Application Development Business Need •GUI Builder •Hours Customer Feedback •Fix this bit! •Seconds

Slide 90

Slide 90 text

SaaS Based Business Application Development Business Need •GUI Builder •Hours Customer Feedback •Fix this bit! •Seconds and thousands more…

Slide 91

Slide 91 text

What Happened? Rate of change increased Cost and size and risk of change reduced

Slide 92

Slide 92 text

Observe Orient Decide Act Land grab opportunity Competitive Move Customer Pain Point Analysis JFDI Plan Response Share Plans Incremental Features Automatic Deploy Launch AB Test Model Hypotheses Measure Customers Continuous Delivery on Cloud

Slide 93

Slide 93 text

Observe Orient Decide Act Land grab opportunity Competitive Move Customer Pain Point Analysis JFDI Plan Response Share Plans Incremental Features Automatic Deploy Launch AB Test Model Hypotheses INNOVATION Measure Customers Continuous Delivery on Cloud

Slide 94

Slide 94 text

Observe Orient Decide Act Land grab opportunity Competitive Move Customer Pain Point Analysis JFDI Plan Response Share Plans Incremental Features Automatic Deploy Launch AB Test Model Hypotheses BIG DATA INNOVATION Measure Customers Continuous Delivery on Cloud

Slide 95

Slide 95 text

Observe Orient Decide Act Land grab opportunity Competitive Move Customer Pain Point Analysis JFDI Plan Response Share Plans Incremental Features Automatic Deploy Launch AB Test Model Hypotheses BIG DATA INNOVATION CULTURE Measure Customers Continuous Delivery on Cloud

Slide 96

Slide 96 text

Observe Orient Decide Act Land grab opportunity Competitive Move Customer Pain Point Analysis JFDI Plan Response Share Plans Incremental Features Automatic Deploy Launch AB Test Model Hypotheses BIG DATA INNOVATION CULTURE CLOUD Measure Customers Continuous Delivery on Cloud

Slide 97

Slide 97 text

Release Plan Developer Developer Developer Developer Developer QA Release Integration Ops Replace Old With New Release

Slide 98

Slide 98 text

Developer Developer Developer Developer Developer Old Release Still Running Release Plan Release Plan Release Plan Release Plan

Slide 99

Slide 99 text

Developer Developer Developer Developer Developer Old Release Still Running Release Plan Release Plan Release Plan Release Plan Deploy Feature to Production Deploy Feature to Production Deploy Feature to Production Deploy Feature to Production

Slide 100

Slide 100 text

Non-Destructive Production Updates ● “Immutable Code” Service Pattern ● Existing services are unchanged, old code remains in service ● New code deploys as a new service group ● No impact to production until traffic routing changes ● A|B Tests, Feature Flags and Version Routing control traffic ● First users in the test cell are the developer and test engineers ● A cohort of users is added looking for measurable improvement ● Finally make default for everyone, keeping old code for a while

Slide 101

Slide 101 text

Disruptor Continuous Delivery

Slide 102

Slide 102 text

It’s what you know that isn’t so…

Slide 103

Slide 103 text

It’s what you know that isn’t so… ● Make your assumptions explicit

Slide 104

Slide 104 text

It’s what you know that isn’t so… ● Make your assumptions explicit ● Extrapolate trends to the limit

Slide 105

Slide 105 text

It’s what you know that isn’t so… ● Make your assumptions explicit ● Extrapolate trends to the limit ● Listen to non-customers

Slide 106

Slide 106 text

It’s what you know that isn’t so… ● Make your assumptions explicit ● Extrapolate trends to the limit ● Listen to non-customers ● Follow developer adoption, not IT spend

Slide 107

Slide 107 text

It’s what you know that isn’t so… ● Make your assumptions explicit ● Extrapolate trends to the limit ● Listen to non-customers ● Follow developer adoption, not IT spend ● Map evolution of products to services to utilities

Slide 108

Slide 108 text

It’s what you know that isn’t so… ● Make your assumptions explicit ● Extrapolate trends to the limit ● Listen to non-customers ● Follow developer adoption, not IT spend ● Map evolution of products to services to utilities ● Re-organize your teams for speed of execution

Slide 109

Slide 109 text

How do we get there?

Slide 110

Slide 110 text

"This is the IT swamp draining manual for anyone who is neck deep in alligators.”

Slide 111

Slide 111 text

A Microservice Definition ! Loosely coupled service oriented architecture with bounded contexts

Slide 112

Slide 112 text

Separate Concerns with Microservices http://en.wikipedia.org/wiki/Conway's_law ● Invert Conway’s Law – teams own service groups and backend stores ● One “verb” per single function micro-service, size doesn’t matter ● One developer independently produces a micro-service ● Each micro-service is it’s own build, avoids trunk conflicts ● Deploy in a container: Tomcat, AMI or Docker, whatever… ● Stateless business logic. Cattle, not pets. ● Stateful cached data access layer can use ephemeral instances

Slide 113

Slide 113 text

NetflixOSS - High Availability Patterns ● Business logic isolation in stateless micro-services ● Immutable code with instant rollback ● Auto-scaled capacity and deployment updates ● Distributed across availability zones and regions ● De-normalized single function NoSQL data stores ● See over 40 NetflixOSS projects at netflix.github.com ● Get “Technical Indigestion” trying to keep up with techblog.netflix.com

Slide 114

Slide 114 text

Open Source Ecosystems ● The most advanced, scalable and stable code you can get is OSS ● No procurement cycle, fix and extend it yourself ● Github is a developer’s online resume ● Github is also your company’s online resume! ● Extensible platforms create ecosystems ● Give up control to get ubiquity – Apache license ! Innovate, Leverage and Commoditize

Slide 115

Slide 115 text

Microservices Development ● Client libraries Even if you start with a raw protocol, a client side driver is the end-state Best strategy is to own your own client libraries from the start ● Multithreading and Non-blocking Calls Reactive model RxJava uses Observable to hide concurrency cleanly Netty can be used to get non-blocking I/O speedup over Tomcat container ● Circuit Breakers – See Fluxcapacitor.com for code NetflixOSS Hystrix, Turbine, Latency Monkey, Ribbon/Karyon Also look at Finagle/Zipkin from Twitter

Slide 116

Slide 116 text

Microservice Datastores ● Book: Refactoring Databases SchemaSpy to examine schema structure Denormalization into one datasource per table or materialized view ● Polyglot Persistence Use a mixture of database technologies, behind REST data access layers See NetflixOSS Storage Tier as a Service HTTP (staash.com) for MySQL and C* ● CAP – Consistent or Available when Partitioned Look at Jepsen torture tests for common systems aphyr.com/tags/jepsen There is no such thing as a consistent distributed system, get over it…

Slide 117

Slide 117 text

Cloud Native Monitoring and Microservices

Slide 118

Slide 118 text

Cloud Native ● High rate of change Code pushes can cause floods of new instances and metrics Short baseline for alert threshold analysis – everything looks unusual ● Ephemeral Configurations Short lifetimes make it hard to aggregate historical views Hand tweaked monitoring tools take too much work to keep running ● Microservices with complex calling patterns End-to-end request flow measurements are very important Request flow visualizations get overwhelmed

Slide 119

Slide 119 text

Microservice Based Architectures See http://www.slideshare.net/LappleApple/gilt-from-monolith-ruby-app-to-micro-service-scala-service-architecture

Slide 120

Slide 120 text

“Death Star” Architecture Diagrams As visualized by Appdynamics, Boundary.com and Twitter internal tools

Slide 121

Slide 121 text

“Death Star” Architecture Diagrams Netflix Gilt Groupe (12 of 450) Twitter As visualized by Appdynamics, Boundary.com and Twitter internal tools

Slide 122

Slide 122 text

Continuous Delivery and DevOps ● Changes are smaller but more frequent ● Individual changes are more likely to be broken ● Changes are normally deployed by developers ● Feature flags are used to enable new code ● Instant detection and rollback matters much more

Slide 123

Slide 123 text

Whoops! I didn’t mean that! Reverting…
 
 Not cool if it takes 5 minutes to see it failed and 5 more to see a fix
 No-one notices if it only takes 5 seconds to detect and 5 to see a fix

Slide 124

Slide 124 text

NetflixOSS Hystrix / Turbine Circuit Breaker http://techblog.netflix.com/2012/12/hystrix-dashboard-and-turbine.html

Slide 125

Slide 125 text

NetflixOSS Hystrix / Turbine Circuit Breaker http://techblog.netflix.com/2012/12/hystrix-dashboard-and-turbine.html

Slide 126

Slide 126 text

Low Latency SaaS Based Monitoring www.vividcortex.com and www.boundary.com

Slide 127

Slide 127 text

Metric to display latency needs to be less than human attention span (~10s)

Slide 128

Slide 128 text

Separation of Concerns
 
 Bounded Contexts

Slide 129

Slide 129 text

Forward Thinking

Slide 130

Slide 130 text

Forward Thinking

Slide 131

Slide 131 text

Forward Thinking

Slide 132

Slide 132 text

Forward Thinking http://eugenedvorkin.com/seven-micro-services-architecture-advantages/

Slide 133

Slide 133 text

Any Questions? Disclosure: some of the companies mentioned are Battery Ventures Portfolio Companies See www.battery.com for a list of portfolio investments ● Battery Ventures http://www.battery.com ● Adrian’s Blog http://perfcap.blogspot.com ● Slideshare http://slideshare.com/adriancockcroft ! ● QCon London - Microservices - March 2014 - Video available ● Monitorama Opening Keynote Portland OR - May 7th, 2014 - Video available ● GOTO Chicago Opening Keynote May 20th, 2014 ● Qcon New York – Speed and Scale - June 11th, 2014 ● Structure - Cloud Trends June 19th, 2014 - Video available ● GOTO Copenhagen/Aarhus – Denmark – Sept 25th, 2014 ● DevOps Enterprise Summit - San Francisco - Oct 21-23rd, 2014