Slide 1

Slide 1 text

DevOps from Cuban trenches

Slide 2

Slide 2 text

We have challenges

Slide 3

Slide 3 text

… configure to block access from your country

Slide 4

Slide 4 text

Slooooooow internet access

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

What can we achieve despite of this?

Slide 9

Slide 9 text

DevOps from Cuban trenches

Slide 10

Slide 10 text

DevOps from Cuban trenches

Slide 11

Slide 11 text

DevOps from DATYS VC trenches

Slide 12

Slide 12 text

25 Team Villa Clara Division

Slide 13

Slide 13 text

25 Team 1 3 Villa Clara Division 1 6 Head of Production Team Lead Team members QA, Docs,… 1 6 1 6 Ops* Dev

Slide 14

Slide 14 text

About Me @anestodta [email protected] https://www.linkedin.com/in/anesto-del-toro • Head of Production, DATYS VC • Computer Sciences • Wearing multiple hats oProject Management o Business Analysis o Architecture o Technical Lead o Software Development (mostly backend) o Lean-Agile enthusiast o Eager learner • 16 years of experience o ~6 Researcher at UCLV (BE, PR & CV) Anesto del Toro Almenares

Slide 15

Slide 15 text

About the TEAM

Slide 16

Slide 16 text

About the TEAM • Disciplined • Collaboration culture • Automation mindset*

Slide 17

Slide 17 text

About the TEAM @MarialinaBall @kikicarbonell @jcgomezcorrea1 @DuvielRodriguez @dayron_aj @christian861220 @genrylg @osmel_mora • Disciplined • Collaboration culture • Automation mindset*

Slide 18

Slide 18 text

Up to 10 deploys/releases* per day

Slide 19

Slide 19 text

Back to 2007 How bad could it be?

Slide 20

Slide 20 text

2007

Slide 21

Slide 21 text

manual software builDing

Slide 22

Slide 22 text

manual software builDing manual Testing after development

Slide 23

Slide 23 text

manual software builDing no artifacts Management manual Testing after development

Slide 24

Slide 24 text

manual software builDing painful intEgrations no artifacts Management manual Testing after development

Slide 25

Slide 25 text

manual proVisioning manual software builDing painful intEgrations no artifacts Management manual Testing after development

Slide 26

Slide 26 text

manual proVisioning manual software builDing painful intEgrations no artifacts Management manual deplOyment manual Testing after development

Slide 27

Slide 27 text

manual proVisioning poorLy controlled processes manual software builDing painful intEgrations no artifacts Management manual deplOyment manual Testing after development

Slide 28

Slide 28 text

manual proVisioning manual software builDing painful intEgrations no artifacts Management manual deplOyment manual Testing after development infrequent Releases poorLy controlled processes

Slide 29

Slide 29 text

manual proVisioning lOng feedback cycles manual software builDing painful intEgrations no artifacts Management manual deplOyment infrequent Releases manual Testing after development poorLy controlled processes

Slide 30

Slide 30 text

manual proVisioning lOng feedback cycles manual software builDing painful intEgrations no artifacts Management manual deplOyment infrequent Releases manual Testing after development poorLy controlled processes

Slide 31

Slide 31 text

At first sigh it looked scary

Slide 32

Slide 32 text

SCRUM TFS

Slide 33

Slide 33 text

Worsening effect

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

Software Delivery System Achieve faster development and deployment cycles of quality products, in a reliable and sustainable way Enterprise Agility

Slide 36

Slide 36 text

Assessment

Slide 37

Slide 37 text

Jez Humble and David Farley Continuous Delivery A Maturity Assessment Model

Slide 38

Slide 38 text

• Build management and Continuous Integration • Environment and deployments • Testing • Release management and compliance • Configuration management • Data management Continuous Delivery A Maturity Assessment Model

Slide 39

Slide 39 text

"We can't solve problems by using the same kind of thinking we used when we created them." Albert Einstein

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

Principles

Slide 42

Slide 42 text

Principles Practices

Slide 43

Slide 43 text

Principles Practices Tools

Slide 44

Slide 44 text

Principles Practices Tools Order matters

Slide 45

Slide 45 text

Identify Evaluate Adopt / Discard Try Improve

Slide 46

Slide 46 text

Identify Evaluate Adopt / Discard Try Improve Context matters

Slide 47

Slide 47 text

Harry potter entrenando order de fenix Evangelism

Slide 48

Slide 48 text

Don’t give up

Slide 49

Slide 49 text

