Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Enabling DevOps culture with a Platform Engineering team (TW)

Enabling DevOps culture with a Platform Engineering team (TW)

DevOps is about creating a culture of shared responsibility in delivery teams. It is recommended to embed operations skills into delivery teams to reduce friction and enable them to deliver products to customers faster but whenever there is a need for significant investment in tooling and automation and teams lack the skills to self-manage a full application and operations stack, having a separate Platform engineering team can help. Organizations that consider establishing such a platform engineering team should be very cautious not to accidentally create a separate DevOps team.

In this presentation Adarsh Shah will talk about when and why Platform engineering team can be helpful. The team’s chief responsibility is to operate a platform which enables delivery teams to self-service deploy and operate systems with reduced lead time and complexity. The emphasis here is on self-service infrastructure and supporting tools, with delivery teams still responsible for supporting what they deploy onto the platform. He will also talk about challenges and lessons learned leading and being part of such teams. He will explain “The Three Ways: The Principles Underpinning DevOps” as mentioned in “DevOps Handbook” & “The Phoenix Project” and how it can be used to resolve some of these challenges faced by the team.

3f6ef57041f1429e9764eb6c72d0fecd?s=128

Adarsh Shah

August 01, 2017
Tweet

Transcript

  1. Adarsh Shah Lead Consultant @ ThoughtWorks @shahadarsh shahadarsh@gmail.com Enabling DevOps

    culture with a Platform Engineering team Challenges & Lessons Learned
  2. Sections • Different team structures for DevOps • Platform Engineering

    team • Challenges and lessons learned
  3. Different team structures for DevOps

  4. Dev & Ops

  5. Dev Ops Software Development

  6. Dev Ops Software Development IT buying Monitoring servers Respond to

    Outages Change Control Backup & DR planning Software Deployment Application monitoring & support Server provisioning & configuration
  7. Dev & Ops Collaboration

  8. Dev Ops Software Development IT buying Monitoring servers Respond to

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

    & DR planning Software Deployment Application monitoring & support Server provisioning & configuration Software Development Dev Ops
  10. 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
  11. Dev Ops Software Development Software Deployment Application monitoring & support

    Server provisioning & configuration IT buying Respond to Outages Change Control Backup & DR planning Monitoring servers
  12. Advantages of this model • Improved communication & collaboration •

    Reduced feature lead time • Innovation • Agility • Software stability and quality
  13. For this model to work • Dev and Ops -

    Shared vision • Organizational maturity • Need skills to self-manage operations stack
  14. Team Structures for DevOps Dev Cross-functional team Platform Engineering team

    Platform <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)
  15. Platform Engineering team

  16. 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
  17. Example responsibilities Platform <platform> Api driven monitoring tools analytics App

    Dev 1 Ops App Dev 2 server provisioning self service pipelines container platform
  18. Example Workflow new microservice api call Platform Dockerfile <platform> Dev

    my-service.yml pipeline containers monitoring analytics server provisioning
  19. 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
  20. None
  21. App Dev 1 App Dev 3 Ops App Dev 2

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

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

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

    App Dev 4 Platform Engg.
  25. Challenges & Lessons Learned with Platform Engineering teams

  26. The Principles Underpinning DevOps The Three Ways Systems Thinking Amplify

    Feedback Loops Culture of Continual Experimentation & Learning
  27. Avoid creating another silo

  28. • Enablers not just Doer’s • Cross-team internships • Constant

    pairing with App dev teams • Lunch and learn sessions • Not a service center
  29. Tackling Knowledge silos within the team

  30. • Story pair rotation • Support pair rotation • Glossary

    of terms • Postmortem • Skills matrix exercise
  31. 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
  32. 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
  33. Building the right features

  34. • Promote Product thinking • Delivery infrastructure as product •

    Observe and talk to customers • Key Performance Indicator driven • Product Owner Prioritization
  35. 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
  36. None
  37. Being Agile

  38. • Story Writing • Analysis is required but its technical

    analysis • Not Ticket based • Standup, Retros & other agile practices • Product Owner Prioritization
  39. Embracing rapid adoption

  40. • Showcases • Enablement • Maintainability • Build trust

  41. Different models • Temporary vs Permanent

  42. 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
  43. Questions Adarsh Shah Lead Consultant @ ThoughtWorks @shahadarsh shahadarsh@gmail.com