Software Engineering Using Devops - a Silver Bullet?
Total Page:16
File Type:pdf, Size:1020Kb
UPTEC IT 19 002 Examensarbete 30 hp Januari 2019 Software Engineering using DevOps - a Silver Bullet? Mikaela Eriksson Institutionen för informationsteknologi Department of Information Technology Abstract Software Engineering using DevOps - a Silver Bullet? Mikaela Eriksson Teknisk- naturvetenskaplig fakultet UTH-enheten Today we have technology that help us scan millions of medical databases in a glimpse of an eye and self-driving cars that are outperforming humans at driving. Besöksadress: Technology is developing so fast that new updates in the technology world are Ångströmlaboratoriet Lägerhyddsvägen 1 commonplace to us and we are more often frustrated in case something is not up Hus 4, Plan 0 to speed. Technology is moving so quickly and in order for humans to keep up with the development needed in the tech business, different methodologies for how to Postadress: optimise the development process have been applied, some that work better than Box 536 751 21 Uppsala others. But just as fast as the technology changes, the methodologies used change with them. Recently a new term has entered the methodologies field. This Telefon: term is said to bring faster deployment, decreased failures and improved the 018 – 471 30 03 loyalties within the teams. The term in question, is called DevOps. Telefax: 018 – 471 30 00 This study is about uncovering the world of DevOps. This thesis is exploring the term in real teams in order to find out whether or not DevOps is the silver bullet it Hemsida: makes out to be. The study is based on ten interviews with people at different http://www.teknat.uu.se/student organisations, using DevOps, and will find out how these interviewees use and feel about DevOps. Found in these interviews is that both the involvement in, interpretation and implementation of the term varies between the interviewees. Nothing was all the same between them. All interviewees were very positive about the term and its contributions to the process and would definitely implement it in any new team. However, also found is that development in organisations is leaning towards becoming more single minded. When creating and reforming teams, organisations rather exclude constellations of different human thoughts and departments in order to rely on different development platforms instead. To conclude from this is that DevOps might take away work from collaborating humans in favour of the speed we achieve in the assisting technologies. This in a possible alarming way since single minded teams can miss important aspects in development which can have a dangerous outcome. Even though this might be a truth, DevOps is seen as something very positive and could just be the silver bullet it is talked about it to be, but this only if each team can interpret it, implement it and use it in their own way. Handledare: Maryam Alizadeh Ämnesgranskare: Åsa Cajander Examinator: Lars-Åke Nordén UPTEC IT 19 002 Tryckt av: Reprocentralen ITC Software Engineering using DevOps - a Silver Bullet? Sammanfattning Idag har vi teknik som hj¨alper oss att skanna miljontals medicinska databaser p˚aett ¨ogonblick och sj¨alvk¨orande bilar som ¨ar b¨attre ¨an oss p˚aatt k¨ora bil. Tekniken utvecklas s˚asnabbt att nya uppdateringar i teknikv¨arlden ¨ar vardagsmat, och vi blir l¨att frustrerade om n˚agotinte g˚ari den h¨oga hastigheten vi f¨orv¨antar oss. Tekniken r¨or sig s˚asnabbt nuf¨ortiden och f¨or att vi m¨anniskor ska kunna f¨olja med i den utveckling som beh¨ovs inom tekniken, har olika metoder f¨or hur man optimerar utvecklingsprocesser till¨ampats. Men lika snabbt som tekniken ¨andras, f¨or¨andras de me- toder som anv¨ands med dem. Nyligen har en ny term inom metoder uppkommit. Denna term s¨ags ge snabbare implementering, f¨arre misslyckanden och f¨orb¨attrad lojalitet inom team. Termen i fr˚aga kallas DevOps. Denna studie handlar om att dyka ner i DevOps v¨arld f¨or att utforska om termen ¨ar den silverkula som det p˚avisarsig vara. Studien ¨ar baserad p˚atio intervjuer med personer fr˚anolika organisa- tioner som sagt att de anv¨ander DevOps och har som m˚alatt ta reda p˚ahur dessa intervjuade anv¨ander och upplever DevOps. Funnet i dessa intervjuer ¨ar att b˚adeinblandning i, tolkning och genomf¨orande av termen varierar mellan de intervjuade. Ingenting som sas var det samma mellan intervjuerna. Alla intervjuade var mycket positiva ¨over att ha implementerat DevOps, vad det bi- dragit med till processer och skulle definitivt implementera DevOps i nya team. Men det kan ocks˚a konstateras att utvecklingen i organisationer ¨ar p˚av¨ag mot att bli mer enkelsinnad. Vid skapande och reformering av team utesluter organisationer hellre konstellationer av olika m¨anskliga tankar och avdelningar f¨or att ist¨allet f¨orlita sig p˚aolika utvecklingsplattformar. Slutsatsen ¨ar att DevOps kan orsaka att team tar bort samarbete mellan m¨anniskor till f¨orm˚anf¨or den hastighet de uppn˚ar i tekniken. Detta ¨ar potentiellt alarmerande d˚aenformiga team kan missa viktiga aspekter i sin utveckling vilket kan leda till allvarliga konsekvenser. Aven¨ om detta kan vara en sanning s˚ases DevOps som n˚agotmycket positivt och kan ¨and˚avara den silverkulan som det talas om att det ska vara, men enbart om varje team kan tolka det, implementera det och anv¨anda det p˚asitt eget s¨att. 2 Software Engineering using DevOps - a Silver Bullet? Acknowledgements This study would not have been possible to complete without the help and support from the following people which deserve a special thank you. Asa˚ Cajander. Thank you for agreeing to be reviewer and for coming up with the idea to discover DevOps and to view it from a human-computer interaction point of view. Thank you for helping me with the process, insightful thoughts and for reading and commenting on my report almost every week, it has been gold. Also thank you for saying that "good enough" is a more than an acceptable result, without that this report would have been much harder and not as fun to write as it was. Maryam Alizadeh. Thank you for being there in exactly the right way, for always asking in case you can help and for setting up things to enable the interviews and presentation. Thank you for taking time reading my report and supporting me with ideas along the way. Omegapoint. Thank you for the opportunity to write this thesis at your company and office even though it always was very cold. You all have been so including and kind that it is hard to leave. Especially thank you to Tatiana, Bettan, Apparna, Gustav and the others around the table for making the time fly with laughter, hopefully the connections will remain. Mum and dad. Thank you dad for helping me with all your knowledge about the subject, for set- ting up interviews and for giving important suggestions at the last hours. Especially thank you for your enthusiasm about the subject chosen, it was much appreciated. Thank you mum for the support in the darkest times, for always believing in me and for always being the inspiration. Mum and dad, this report is dedicated to you. 3 Software Engineering using DevOps - a Silver Bullet? Contents 1 Introduction 6 2 Background 8 2.1 Interpretation of DevOps . 8 2.2 Platforms and Tools . 10 2.2.1 Amazon Web Services . 10 2.2.2 Microsoft Azure . 11 2.2.3 Other Tools . 11 3 Scope, Goal and Limitations 13 3.1 Research Questions . 13 3.2 Limitations . 13 4 Related Work 14 4.1 Interpretation and Implementation of DevOps . 14 4.2 Involvement in the DevOps Process . 14 4.3 Automating Work . 15 4.4 Collaboration Between Teams with DevOps Implemented . 15 4.5 Effects of Implementing DevOps . 16 4.6 The Contribution of this Study . 16 5 Method 17 5.1 Preparatory Research . 17 5.2 The Interview Process . 17 5.2.1 Quantitative Research . 18 5.2.2 Interviewees . 18 5.2.3 Interviews . 19 5.3 Analysing Interviews . 20 6 Results 22 6.1 Interpretation and Implementation of DevOps . 22 6.2 Involvement in the DevOps Process . 23 6.3 Automating Work . 24 6.4 Collaboration Between Teams with DevOps Implemented . 25 4 Software Engineering using DevOps - a Silver Bullet? 6.5 Effects of Implementing DevOps . 26 7 Discussion 28 7.1 Interpretation and Implementation of DevOps . 28 7.1.1 The Developers Own Responsibility . 28 7.1.2 DevOps Used Before as Continuous Integration . 30 7.1.3 Automation . 30 7.1.4 Implementation of DevOps . 31 7.2 Involvement in the DevOps Process . 32 7.2.1 Establishment of the Development Team and the Operations Team . 32 7.2.2 The Organisations with no Operations Team . 33 7.3 Automating Work . 34 7.3.1 Manual Work . 34 7.3.2 Platforms . 35 7.4 Collaboration Between Teams with DevOps Implemented . 35 7.4.1 Change in Team Collaboration with DevOps . 36 7.4.2 Team Prioritised in the DevOps Process . 36 7.5 Effects of Implementing DevOps . 37 7.5.1 Initial Thought of Implementing DevOps . 37 7.5.2 Changes in the Process by Using DevOps . 38 7.6 General Discussion . 39 8 Conclusion 40 9 Future Work 43 10 References 44 5 Software Engineering using DevOps - a Silver Bullet? 1 Introduction Technology is amazing. We have inventions that allow us to visualise things in the real space with augmented reality, computer systems that out-compete human physicians when it comes to finding the right diagnosis in the health business and self-driving cars that slowly are taking over driving from us humans.