•Optimize the whole •Eliminate waste •Build Quality-In •Deliver Fast •Focus on Flow LEAN Principles • Defer committment • Amplified learning • Engage Everyone • Continuous Improvement Mary and Tom Poppendieck

Slide 50

Slide 50 text

Removing waste Reducing time to customer feedback Accelerating software delivery Lean guiding transition to Agility (context creation) Lean-Agile

Slide 51

Slide 51 text

Agile Practices focused on iteratively producing functionality Agility Business Value Increments not development cycles

Slide 52

Slide 52 text

Technical and Engineering Practices

Slide 53

Slide 53 text

No content

Slide 54

Slide 54 text

Focus on optimize value creation Holistic view

Slide 55

Slide 55 text

Value Stream Ideas Materialize MBIs Specify Prioritize Dev Review UAT Document Deploy Version

Slide 56

Slide 56 text

Value Stream and Actors Ideas Materialize MBIs Specify Prioritize Dev Review UAT Document Deploy Version Head of Production Team Lead Dev Teams Ops Team QA&Docs Team

Slide 57

Slide 57 text

Value Stream and Actors Ideas Materialize MBIs Specify Prioritize Dev Review UAT Document Deploy Version Head of Production Team Lead Dev Teams Ops Team QA&Docs Team • Workflow • Bottlenecks • Teamwork • …

Slide 58

Slide 58 text

A system is never the sum of its parts. It is the product of the interactions of its parts Russell Ackoff

Slide 59

Slide 59 text

Ideas Materialize MBIs Specify Prioritize Dev Review UAT Document Deploy Version

Slide 60

Slide 60 text

Ideas Materialize MBIs Specify Prioritize Dev Review UAT Document Deploy Version Start End Cycle Time

Slide 61

Slide 61 text

Ideas Materialize MBIs Specify Prioritize Dev Review UAT Document Deploy Version Reducing the Cycle Time requires the optimization of the whole Value Stream Start End Cycle Time

Slide 62

Slide 62 text

Ideas Materialize MBIs Specify Prioritize Dev Review UAT Document Deploy Version Reducing the Cycle Time requires the optimization of the whole Value Stream Start End Cycle Time Optimize what we do? Remove delays between what we do?

Slide 63

Slide 63 text

Ideas Materialize MBIs Specify Prioritize Dev Review UAT Document Deploy Version Speed without sacrificing quality Time To Market

Slide 64

Slide 64 text

Ideas Materialize MBIs Specify Prioritize Dev Review UAT Document Deploy Version Speed without sacrificing quality Explicit policies = Definition of Done + Pull criteria

Slide 65

Slide 65 text

Map the mess Empower the team to fix/improve it

Slide 66

Slide 66 text

No content

Slide 67

Slide 67 text

Increment Review User Acceptance Testing Documentation Development & Operations Management & Planning Knowledge sharing/retention Automation Self-services Code repository Platform as a Service Artifacts and dependencies repositories Stakeholders Internet Production System

Slide 68

Slide 68 text

Increment Review User Acceptance Testing Documentation Development & Operations Management & Planning Knowledge sharing/retention Automation Self-services Code repository Platform as a Service Artifacts and dependencies repositories Stakeholders Internet Production System

Slide 69

Slide 69 text

Business Value Increments Predictability

Slide 70

Slide 70 text

No content

Slide 71

Slide 71 text

LEVEL 1 LEVEL 2 LEVEL 3 Milestone 01 PROJECT XYZ Milestone 01 PROJECT XYZ Milestone 01 PROJECT XYZ High Level Goals MBIs Tasks ANALYSIS SPECIFICATION Tasks • Pull-System • Incremental & Iterative • Continuous Delivery Management and Planning

Slide 72

Slide 72 text

No content

Slide 73

Slide 73 text

• MBIs Mean resolution time: 15 days • 90 % MBIs takes at most 30 days • 98 % MBIs takes at most 34 días • … Predictability Analysis by Class of Service

Slide 74

Slide 74 text

Increment Review User Acceptance Testing Documentation Development & Operations Management & Planning Knowledge sharing/retention Automation Self-services Code repository Platform as a Service Artifacts and dependencies repositories Stakeholders Internet Production System

Slide 75

Slide 75 text

Technical agility Producing functionality

Slide 76

Slide 76 text

Next reléase from this point forward Merge bugfix Start RC 1.0 bugfixes Tag 0.1 Tag 0.2 Tag 1.0 Features for Next release Bug fixed production: hotfix 0.2 Merge bugfixes from RC to develop Future feature Time Features branches Develop RC hotfixes master Practices • Branch per feature (short lived) • Sandboxing • Self-service CI & Deploy • Blessed repositories Development activity

