# DevOps with Drupal --- # Jochen Lillich ## @geewiz ## CEO freistil IT --- # Drupal PaaS ## freistilbox.com Notes: Managed hosting platform. Customers. Websites that exhibit spiky traffic patterns. Drupal hosting experts. Support our customers in practicing DevOps. --- >"You keep using that word. I do not think it means what you think it means." — Inigo Montoya --- # DevOps ## is _**not**_ a job description. --- # DevOps ## is about culture. Notes: Different approach to the whole software life cycle. --- # Influences * Agile * Lean * Theory of Constraints * Best Practices --- # The dark ages ---  Notes: Devs hacking away on new features, trying to meet their deadline and not to axe-murder their project manager. Finished project got handed over to operations... ---  Notes: who had been waiting excitedly for this moment. Their job now. Previous job: 4 dev departments with own dev and doc standards, release processes and sw packaging systems. --- # It makes sense ## Doesn't it? Notes: Separation of concerns: Devs focus on adding features, Ops maintain control over prod, Managers can clearly assign blame. --- # Nope. Notes: Wall of Confusion. ---  ---  Notes: Devs have no incentive making operational support easier, code is black box ("Works on my machine!"), Docs are patchy. Ops has no incentive to see the full stack ("Servers are running fine!"). Building/deploying new version is time-consuming and risky. No knowledge transfer: Ops has metrics, Dev knows break points. --- # DevOps ## aligns teams. Notes: "One Team" approach, where we all together are responsible end-to-end, inception over rollout until it's shut down. Let me give you a few pointers how. --- # CAMS Notes: 4 important aspects C: People and process first. --- # Deployment Notes: Handoff: single most important interaction. Stages: code review, testing, QA, release mgmt. --- ### Pain = code complexity × team size Notes: Outages, integration bugs, launch preparation time --- # Continuous deployment Notes: Fixing bugs within minutes! Small, incremental changes. --- # Requirements * Build and deployment system automated * Close-to-perfect staging environment * Minimal deployment time Notes: Scripts, Drush. SimpleTest. Behance, Cucumber. Selenium. VirtualBox, Vagrant, Chef, Docker. Frictionless deployment. Git hooks. Jenkins. ---  Notes: From a feeling of greater power... Devs: push => take responsibility, react quicker --- # Shared infrastructure Notes: Dev servers, code repos, bug tracker, metrics dashboards, chat channels Link to tools --- >“Beer is the most powerful tool in the DevOps environment. Take everyone down to the bar and just let them talk.” — Ben Rockwood Notes: Talk about tools ---  Notes: Share tools (ro?) --- # Trust Notes: Respect. Different role understanding. Devs are the natural enemy of a running website. Work-arounds. ---  --- # On-call devs --- > "You build it, you run it." > — Werner Vogels, CTO Amazon Notes: No better incentive to building robust applications than being paged at 3am on a Sunday. --- # Live debugging tools Notes: Central Logstash instance. Next one is for the managers: --- # Avoid blame Notes: Develop a solution-oriented attitude. ---  Notes: How many of you have experienced this sequence of events? Looking backwards: "What did we do wrong?" => blame Let me suggest a different approach. ---  Notes: "What could we do better?" => people improving Find causes: Views code <=> DB log Example: Etsy, Booking.com --- # "Well, we ain't got no Ops." Notes: Can't afford dedicated ops? You can't afford not to have them! --- # Thanks a 1E6! ## jochen@freistil.it --- # Image credits Developers: Phil Whitehouse https://flic.kr/p/4K1rz4. Facepalm: Rob Allen https://flic.kr/p/851Vgq. potatohead spiderman: istolethetv https://flic.kr/p/Am3Sy. WALL-E: Rob Boudon https://flic.kr/p/5fpUyC. Old Industrial Wall: Pavel P. https://flic.kr/p/kXABX4. hard work: nicoleta gramada https://flic.kr/p/5TYUcS. Scenario diagrams: Allspaw et al.: "Web Operations"