cd with kubernetes the prequel
play

CD with Kubernetes: The Prequel @pritianka @pritianka - PowerPoint PPT Presentation

CD with Kubernetes: The Prequel @pritianka @pritianka #velocityconf #velocityconf 1 Speaker Priyanka Sharma Director of Technical Evangelism - GitLab Board Member - Cloud Native Computing Foundation @pritianka @pritianka #velocityconf


  1. CD with Kubernetes: The Prequel @pritianka @pritianka #velocityconf #velocityconf 1

  2. Speaker Priyanka Sharma Director of Technical Evangelism - GitLab Board Member - Cloud Native Computing Foundation @pritianka @pritianka #velocityconf 2

  3. The Real Hero Marin Jankovski (and his team) Engineering Manager, Delivery @maxlazio @pritianka #velocityconf 3

  4. Cloud native development and accelerating cycle time is increasingly important to business survival. Agenda To succeed, engineering leaders must embrace CI/CD and be thoughtful of how to leverage new tech. This is GitLab’s story to moving a large scale production system to continuous delivery. ● The business imperative - cycle time compression ● How we did it - legacy first ● The value CD brought to GitLab ● DevOps - achievement unlocked @pritianka #velocityconf 4

  5. Business survival depends upon a radically faster DevOps lifecycle which can only be enabled by shifting left

  6. Speeding Up Release Cycle Time is Critical to Business Cycle time compression may be What you initially the most underestimated force in thought the goal was determining winners & losers in tech . What the — Marc Andreessen initial optimal solution was Optimal solution moved to

  7. How: Small, very small changes unlock velocity MVC MVF MVC MVC MVP MVF MVF MVC MVC MVC

  8. But our reality was different Release management at GitLab (2013-2018) 1. Monthly release on the 22nd 2. Rotating Release Manager role 3. Manual actions 4. Semi - automated

  9. Cloud native development and accelerating cycle time is increasingly important to business survival. Agenda To succeed, engineering leaders must embrace CI/CD and be thoughtful of how to leverage new tech. This is GitLab’s story to moving a large scale production system to continuous delivery. ● The business imperative - cycle time compression ● How we did it - legacy first ● The value CD brought to GitLab ● DevOps - achievement unlocked @pritianka #velocityconf 9

  10. Let’s make releases easier! Release management at GitLab (2018) July - Release management team formed ● October - renamed to Delivery team with expanded mandate - Kubernetes migration ● 10

  11. Our constraints 1. GitLab.com is a live system -> No downtime 2. GitLab still needs to release at the same cadence -> No delays 3. Migration to Kubernetes is a multi month project -> No time 4. Engineering organization ready for Continuous Delivery? -> ??? 11

  12. What the delivery team spent time (2018) @pritianka #velocityconf

  13. The game plan Tackling 80% of the pie This would bring: 1. No release delays 2. Repeatable and faster deploys to enable no downtime 3. More time for our Kubernetes migration 4. More space to prepare the org for Continuous Delivery @pritianka #velocityconf 13

  14. GitLab runs on GitLab VISIBLE EFFICIENT GOVERNED Develop and operate Real time view across Collaborate with confidence the entire lifecycle without waiting @pritianka #velocityconf 14

  15. GitLab runs on GitLab, uses Ansible, and does not yet use k8s for CD @pritianka #velocityconf 15

  16. Before @pritianka #velocityconf 16

  17. Good enough solution @pritianka #velocityconf 17

  18. Automation with existing tools We’ve used a number of GitLab features: 1. GitLab CI scheduled pipelines with GitLab API to automate Deploys a. Create branches b. Cherry-pick merge requests c. Create issues 2. GitLab project mirroring for CE and EE 3. GitLab CI for reducing manual RM work a. Multi project pipelines b. Deployment c. Automated QA 4. GitLab Chatops to reduce context switching and do everything from Slack a. All release publishing tasks are triggered through Chatops @pritianka #velocityconf 18

  19. Expanded pipeline 🔎 @pritianka #velocityconf 19

  20. Cloud native development and accelerating cycle time is increasingly important to business survival. Agenda To succeed, engineering leaders must embrace CI/CD. This is GitLab’s story to moving a large scale production system to continuous delivery. ● The business imperative - cycle time compression ● How we did it - legacy first ● The value CD brought to GitLab ● DevOps - achievement unlocked @pritianka #velocityconf 20

  21. Commit to Canary in 2 hours @pritianka @pritianka #velocityconf #velocityconf 21

  22. From weekly to daily deploys @pritianka @pritianka #velocityconf #velocityconf 22

  23. All developers in on call rotation within 3 weeks @pritianka @pritianka #velocityconf #velocityconf 23

  24. Cloud native development and accelerating cycle time is increasingly important to business survival. Agenda To succeed, engineering leaders must embrace CI/CD. This is GitLab’s story to moving a large scale production system to continuous delivery. ● The business imperative - cycle time compression ● How we did it - legacy first ● The value CD brought to GitLab ● DevOps - achievement unlocked @pritianka #velocityconf 24

  25. What does the Release team spend their time in 2019? @pritianka #velocityconf 25

  26. More frequent deploys @pritianka #velocityconf 26

  27. Our culture shift Quality is a priority No hot-patching unless p1 and s1 Every engineer is on the on-call rotation @pritianka #velocityconf 27

  28. Next up All aboard the k8s boat! image: CC0: by: https://pixabay.com/en/users/kliempictures-3066210/ link:https://pixabay.com/en/container-container-ship-port-1611490/

  29. First service running in Kubernetes!

  30. Resources ● Automated scheduled deployments design ● Automated deployments process ● Automated deployment transition ● Report from GitLab 10.4 release ● Kubernetes work ○ Kubernetes configuration decisions ○ Container Registry production readiness review ○ Container Registry work epic @pritianka #velocityconf

  31. Rate today’s session! @pritianka #velocityconf

  32. Thank you! Priyanka Sharma Director of Technical Evangelism - GitLab Board Member - Cloud Native Computing Foundation @pritianka @pritianka #velocityconf 32

  33. GitLab is the first single application for the entire DevOps lifecycle Manage Plan Create Verify Package Secure Release Configure Monitor Defend Since 2016 Since 2011 Since 2011 Since 2012 Since 2016 Since 2017 Since 2016 Since 2018 Since 2016 Coming soon: Cycle Analytics Kanban Source Code Continuous Container SAST Continuous Auto DevOps Metrics Runtime Boards Management Integration (CI) Registry Delivery (CD) Application DevOps Score DAST Kubernetes Logging Self Protection Project Code Review Code Quality Maven Release Configuration Web Audit Management Repository Dependency Orchestration Cluster Application Management Wiki Performance Scanning ChatOps Monitoring Firewall Agile Portfolio Testing NPM Registry Pages Authentication Management Snippets Container Serverless Tracing Threat and Coming soon: Coming soon: Scanning Review Apps Detection Authorization Service Desk Web IDE Coming soon: Error Tracking System Testing Rubygem License Incremental Behavior Coming soon: Coming soon: Coming soon: Registry Management Rollout PaaS Analytics Usability Coming soon: Code Analytics Value Stream Design Testing Linux Package Coming soon: Feature Flags Chaos Vulnerability Management Management Management Registry Engineering Synthetic Workflow Accessibility Secret Coming soon: Monitoring Data Loss Policies Requirements Live Coding Testing Helm Chart Detection Runbook Prevention Management Registry Release Configuration Incident Compatibility IAST Governance Management Container Quality Testing Dependency Cluster Cost Network Management Proxy RASP Optimization Status Page Security @pritianka #velocityconf 33

  34. Ticketmaster migrated from Jenkins to GitLab to speed up build time. 15X faster builds Public Case Study @pritianka #velocityconf 34

  35. Paessler AG automated QA tasks down from 1 hour to 30 seconds. 120X Increased QA efficiency Public Case Study @pritianka #velocityconf 35

  36. SVN was a blocker to adopting DevOps. Axway implemented GitLab and went from yearly to biweekly deployments. 26X faster release cycles OKAY for now - replace with Goldman Sachs when we can Public Case Study @pritianka #velocityconf 36

Recommend


More recommend