metrics-driven devops: delivering software like the unicorn

Download Metrics-Driven DevOps: Delivering Software Like the Unicorn

If you can't read please download the document

Post on 19-Jan-2017

130 views

Category:

Technology

1 download

Embed Size (px)

TRANSCRIPT

Dynatrace Presentation

Metrics-Driven DevOpsAndreas Grabner(@grabnerandi) - andreas.grabner@dynatrace.com

Delivering Software like the Unicorns

#b20Con

ITSM DEVOPS CONFERENCE

#b20Con

1

AND MANY MORE

#b20ConYes I am working for a tool vendor BUT you can try this with most of the tools in the APM, Tracing, Diagnostics space out there.

2

#b20ConWe all know that since then the world got divided into two big parties. So just out of curiosity: who is using Apple vs Android? And who is using Windows?

3

Vatican, 2005

#b20ConThe phones not only changed the way we communicate it disrupted many other technologies as well. Look at this! Pope Election in 2005. A SINGLE hand up with an old phone taking a picture

4

Vatican, 2005

Vatican, 2013

#b20ConIn 2013 the picture is totally different. The smart phones and tablets not only changing the way we communicate but also disrupting many other things such as taking pictures, getting light when you need one (torchlight), measuring your steps, ...

5

Vatican, 2005

Vatican, 2005

Vatican, 2013

#b20ConSo just to see the difference again in one picture!

6

Vatican, 2005

#b20ConThe world is getting even more disrupted this is a picture from Paris last year when Uber entered the Market. A taxi driver probably thinking: These geeks from the Silicon Valley dont even have a drivers license but are kicking us out of our jobs

7

Vatican, 2005

#b20ConThis is Airbnb making a change in accomodation business. Providing cheap accommodations for those that travel but kicking out folks that used to live in SF all of their live.

8

#b20ConUber, one of the many companies that are disrupting existing markets with new ideas, new approaches, no fear, no corporate baggage, no technical debt and no business debt

9

#b20ConBut not only does it disrupt markets, it also disrupts our behavior as human being

10

#b20ConWe are all part of it. When you remember how and when we are now interacting with services, companies, products, ... we consume these services all the time!

11

#b20ConWe all carry multiple deviceshttp://www.slideshare.net/sophossecurity/device-infographic-slideshow

12

#b20ConAnd we are using multi device when we access services http://www.futuristgerd.com/multi-device-path-purchase-commerce-google/

13

#b20Con

14

#b20ConHe starts his book with some very insteresting facts!

15

#b20Conhttp://www.i-scoop.eu/internet-of-things/

16

SMART APPLIANCES

#b20ConInsurance companies are looking into smart devices to e.g: find out whether a washing machine is leaking. So before the basement gets flooded it can notify you. With that you also lower your premium

17

SMART ROOVES

AlertBEFOREIt is too late!

#b20Con

18

#b20ConBut there is more that is disrupting ... There are more people livign within that circle than outside!

19

#b20Con5 Billion people in the emerging markets. Will old fashioned corporations with their business models tap into this market? Or is it going to be the Ubers of the world? Or is it going to be the new entrepreneurs that will just have the next better idea and build better apps?

Credits to https://brucelawson.github.io/talks/2015/velocity/?full#1

20

#b20ConWe know that everyone these days can build a globally successful business with just an idea and a laptop. Such as Mark Z or the two tech brothers (12 & 14) founders of GoDimensions. They develop 12 Apps so far with more than 35k downloads.Their idol? Steve Jobs!

21

#b20ConJust to get the basics covered: I hope everyone has their own definition of DevOps by now. It is a lot of things depending on whom to list to our which blogs you follow.

22

The stuff we did when we were a Start Up and we All wereDevs, Testers and Ops

#b20ConThis was my own initial definition of DevOps when I first heard about the term and I did some reading on why people are that excited about it

DevOps I think allows us to scale what works well in a StartUp into larger organizations!

23

#b20Con

24

IN YOUR FACE DATA!https://dynatrace.github.io/ufo/

#b20ConMETRICS-BASED DECISIONS

Time of DeploymentAvailability dropped to 0%

#b20ConSynthetic Availability Monitoring -> Clearly something went wrong

26

