Devops and Drupal Current StateKris Buytaert, march 2012
Kris Buytaert• I used to be a Dev,• Then Became an Op• Chief Trolling Officer and Open Source Consultant @inuits.eu• Everything is an effing DNS Problem• Building Clouds since before the bookstore• Some books, some papers, some blogs• But mostly, trying to be good at my job
Devop, definition● 30 something● Senior Infrastructure guy● Development background● Open Source Expcerience● Mostly European (.be / .uk)● Likes Belgian Beer● Likes Sushi
World , 200X-2009Patrick Debois, Gildas Le Nadan, Andrew Clay Shafer, Kris Buytaert, JezzHumble, Lindsay Holmwood, John Willis, Chris Read, Julian Simpson, and lots of others .. Gent , October 2009 Mountain View , June 2010 Hamburg , October 2010 Boston, March 2011 Mountain View, June 2011 Bangalore, Melbourne, Goteborg , October 2011
● Devops is a growing movement● We dont have all the answers yet● We are reaching out to different communities● We will point out problems we see..● Only the name is new While we are still working out the solutions
Whats the problem ?The community of developers whose work yousee on the Web, who probably don’t know whatADO or UML or JPA even stand for, deploy bettersystems at less cost in less time at lower riskthan we see in the Enterprise. This is true evenwhen you factor in the greater flexibility andvelocity of startups.Tim Bray , on his blog January 2010
The real problem :● Friday evening at 16:59 “Put this Code Live, heres a tarball” NOW!● Backups ?● What database ?● Security ?● High Availability ?● Scalability ?● Who is on Call ?
“devops is a cultural andprofessional movement” Adam Jacob
CAMS● Culture● Automation● Measurement● Sharing Damon Edwards and John Willis
Why a survey ?• Gut feeling vs Reality• The sad state of our customers practices• Java folks GET the Problem !• Twittersphere says it doesnt matter for PHP• Lies , Damn Lies and Statistics
Audience● 200+● Schizophrenic● Experienced (6y average)● Webdeveloping● System Administrators
Organisation Type● In small to midsized companies● Good internal Communication● Vs Large Enterprises with Silos ..
Whats devops to them ?• A buzzword• Developers who also do IT operations, or visa versa.• The people in charge of the build/release cycle and planning.• system administrators with a development culture.• Someone who mixes both a sysop and dev duties• the combination of developer and operations into one overall functionality
Whats devops to them ? # NG• A buzzword• Developers who also do IT operations, or visa versa.•• RO The people in charge of the build/release cycle and planning. system administrators with a development culture.• Someone who mixes both a sysop and dev duties W• the combination of developer and operations into one overall functionality
Whats devops to them ?• Breaking the wall between dev and ops in the same way agile breaks the wall between business and dev e.g. coming to terms with changing requirements, iterative cycles• Sysadmin best-practise, using configuration as code, and facilitating communication between sysadmins and developers, with each understanding and participating in the activities of the other.• Devops is both the process of developers and system operators working closer together, as well as people who know (or who have worked in) both development and system operations.• Removing barriers to communication and efficiency through shared vocabulary, ideals, and business objectives to to deliver value.• A set of principles and good practices to improve the interactions between Operations and Development.
Practice devops ?● Lack of Clear Definition● 33% does● 24% wants● 22% is in trouble
NirvanaAn “ecosystem” that supports continuous delivery, frominfrastructure, data and configuration management tobusiness.Through automation of the build, deployment, and testingprocess, and improved collaboration between developers,testers, and operations, delivery teams can get changesreleased in a matter of hours — sometimes even minutes–nomatter what the size of a project or the complexity of its codebase. Continuous Delivery , Jez Humble
Site up to date ?● 70% reads Drupal Security News .● Sysadmins Update● Other = Developers•Really ?● Not all components however :(
Testing● No frameworks used vs● No exploratory Testing
Where do you develop ?● It works on my machine :(● What other platforms do you use :
Looking for ?“As a system administrator, I can tell when softwarevendors hate me. It shows in their products.”“DONT make the administrative interface a GUI. Systemadministrators need a command-line tool for constructingrepeatable processes. Procedures are best documented byproviding commands that we can copy and paste from theprocedure document to the command line. We cannotachieve the same repeatability when the instructions are:"Checkmark the 3rd and 5th options, but not the 2ndoption, then click OK." Sysadmins do not want a GUI thatrequires 25 clicks for each new user.” Thomas A. Limoncelli in ACM Queue December 2010 http://queue.acm.org/detail.cfm?id=1921361
Deployment● Database Imports are EVIL● Manual Installations are ● Error Prone How do you deploy ? ● Non Reproducible● 61% does it WRONG Do you Test Deployments ?
Deployment Alternatives● Aegir (security ?)● Fabric● Svn git checkouts (connectivity ?) How do you deploy ?● Capistrano● Custom Tools
Deploying a Drupal Site● Drush make● Installation Profiles● Features ,strongarm , Custom code ● Configuration as Code● What with external apps and libraries? ● Solr – BI software● Test before you drive! (CI)
How do you configure modules ?● Not reproducable● Not automated● 50% can improve :)● D8 Configuration Mgmt Efforts !
Can you fully reproduce the last site youve build from code ?
Challenges● What about the data ?● Content vs Config ● Drupal provides no clear distinction (yet)● e.g a billing application ● Table Creation ● Provisioning (e.g. Rates, Call plan types) ● Actual Data
Content Editing● Non technical people● In production● Plenty of UGC Who edits content● Frequent Updated Sites● Upgrade troubles ahead Where do you edit content ?
Upgrading a site● Drush ● pm-updatecode ● Updatedb ● Features-update● Once again, test before you drive!● But ... what about userdata ?