Slide 1

Slide 1 text

Adarsh Shah Lead Consultant @ ThoughtWorks @shahadarsh [email protected] Enabling DevOps culture with a Platform Engineering team Challenges & Lessons Learned

Slide 2

Slide 2 text

Sections • Different team structures for DevOps • Platform Engineering team • Challenges and lessons learned

Slide 3

Slide 3 text

Different team structures for DevOps

Slide 4

Slide 4 text

Dev & Ops

Slide 5

Slide 5 text

Dev Ops Software Development

Slide 6

Slide 6 text

Dev Ops Software Development IT buying Monitoring servers Respond to Outages Change Control Backup & DR planning Software Deployment Application monitoring & support Server provisioning & configuration

Slide 7

Slide 7 text

Dev & Ops Collaboration

Slide 8

Slide 8 text

Dev Ops Software Development IT buying Monitoring servers Respond to Outages Change Control Backup & DR planning Software Deployment Application monitoring & support Server provisioning & configuration

Slide 9

Slide 9 text

IT buying Monitoring servers Respond to Outages Change Control Backup & DR planning Software Deployment Application monitoring & support Server provisioning & configuration Software Development Dev Ops

Slide 10

Slide 10 text

Collaboration Software Deployment Application monitoring & support Server provisioning & configuration Dev Ops Software Development IT buying Respond to Outages Change Control Backup & DR planning Monitoring servers

Slide 11

Slide 11 text

Dev Ops Software Development Software Deployment Application monitoring & support Server provisioning & configuration IT buying Respond to Outages Change Control Backup & DR planning Monitoring servers

Slide 12

Slide 12 text

Advantages of this model • Improved communication & collaboration • Reduced feature lead time • Innovation • Agility • Software stability and quality

Slide 13

Slide 13 text

For this model to work • Dev and Ops - Shared vision • Organizational maturity • Need skills to self-manage operations stack

Slide 14

Slide 14 text

Team Structures for DevOps Dev Cross-functional team Platform Engineering team Platform Api driven monitoring tools analytics App Dev 1 Ops App Dev 2 server provisioning self service pipelines container platform Dev Ops Collaboration Dev & Ops collaboration Dev SRE HandOff - Meets Standards? Site Reliability Engineering (Google)

Slide 15

Slide 15 text

Platform Engineering team

Slide 16

Slide 16 text

Platform Engineering Team is responsible for operating a platform which enables delivery teams to self-service deploy and operate systems with reduced lead time and complexity. Platform Engineering team

Slide 17

Slide 17 text

Example responsibilities Platform Api driven monitoring tools analytics App Dev 1 Ops App Dev 2 server provisioning self service pipelines container platform

Slide 18

Slide 18 text

Example Workflow new microservice api call Platform Dockerfile Dev my-service.yml pipeline containers monitoring analytics server provisioning

Slide 19

Slide 19 text

Platform maturity Compute Data Network Containers Service Discovery Fault Tolerance Monitoring Build Pipelines Regression Testing Smoke Testing API Gateway Serverless Document Store Analytics Platform Maturity

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

App Dev 1 App Dev 3 Ops App Dev 2 App Dev 4 Platform Engg.

Slide 22

Slide 22 text

App Dev 1 App Dev 3 Ops App Dev 2 App Dev 4 Platform Engg.

Slide 23

Slide 23 text

App Dev 1 App Dev 3 Ops App Dev 2 App Dev 4 Platform Engg.

Slide 24

Slide 24 text

App Dev 1 App Dev 3 Ops App Dev 2 App Dev 4 Platform Engg.

Slide 25

Slide 25 text

Challenges & Lessons Learned with Platform Engineering teams

Slide 26

Slide 26 text

The Principles Underpinning DevOps The Three Ways Systems Thinking Amplify Feedback Loops Culture of Continual Experimentation & Learning

Slide 27

Slide 27 text

Avoid creating another silo

Slide 28

Slide 28 text

• Enablers not just Doer’s • Cross-team internships • Constant pairing with App dev teams • Lunch and learn sessions • Not a service center

Slide 29

Slide 29 text

Tackling Knowledge silos within the team

Slide 30

Slide 30 text

• Story pair rotation • Support pair rotation • Glossary of terms • Postmortem • Skills matrix exercise

Slide 31

Slide 31 text

Skills Matrix exercise Python Pipeline Kubernetes AWS Vault Consul Terraform David 3 2 1 2 2 1 1 Katie 1 1 2 3 2 3 1 Mark 3 3 2 1 3 2 2 Martha 3 3 2 2 1 3 3 Martin 3 3 2 3 3 2 3

Slide 32

Slide 32 text

Next sprint Python Pipeline Kubernetes AWS Vault Consul Terraform David 3 2 1 2 2 1 1 Katie 1 1 2 3 2 2 1 Mark 3 3 2 1 3 2 2 Martha 3 3 1 2 1 3 3 Martin 3 2 2 3 3 1 3

Slide 33

Slide 33 text

Building the right features

Slide 34

Slide 34 text

• Promote Product thinking • Delivery infrastructure as product • Observe and talk to customers • Key Performance Indicator driven • Product Owner Prioritization

Slide 35

Slide 35 text

Path to Production exercise Logging Monitoring Business Continuity Disaster Recovery Security Delivery Infrastructure Support Now Format AD integration Pipelines Soon Aggregation SLAs, KPIs Secrets mgmt Container platform Later Retention, Masking API for infra provisioning Near Release BCP test Failover test Pen testing Post Release

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

Being Agile

Slide 38

Slide 38 text

• Story Writing • Analysis is required but its technical analysis • Not Ticket based • Standup, Retros & other agile practices • Product Owner Prioritization

Slide 39

Slide 39 text

Embracing rapid adoption

Slide 40

Slide 40 text

• Showcases • Enablement • Maintainability • Build trust

Slide 41

Slide 41 text

Different models • Temporary vs Permanent

Slide 42

Slide 42 text

Summary • Different team structures for DevOps • Platform Engineering • Challenges • Avoid creating another silo • Building the right features • Being Agile • Embracing rapid adoption • Tackling knowledge silos within the team • Temporary vs Permanent

Slide 43

Slide 43 text

Questions Adarsh Shah Lead Consultant @ ThoughtWorks @shahadarsh [email protected]