Slide 77

Slide 77 text

Minutes Weeks Production Staging UAT Security Increment deploy Unit Testing Acceptance tests Code Reviews Code metrics (*) Each cycle targets a different concern Feedback loops

Slide 78

Slide 78 text

Ops Team as Enablers

Slide 79

Slide 79 text

Deployment automation Infrastructure as Code Supporting services Monitoring Security … TDI

Slide 80

Slide 80 text

Collaboration materialized Improving efficiency Team happiness

Slide 81

Slide 81 text

Increment Review User Acceptance Testing Documentation Development & Operations Management & Planning Knowledge sharing/retention Automation Self-services Code repository Platform as a Service Artifacts and dependencies repositories Stakeholders Internet Production System

Slide 82

Slide 82 text

Build the thing Right

Slide 83

Slide 83 text

Technical debt

Slide 84

Slide 84 text

Maintainability Testability

Slide 85

Slide 85 text

99.74% Unit: 5086 Integration: 3485 ~ 25 min

Slide 86

Slide 86 text

Increment Review User Acceptance Testing Documentation Development & Operations Management & Planning Knowledge sharing/retention Automation Self-services Code repository Platform as a Service Artifacts and dependencies repositories Stakeholders Internet Production System

Slide 87

Slide 87 text

Did we built the Right product?

Slide 88

Slide 88 text

Root cause analysis

Slide 89

Slide 89 text

Learn from failures

Slide 90

Slide 90 text

PRODUCTION SYSTEM Increment review User Acceptance Testing Documentation Development & Operations Management & Planning Knowledge sharing/retention Automation, Self- services, Code hosting Platform as a Service Artifact and dependencies repositories Stakeholders Internet

Slide 91

Slide 91 text

Docs automation

Slide 92

Slide 92 text

Docs as Code

Slide 93

Slide 93 text

Docs and releases alignment Known workflow

Slide 94

Slide 94 text

PRODUCTION SYSTEM Increment review User Acceptance Testing Documentation Development & Operations Management & Planning Knowledge sharing/retention Automation, Self- services, Code hosting Platform as a Service Artifact and dependencies repositories Stakeholders Internet

Slide 95

Slide 95 text

(supporting services + products)

Slide 96

Slide 96 text

Game changer Better resource utilization Simplified provisioning Uniform deployment Failure tolerance Scalability …

Slide 97

Slide 97 text

Bring Ops tools closer to Developers

Slide 98

Slide 98 text

Increment Review User Acceptance Testing Documentation Development & Operations Management & Planning Knowledge sharing/retention Automation Self-services Code repository Platform as a Service Artifacts and dependencies repositories Stakeholders Internet Production System

Slide 99

Slide 99 text

Monitoring

Slide 100

Slide 100 text

UAT Deploy Production like Deploy Unit tests Integration tests Code & Vulnerabilities Analysis Acceptance tests Load, Smoke, Security tests … Exploratory Production deploy Deployment pipeline Up to 10 deploys/releases* per day

Slide 101

Slide 101 text

Assessment 2016

Slide 102

Slide 102 text

Continuous Delivery: A Maturity Assessment Model

Slide 103

Slide 103 text

No content

Slide 104

Slide 104 text

No content

Slide 105

Slide 105 text

No content

Slide 106

Slide 106 text

No content

Slide 107

Slide 107 text

No content

Slide 108

Slide 108 text

No content

Slide 109

Slide 109 text

Not designed a priori

Slide 110

Slide 110 text

Not designed a priori Result of evolution

Slide 111

Slide 111 text

Context matters

Slide 112

Slide 112 text

Context matters Challenge principles, practices and tools

Slide 113

Slide 113 text

Reality changes

Slide 114

Slide 114 text

Stay constantly learning, adapting and evolving Reality changes

Slide 115

Slide 115 text

Focus

Slide 116

Slide 116 text

Value creation People Culture Automation mindset Focus

Slide 117

Slide 117 text

Results are not the solely point, but the development of People and Systems that allows us to achieve the results we expect

Slide 118

Slide 118 text

Stay alert Endless trip

Slide 119

Slide 119 text

It is supposed to be FUN!!!

Slide 120

Slide 120 text

DevOps from Cuban trenches @anestodta [email protected] https://www.linkedin.com/in/anesto-del-toro Anesto del Toro Almenares Thank you