#b20ConEven if the deployment seemed good because all features work and response time is the same as before. If your resource consumption goes up like this the deployment is NOT GOOD. As you are now paying a lot of money for that extra compute power

27

#b20ConGot a marketing campaign? If you roll it out do it smart: Start with a small number monitor user behavior fix errors if there are any before rolling out the rest of the campaign

28

Analyzing SQLs by Type (SELECT, INSERT, UPDATE,DELETE) Which Types take how long? When do you have spikes?When do we see # of SQL spikes? Spikes related to INSERT, UPDATE, DELETE? Any job running?

#b20Con

29

#b20Con

30

#b20ConIn case you are a DevOps Virgin I definitely recommend checking out The Phoenix Project (the DevOps Bible) and Continuous Delivery (which is what we actually all want to achieve): Deliverying software faster with great quality and without all potential mistakes that a manual and rigid process brings with it

31

#b20ConThey really follow the stories of the first generation Unicorn Companies

32

700 deployments / YEAR10 + deployments / DAY50 60 deployments / DAYEvery 11.6 SECONDS

#b20ConSeveral companies changed their way they develop and deploy software over the years. Here are some examples (numbers from 2011 2014)Cars: from 2 deployments to 700Flicks: 10+ per DayEtsy: lets every new employee on their first day of employment make a code change and push it through the pipeline in production: THATS the right approach towards required culture changeAmazon: every 11.6s

Remember: these are very small changes which is also a key goal of continuous delivery. The smaller the change the easier it is to deploy, the less risk it has, the easier it is to test and the easier is it to take it out in case it has a problem.

33

NOT ONLY FAST DELIVERED, BUT ALSO DELIVERING FAST!

-1000ms+2%Response TimeConversions

-1000ms+10%

+100ms-1%

#b20ConBut it is not only about delivering features faster it is also about delivering fast features!

34

60%

Rate performance/response time as the #1 mobile app expectation- ahead of features and functionality -

#b20ConWhat happened since then?

35

#b20ConBut dont make the mistake to blindly follow every unicorn out there Taken from http://www.hostingadvice.com/blog/cloud-66-devops-as-a-service/

36

Its not about blindly giving everyone Ops powerto deploy changes only tested locally

#b20ConIts not about giving Devs Direct Access to Ops Deployments

37

Its not about blind automation of pushing more bad code on new stacks through a pipeline

#b20Con

38

#b20Con

39

#b20ConThe problem is though when you blindly copy what you read you may end up with a very ugly copy of a Unicorn. Its not about copying everything or thinking that you have to release as frequently as the Unicorns. It is about changing and adapting a lot of their best practices but doing it in a way that makes sense to you. For you it might be enough to release once a month or once week.

40

#b20Con

41

282! Objects on that page9.68MB Page Size8.8s Page Load TimeMost objects are images delivered from your main domainVery long Connect time (1.8s) to your CDNDevOps Deployment Example 1: Online Casino

#b20ConBecause this is what might happen:

If Being DevOps just means you just increase the number of deployments then you are bound to fail. Here is an example of a bad web application. When deploying this more frequently you will end up in more war rooms

42

879! SQL Queries8! Missing CSS & JS Files340! Calls to GetItemById11s! To load Landing PageDevOps Deployment Example #2: Public Website based on SharePoint

Another example from a SharePoint app that allows production deployments by SharePoint Admins. A simply change directly in production can have very negative impacts, e.g: deploying a new WebPart with a Data-Driven Performance Hotspot43

#b20ConLet me give you one additional example of a company that became really successful with their online service

44

2015201420xx

Response Time2016+1) Started as a small project2) Slowly growing user base3) Expanding to new markets 1st performance degradation!4) Adding more markets performance becomes a business impact

Users4) Potentially start loosing usersOnline Sports Club Search Service

#b20ConLet me give you one additional example of a company that became really successful with their online service

45

EARLY 2015: MONOLITHIC APP

Cant scale vertically endlessly!

2.68s Load Time94.09% CPU Bound

#b20ConThey had a monolithic app that couldnt scale endlessly. Their popularity caused them to think about re-architecture and allowing developers to make faster changes to their code. The were moving towards a Service Approach

46

PROPOSAL: SERVICE APPROACH!

Front Endto Cloud

Scale Backendin Containers!

#b20ConSeparating frontend logic from

Recommended

View more >