The Sense and Nonsense of Devops -… À L'ecole De La VIE …

Total Page:16

File Type:pdf, Size:1020Kb

The Sense and Nonsense of Devops -… À L'ecole De La VIE … White paper White Quint Wellington Redwood The Sense and Nonsense of DevOps The real value of DevOps Over the past years, we have seen a host of hype words appear: Agile, Scrum, Big Data, BYOD, Lean IT. “DevOps” is probably one of the most enigmatic of them all. This word is used more and more often without it really being clear what it means. In this White Paper, we unravel the sense and nonsense of DevOps and identify its benefits. The term DevOps emerged in a series of “DevOps Days” held in Belgium about five years ago. The aim of the events was to bring together IT experts from both the development side and the operations side of organizations. And that puts the term DevOps in its context: a multidisciplinary team that is fully responsible for the continuous operation and development of a service. Google and Amazon are examples of companies that use a combination of DevOps and continuous delivery to release dozens of changes every day. The definition of DevOps on Wikipedia is interesting: DevOps (a portmanteau of development and operations) is a software development method that stresses communication, collaboration and integration between software developers and infor- mation technology (IT) operations professionals. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services. The key point here is that, in this definition, DevOps is about producing software rapidly. This completely ignores the real value and aim of DevOps. What is the real value of DevOps achievable with a DevOps approach used to its full extent? Mismatch The way in which IT services are delivered within business which, to an increasing degree, wants many organizations can barely be maintained new functionality to be delivered fast, incidents because the current IT processes were not de- to be resolved quickly, and to have short com- signed to meet a demand from the business for munication lines and high quality IT. fast and flexible IT. This means there is a mismatch between tra- Due to our predominantly silo-driven organiza- ditionally-designed IT organizations and the tional approach, IT processes are unnecessarily business. It is therefore time for a fundamental complex, performance measurements are not review of the structure of IT organizations. transparent, people’s attitude and behavior is Changing nothing and hoping that things will focused internally, and tools are too strongly improve in the long run comes close to Einstein’s concentrated on individual technologies. This definition of insanity: “Doing the same thing over is diametrically opposed to the desire of the and over again and expecting different results.” White Paper: The Sense and Nonsense of DevOps 1 Elements of DevOps Broadly speaking, up until now, various experts tion processes as the solution to IT problems, have looked at DevOps from three dimensions: and refer frequently to Agile, Scrum and other tools, processes and culture. methods. Here, the integration of ITIL processes and development processes appears to be one Tools of the goals. The natural reflex in the world of IT is to use technology to resolve a problem. In itself, this Culture is a sound approach, especially if changes can A significant number of DevOps researchers see be deployed to production more often and more realizing a common culture between Dev and reliably. By using integrated tooling to strictly Ops people as the vital element. This involves manage the movement of units of work through building understanding between developers and a DTAP (Development, Testing, Acceptance and ‘operations people’, and ensuring more collabo- Production) flow, release frequency can be ac- ration between the two camps. For the IT world, celerated to a level that could never be achieved this is not an everyday approach. manually. Tooling is therefore an indispensable element of DevOps. IT processes are unnecessarily complex, performance measurements are not Processes transparent, people’s attitude and behavior is Thinking in terms of processes is part of IT. Many focused internally, and tools are too strongly DevOps thinkers regard development-to-produc- concentrated on individual technologies Combination Relevant arguments can be put in favor of each of mutual understanding is a crucial element. By the dimensions mentioned above. Nonetheless, focusing on behavior instead of on culture, we in practice, it turns out that DevOps people often ensure that the members of a DevOps team choose one of the dimensions above the others. become aware of their own role in the success This is a shame because the strength of DevOps of their team. How managers provide guidance, actually lies in combining these dimensions, and in relation to the maturity of the team and the adding two others. extent of the integration, is also a decisive factor in the success of DevOps teams. To the above three dimensions, we add per- formance (which in some cases is included as Performance a component of processes) and organization. DevOps promises a lot in terms of more, faster Moreover, it has been shown that culture is and better releases. As a result, in the DevOps a difficult dimension to manage. In its place, world, there is a strong trend towards focusing on the ‘Attitude and Behavior’ dimension is much making IT performance measurable. This is giving more closely aligned with the aspects that are some people pause for thought. There is indeed important in DevOps. We argue here for these nothing wrong with an end-to-end approach to five dimensions to be treated as equal and to the delivery of IT services to customers. However, use them all to design the integration of ‘Dev’ is it important to know exactly how many hours and ‘Ops’. are needed to build a use case? Especially given that DevOps was developed to meet customer Attitude and Behavior demand. It is important to recognize – especially at the Another aspect of performance is the use of time: start of the integration – that the behavior of how is time used within the team? What is the developers and operations people is different. balance between innovation and maintenance? Harmonizing attitude and behavior is important in The outcome should be the implementation of making DevOps a success. Of course, creating actions for improvement aimed at redressing 2 Quint Wellington Redwood the balance in favor of innovation without com- Processes promising quality. As mentioned earlier, the processes within an IT organization are usually not clear to the staff. Organization This is because the process flow is comprised One of the least discussed aspects of DevOps of a series of departments which are all only is the organizational dimension. This revolves involved in part of the flow. Staff are thus unclear around adapting the IT organization to bring as to what their role is in the chain as a whole. ‘Dev’ and ‘Ops’ closer together. In practice, In a DevOps team that works with Visual Man- however, it turns out that people primarily work agement, it is possible to optimize processes on improving the communication between ‘Dev’ without involving the departments concerned. and ‘Ops’ rather than on implementing organi- This means that complex manuals make way zational changes. for simple, clear agreements. It turns out that In addition, the management model and the within processes, the key to success is the strict skills of managers turn out to be crucial to the monitoring and management of open units of success of a DevOps team. Various approaches, work. including Lean, offer a wide array of tools (e.g. Visual Management) for efficient management Tooling and tackling problems. Within a DevOps team, a fully automated DTAP In practice, it is now common for operational flow is a prerequisite for guaranteeing speed inventory to be ‘visually’ managed within a Dev and quality. Does this mean that a DevOps team organization. However, managing activities via cannot exist without this tooling? No, the increas- Kanban boards (visual displays of the operational ing automation of the various steps through the flow) is often uncomfortable for ‘Ops’ people. DTAP flow is also a growth scenario. There are Experience has shown that this discomfort dis- also many benefits to be gained through growth appears relatively quickly. The most important in one or more of the other dimensions. aspect of the organizational dimension is paying The aforementioned five dimensions all play a role attention to team-forming. Putting people togeth- in an approach based on DevOps methodology er works to a certain extent, but to gain more and in realizing the intended benefits. benefit, attention should be paid to team-building. Really putting customers first Ultimately, DevOps is about providing permanent it much simpler to determine the value that should IT services for customers. Over the past years, be delivered. it has been clear to see that IT organizations are Based on these basic characteristics, the tech- focusing more on the needs of their customers. nology stack for which the team is responsible Information management was a start, the intro- can be determined. The ‘deeper’ the technology duction of Agile-like methods was a second step. stack, the more knowledge and skills the team But these methods are only partial solutions to requires. In this regard, the rise of cloud technol- a fundamental problem in IT: sticking to a tradi- ogy with its different variants (IaaS, PaaS, SaaS) tional organizational form in which we arrange does make it easier to decouple the team from things on a type-with-type basis. Working with the underlying technology (Figure 1). a DevOps approach breaks down the tradition- al organizational structure of IT departments. In practice, we regularly see DevOps being inte- However, in order to make DevOps a success, grally linked to Agile/Scrum.
Recommended publications
  • Devops and Testers White Paper
    White Paper DevOps and Testers DevOps is part of an overall approach that organizations use to deliver software frequently and with high quality. The most obvious outcome of successful DevOps implementations is the reduction in the time it takes for software changes to transition from an idea to production. What Does DevOps Mean If you are an experienced DevOps Automated tools and processes practitioner, we hope that you are used in system configuration, for Testers might still find the article useful. If the build process, testing, the Background you are not a tester, we hope that deployment to test, staging and The DevOps movement (for want you will at least see the tester’s production environments, post- of a better label) is progressing perspective. deployment monitoring, evaluation, rapidly. Like many other and operations. movements in the industry, the What Is DevOps? speed of adoption accelerates Is DevOps Just About faster than the definition of the Simplistically, DevOps is a label movement itself. DevOps is still to describe an ecosystem in Tools? not well defined and the nuances which development teams and At one level, the goal of DevOps of culture, the emergent capability systems operations teams work is to eliminate bottlenecks in of new technologies, and range of more closely together. In the the delivery pipeline through (mostly successful) case studies so-called delivery pipeline, from automation. But the automation means that the issues at hand are committing source code to putting of staged processes still still widely debated.1 code into production, developers requires governance. Most accommodate and automate some automated processes are not Depending on who you talk to, of operations activities.
    [Show full text]
  • IBM Developer for Z/OS Enterprise Edition
    Solution Brief IBM Developer for z/OS Enterprise Edition A comprehensive, robust toolset for developing z/OS applications using DevOps software delivery practices Companies must be agile to respond to market demands. The digital transformation is a continuous process, embracing hybrid cloud and the Application Program Interface (API) economy. To capitalize on opportunities, businesses must modernize existing applications and build new cloud native applications without disrupting services. This transformation is led by software delivery teams employing DevOps practices that include continuous integration and continuous delivery to a shared pipeline. For z/OS Developers, this transformation starts with modern tools that empower them to deliver more, faster, with better quality and agility. IBM Developer for z/OS Enterprise Edition is a modern, robust solution that offers the program analysis, edit, user build, debug, and test capabilities z/OS developers need, plus easy integration with the shared pipeline. The challenge IBM z/OS application development and software delivery teams have unique challenges with applications, tools, and skills. Adoption of agile practices Application modernization “DevOps and agile • Mainframe applications • Applications require development on the platform require frequent updates access to digital services have jumped from the early adopter stage in 2016 to • Development teams must with controlled APIs becoming common among adopt DevOps practices to • The journey to cloud mainframe businesses”1 improve their
    [Show full text]
  • Designing Software Architecture to Support Continuous Delivery and Devops: a Systematic Literature Review
    Designing Software Architecture to Support Continuous Delivery and DevOps: A Systematic Literature Review Robin Bolscher and Maya Daneva University of Twente, Drienerlolaan 5, Enschede, The Netherlands [email protected], [email protected] Keywords: Software Architecture, Continuous Delivery, Continuous Integration, DevOps, Deployability, Systematic Literature Review, Micro-services. Abstract: This paper presents a systematic literature review of software architecture approaches that support the implementation of Continuous Delivery (CD) and DevOps. Its goal is to provide an understanding of the state- of-the-art on the topic, which is informative for both researchers and practitioners. We found 17 characteristics of a software architecture that are beneficial for CD and DevOps adoption and identified ten potential software architecture obstacles in adopting CD and DevOps in the case of an existing software system. Moreover, our review indicated that micro-services are a dominant architectural style in this context. Our literature review has some implications: for researchers, it provides a map of the recent research efforts on software architecture in the CD and DevOps domain. For practitioners, it describes a set of software architecture principles that possibly can guide the process of creating or adapting software systems to fit in the CD and DevOps context. 1 INTRODUCTION designing new software architectures tailored for CD and DevOps practices. The practice of releasing software early and often has For clarity, before elaborating on the subject of been increasingly more adopted by software this SLR, we present the definitions of the concepts organizations (Fox et al., 2014) in order to stay that we will address: Software architecture of a competitive in the software market.
    [Show full text]
  • Devops Point of View an Enterprise Architecture Perspective
    DevOps Point of View An Enterprise Architecture perspective Amsterdam, 2020 Management summary “It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change.”1 Setting the scene Goal of this Point of View In the current world of IT and the development of This point of view aims to create awareness around the IT-related products or services, companies from transformation towards the DevOps way of working, to enterprise level to smaller sizes are starting to help gain understanding what DevOps is, why you need it use the DevOps processes and methods as a part and what is needed to implement DevOps. of their day-to-day organization process. The goal is to reduce the time involved in all the An Enterprise Architecture perspective software development phases, to achieve greater Even though it is DevOps from an Enterprise Architecture application stability and faster development service line perspective, this material has been gathered cycles. from our experiences with customers, combined with However not only on the technical side of the knowledge from subject matter experts and theory from organization is DevOps changing the playing within and outside Deloitte. field, also an organizational change that involves merging development and operations teams is Targeted audience required with an hint of cultural changes. And last but not least the skillset of all people It is specifically for the people within Deloitte that want to involved is changing. use this as an accelerator for conversations and proposals & to get in contact with the people who have performed these type of projects.
    [Show full text]
  • Continuous Testing for Devops Evolving Beyond Simple Automation
    Technical Whitepaper 1 Continuous Testing for DevOps Evolving Beyond Simple Automation INTRODUCTION DevOps represents a cultural shift that stresses collaboration be- on acceleration. Moreover, adopting a bona fide Continuous Testing tween the business, developers, and IT professionals. Software test process (more than just automated tests running regularly) helps automation can enhance these connections and help organizations promote all of the core pillars of DevOps: Culture, Automation, Lean, achieve desired SDLC acceleration, but it’s important to recognize Metrics, and Sharing. that automation is just one piece of the DevOps puzzle. In this paper, we’ll explore why and how Continuous Testing’s real- Since testing is often one of the greatest constraints in the SDLC, time objective assessment of an application’s business risks is a optimizing quality processes to allow testing to begin earlier, as well critical component of DevOps. as shrink the amount of testing required, can have a marked impact DEVOPS PRINCIPLES There are several key pieces to understanding DevOps revolutions and they are often brought about by a compelling event at an organization, such as a shift to agile. As organizations start to move into an agile development methodology, they start to uncover other processes that can be accelerated, such as delivery by DevOps and testing by Continuous Testing. The acceleration that is set in motion via agile makes it necessary to accelerate the release schedule. In order to ensure a successful release, an organization must adopt continuous testing to make sure the conveyer belt does not break down. The modernization maturity model has these three distinct phases: AGILE Agile software development is a different way of thinking about approaching the challenge of development time.
    [Show full text]
  • Software Engineering Using Devops - a Silver Bullet?
    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.
    [Show full text]
  • Software Development a Practical Approach!
    Software Development A Practical Approach! Hans-Petter Halvorsen https://www.halvorsen.blog https://halvorsen.blog Software Development A Practical Approach! Hans-Petter Halvorsen Software Development A Practical Approach! Hans-Petter Halvorsen Copyright © 2020 ISBN: 978-82-691106-0-9 Publisher Identifier: 978-82-691106 https://halvorsen.blog ii Preface The main goal with this document: • To give you an overview of what software engineering is • To take you beyond programming to engineering software What is Software Development? It is a complex process to develop modern and professional software today. This document tries to give a brief overview of Software Development. This document tries to focus on a practical approach regarding Software Development. So why do we need System Engineering? Here are some key factors: • Understand Customer Requirements o What does the customer needs (because they may not know it!) o Transform Customer requirements into working software • Planning o How do we reach our goals? o Will we finish within deadline? o Resources o What can go wrong? • Implementation o What kind of platforms and architecture should be used? o Split your work into manageable pieces iii • Quality and Performance o Make sure the software fulfills the customers’ needs We will learn how to build good (i.e. high quality) software, which includes: • Requirements Specification • Technical Design • Good User Experience (UX) • Improved Code Quality and Implementation • Testing • System Documentation • User Documentation • etc. You will find additional resources on this web page: http://www.halvorsen.blog/documents/programming/software_engineering/ iv Information about the author: Hans-Petter Halvorsen The author currently works at the University of South-Eastern Norway.
    [Show full text]
  • Devops Engineer
    DevOps Engineer The IHMC Robotics group is looking to fill a DevOps position. The ideal candidate is somebody who is excited about bringing our lab up to speed on how to best use modern solutions for making our software development and release process super repeatable, reliable, and painless. This is a full-time position. We are huge proponents of strong software engineering practices, leveraging the philosophies of test-driven development, continuous delivery/integration, agile programming, repeatable deployments, and many others that make managing diverse teams and complex software easier. Specifically, the DevOps engineer we’re looking for is awesome at: • Automation. Of everything. An obsession with making every aspect of the development and deployment pipeline painless, testable, repeatable, and reliable is a must-have. • Provisioning and configuration management using tools like Puppet, Chef, Ansible, Salt, etc. The tool of choice is open to discussion, but being comfortable with a provisioning oriented workflow is a must. • Automated Continuous Integration and Continuous Delivery. As a Java shop, we use Gradle as our build system. We are just now beginning to migrate to a full continuous delivery workflow; our builds are becoming more automated with regards to artifact generation, artifact hosting, and integration with tools like Docker. The ideal candidate would be willing to grow a system like this in to something with high reliability so it can be a cornerstone of our open source software workflow. Being test-obsessed is desired, both for making sure our CI stack is doing its job and making sure that your infrastructure automation is just as well tested.
    [Show full text]
  • Introduction to Devops on AWS
    Introduction to DevOps on AWS October 2020 Notices Customers are responsible for making their own independent assessment of the information in this document. This document: (a) is for informational purposes only, (b) represents current AWS product offerings and practices, which are subject to change without notice, and (c) does not create any commitments or assurances from AWS and its affiliates, suppliers or licensors. AWS products or services are provided “as is” without warranties, representations, or conditions of any kind, whether express or implied. The responsibilities and liabilities of AWS to its customers are controlled by AWS agreements, and this document is not part of, nor does it modify, any agreement between AWS and its customers. © 2020 Amazon Web Services, Inc. or its affiliates. All rights reserved. Contents Introduction .......................................................................................................................... 1 Continuous Integration ........................................................................................................ 2 AWS CodeCommit ........................................................................................................... 2 AWS CodeBuild ................................................................................................................ 3 AWS CodeArtifact ............................................................................................................ 3 Continuous Delivery ...........................................................................................................
    [Show full text]
  • Contracting for Agile and Devops
    2019 AN EVEREST GROUP VIEWPOINT R Contracting for Agile and DevOps Recommended Practice for Sourcing Yugal Joshi, Vice President Executives Achint Arora, Practice Director Abhishek Mundra, Senior Analyst Copyright © 2019, Everest Global, Inc. All rights reserved. www.everestgrp.com EGR-2019-32-V-3071 2019 CONTRACTING FOR AGILE AND DEVOPS The “as-is” state of Agile contracting Only 27% of firms have Existing adoption reported more than 50% It has been nearly 20 years since the Manifesto for Agile Software Development was of Agile adoption across released; since that time, four key values and 12 principles that form its bedrock have software teams been instrumental in revolutionizing product delivery across industries and organizations. However, even after almost two decades, many enterprises struggle to scale up Agile adoption – in fact, it is only the last two to three years that we have begin to see contracts customized to an Agile delivery model. In an Everest Group research with over 150 C-level executives, we found: ⚫ 46% of the respondents reported that fewer than 30% of their software development teams leverage Agile methodology, which clearly highlights scalability challenges ⚫ 31% of respondents reported challenges in contracting for something that is difficult to define ⚫ 22% indicated that they had trouble aligning on the appropriate performance metrics Our research also suggests that more than 80% of organizations consider themselves to have low maturity in Agile delivery. To address these challenges, enterprises are looking to third-party service providers to help them move toward enterprise Agile delivery. EXHIBIT 1 Agile adoption across enterprises Source: Everest Group Over 90% of organizations are using Agile development methods in some shape or form However, less than 20% organizations consider themselves to have high levels of maturity in the use of Agile In its current form, an Agile contract is shaped in alignment with the delivery methodology and generally consists of the components described ahead.
    [Show full text]
  • A Brief History of Devops by Alek Sharma Introduction: History in Progress
    A Brief History of DevOps by Alek Sharma Introduction: History in Progress Software engineers spend most of their waking hours wading George Santayana wrote that “those who cannot remember the through the mud of their predecessors. Only a few are lucky past are condemned to repeat it.” He was definitely not thinking enough to see green fields before conflict transforms the about software when he wrote this, but he’s dead now, which terrain; the rest are shipped to the front (end). There, they means he can be quoted out of context. Oh, the joys of public languish in trenches as shells of outages explode around them. domain! Progress is usually glacial, though ground can be covered This ebook will be about the history of software development through heroic sprints. methodologies — especially where they intersect with traditional best practices. Think of it as The Silmarillion of Silicon Valley, But veterans do emerge, scarred and battle-hardened. They except shorter and with more pictures. Before plunging into this revel in relating their most daring exploits and bug fixes to new rushing river of time, please note that the presented chronology recruits. And just as individuals have learned individual lessons is both theoretically complete and practically in progress. In other about writing code, our industry has learned collective lessons words, even though a term or process might have been coined, it about software development at scale. It’s not always easy to always takes more time for Best Practices to trickle down to Real see these larger trends when you’re on the ground — buried in Products.
    [Show full text]
  • Ready to Innovate?
    ReadyThe Visual COBOL 5.0to Azure innovate? DevOps and Serverless Computing Walkthrough June 2019 The Visual COBOL 5.0 Azure DevOps and Serverless Computing Walkthrough 2 Visual COBOL 5.0— blue sky thinking Ready to build your Cloud story? This is primarily a how-to technical guide that enables COBOL and non- COBOL developers to modernize legacy applications using the Cloud— it’s all about bridging the old with the new. New to Visual COBOL? This is your guided tour of everything it can do towards modernizing core COBOL applications. Already on board? This is the update that explains how to take your applications beyond the next level and on to the Cloud. What will you learn? Much of this Guide focuses on the technical, practical aspect of creating next-gen apps from COBOL code. Among other new skills, you will discover how to… • Bring a COBOL application into Visual Studio or Eclipse • Edit, compile and debug COBOL applications using the IDE • Modernize COBOL apps using .NET and C# • Create and deploy a COBOL microservice as a Serverless application in the Cloud • Build, test and publish your application via a DevOps pipeline • Understand the latest native Cloud technologies The Visual COBOL 5.0 Azure DevOps and Serverless Computing Walkthrough 3 What’s new in Visual COBOL 5.0? This latest update of our unrivalled development experience significantly extends Visual COBOL’s capabilities. It brings the Cloud closer, enabling access to DevOps and Serverless computing for COBOL systems. For Micro Focus, Visual COBOL 5.0 is where meet our customers’ need for application modernization using the Cloud.
    [Show full text]