Slide 1

Slide 1 text

Where's the value in Cloud Native High value cloud native practices, and how to sell them to your boss

Slide 2

Slide 2 text

Who are we Billie Thompson Cloud Native Consultant at Armakuni @PurpleBooth Zenon Hannick COO at Armakuni @ZenonHannick

Slide 3

Slide 3 text

Contents ● Value Stream Mapping ● Deployment Pipeline ● PaaS ● OpenTracing ● Conclusion

Slide 4

Slide 4 text

Value Stream Maps

Slide 5

Slide 5 text

Value Stream Maps Visualising the flow of value

Slide 6

Slide 6 text

Value Stream Maps Creating desire for change

Slide 7

Slide 7 text

Run your own How to run your own VSM session

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

Key Values: Raw ● Lead Time ● Process Time ● Complete & Accurate ● Number of Dependant Systems

Slide 13

Slide 13 text

Key Values: Calculated ● Activity Ratio ● Totals

Slide 14

Slide 14 text

Key Values: Observed ● Work that falls outside VSM (Unplanned Work) ● Variance in PT ● Variance in LT ● Common adjectives ○ “Confusing” ○ “Fast” ○ “Boring”

Slide 15

Slide 15 text

Take it further You can make future streams too!

Slide 16

Slide 16 text

Where’s the value?

Slide 17

Slide 17 text

Practitioner ● Numbers don’t lie ● Only work on problems ● Focus on value to customer

Slide 18

Slide 18 text

Manager ● The (difficult) conversation ● Shared understanding & agreement ● Identifies best areas to focus effort ● Shows flow of value! ● Numbers & Data ● Allows you to track progress ● Can set future desired state

Slide 19

Slide 19 text

Objection! ● I can’t get everyone together ○ Gather the statistics one to one ● I don’t know all the times ○ Find someone who does ○ Educated guess ○ Dig it out of a tool ■ VCS ■ Deployment Tool ■ Ticketing System

Slide 20

Slide 20 text

Apply your discoveries Evidence first!

Slide 21

Slide 21 text

Deployment Pipeline All the way to production

Slide 22

Slide 22 text

The Symptoms ● Merging processes ● Test Deployment processes ○ High PT ● Deployment processes ○ High LT ○ High PT ○ Low C&A ○ High Variance of LT

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

Where’s the value?

Slide 26

Slide 26 text

Practitioner ● Building software vs Building a system ● We share the codebase ● My laptop won’t fit in a server rack ● Oops I forgot to… ○ Run the tests ○ Check the migrations ○ Run the security tests ○ etc

Slide 27

Slide 27 text

Manager ● Visualises flow of code (value) ● Encourages constant flow ● Speed ● Smaller batch sizes ● Reduces risk ● Fully auditable trail

Slide 28

Slide 28 text

Objection! ● I need to press a button ○ Illusion of confidence in manual step ○ Lack of trust in automated testing ● I need to review changes ● Governance ○ Pipeline automatically provides audit trail ○ Can automate governance checks as part of the pipeline ● Security ○ Add to pipeline

Slide 29

Slide 29 text

PaaS That developers can personally push to

Slide 30

Slide 30 text

The Symptoms ● Deployment Process ○ High LT ○ High PT ○ Poor C&A ● Unplanned Work ○ That happens at 3am ○ Easily recoverable errors ○ Scaling ● Large % of time & effort operating platform/infrastructure, (i.e. non-value adding work)

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

Don’t forget! Use a pipeline to deliver this

Slide 34

Slide 34 text

Where’s the value?

Slide 35

Slide 35 text

Practitioner ● No need to learn about servers ● My code, my responsibility ● Prototyping is easy ● I no longer need to think about: ○ Reliability ○ Scaling ○ Monitoring

Slide 36

Slide 36 text

Manager ● Focus on business value delivery ● Abstracts complexity ● Standardise across organisation ● Software delivery practices for platforms ● Turns platform team into a product team ● Speed ● Less things for people to worry about

Slide 37

Slide 37 text

Objection! ● I need to know everything that is going on! ● I need to control the whole stack ● We are very special unique snowflake

Slide 38

Slide 38 text

Request Tracing OpenTracing (Jaeger)

Slide 39

Slide 39 text

The Symptoms ● Development processes ○ High variance ○ Poor C&A ● Common Adjectives ○ “Confusing” ○ “Complicated” ● Unplanned work ○ Misunderstanding system ○ Wrong prioritization

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

No content

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

The nitty gritty Set some additional headers, with HTTP: ● X-B3-TraceId ● X-B3-ParentSpanId ● X-B3-SpanId ● X-B3-Sampled or X-B3-Flags (Or a bunch of other alternatives) Optionally an API call to the OpenTracing service.

Slide 44

Slide 44 text

Where’s the value?

Slide 45

Slide 45 text

Practitioner ● What calls what is no longer a mystery ● Makes me think about users ● O(n) calls become really obvious ● I can prove it!

Slide 46

Slide 46 text

Manager ● Observability ● Evidence of areas needing improvement ● Enables association of user activity to system activity

Slide 47

Slide 47 text

Objection! ● Not heard any arguments against this

Slide 48

Slide 48 text

Conclusion

Slide 49

Slide 49 text

Conclusion You can do it

Slide 50

Slide 50 text

Conclusion Evidence can drive change

Slide 51

Slide 51 text

Links ● https://cloudnative.ly/running-a-value-st ream-mapping-session-5e1d43fba0 ● https://www.lucidchart.com/pages/valu e-stream-mapping ● https://concourse-ci.org/ ● https://www.cloudfoundry.org/ ● https://www.jaegertracing.io/docs/gettin g-started/

Slide 52

Slide 52 text

Any Questions? Billie Thompson @PurpleBooth Zenon Hannick @ZenonHannick