
Strategy & Technical Considerations for Successful Enterprise DevOps Credit: metamorworks By Jon Collins Strategy & Technical Considerations for Successful Enterprise DevOps 09/18/2018 Table of Contents 1. Summary 2. Why Enterprise DevOps and What Makes It So Hard? 3. Shift to Customer-Centricity 4. Deliver Agile Best Practice 5. Connect Data and Services 6. Automate Development and Delivery 7. Orchestrate and Operate Infrastructure 8. Conclusion 9. About Jon Collins 10. About GigaOm 11. Copyright Strategy & Technical Considerations for Successful Enterprise DevOps 2 1 Summary This report covers enterprise drivers, pain points, and contextual factors that make DevOps both essential and difficult to achieve in larger organizations. DevOps brings a number of benefits to enterprises looking to deliver technology-based solutions more quickly. It can increase business value and reduce costs by: enabling new ideas to be tested, adopted or adapted; bringing engineering and business teams together; reducing time to market; shortening development cycles; increasing responsiveness to new requirements, incidents, and threats; and reinforcing a brand’s position as leading-edge and customer-focused. The five fundamental pillars to Enterprise DevOps enable the model to broaden outside of individual initiatives. They include: considering the need to shift to customer-centricity; delivering agile best practice; connecting data and services; automating deployment and delivery; and finally, orchestrating operations infrastructure. In each of these areas, the challenges of enterprise business-as-usual cause what might be termed “DevOps Friction,” that is, overheads that risk slowing down DevOps cycles and therefore undermining the benefits it can bring. A wide range of tools and technology vendors exists to respond to each of these challenges. While many tools exist to support DevOps, the litmus test for their effectiveness is how much friction they remove from the development pipeline, increasing efficiency without undermining governance, for example, through self-service or rules-based decisions. In order to deliver a comprehensive DevOps solution, enterprise decision makers must evaluate their breadth of needs over the next one to three years. Then they must limit their field of vision to the subset of capabilities that will meet the majority of their requirements, which includes setting a target platform strategy, a delivery strategy, and a toolchain strategy in response. The DevOps approach is fundamental to what is currently being called digital transformation. To be clear, a transformation to the digitally-enabled enterprise is also a transformation to using DevOps: either both will succeed, or both will fail. And just as digital transformation requires executive buy-in, so does DevOps. In the future, it is likely that a common set of practices and standards will emerge from DevOps; that the market landscape for tools will consolidate and simplify; and that infrastructure Strategy & Technical Considerations for Successful Enterprise DevOps 3 platforms will become increasingly automated; a symptom of all three will be the increasing use of AI. We would therefore advise any enterprise to embrace the principles of DevOps, which are unlikely to change, whilst seeing any toolchain as an enabler to delivering on DevOps today. Strategy & Technical Considerations for Successful Enterprise DevOps 4 2 Why Enterprise DevOps and What Makes It So Hard? Today’s enterprises are under pressure to deliver a consistent return to investors while satisfying existing customers and maintaining brand awareness and reputation. CMOs and other lines of business are increasingly responsible for large parts of the technology budget. At the same time, boardrooms face an onslaught of digital propaganda—from media, consulting firms and indeed, analysts—who tell them they need to transform if they are to keep up with the competition. Against this background, technology has become its own worst enemy. Repeated deployments of infrastructure and software have created legacy environments that slow rather than enable progress. Cloud-based solutions have the potential to unblock this bottleneck, and many enterprises look enviously at organizations, which are unencumbered by existing infrastructure and processes, that have come from nowhere to become a competitive threat. Enterprises know they have to deliver technology-based solutions more quickly, if they are to stay relevant. In principle, rapid delivery: • enables new ideas to be tested, adopted, or adapted based on evolving customer need • brings engineering and business teams together, enabling more customer-centric outcomes • reduces time to market, delivering a first-mover advantage and increasing revenues • shortens development cycles, increasing productivity and reducing delivery costs • increases responsiveness to new requirements, incidents, and threats • reinforces a brand’s position as leading-edge and customer-focused Software development practices have been evolving for many years to enable these benefits; however, a gulf has remained between enterprise developers and operations teams. The goal of DevOps is to close this gap through the use of automated deployment, shared information, and increased collaboration. This models the way in which newer startups tend to work, unlocking the benefits of rapid delivery. While the reasons to adopt DevOps—deliver faster and with higher quality, increase business value, and reduce cost—are increasingly well-established, larger organizations can struggle to move beyond the application team’s DevOps initiative to a broader, business-wide adoption. Strategy & Technical Considerations for Successful Enterprise DevOps 5 The journey to enterprise DevOps can hit a number of bottlenecks, notably around governance, quality assurance, and communication, each of which creates what we might term “DevOps Friction.” DevOps Friction is not something that can be smoothed away with best practice or automation, as it goes to the heart of what make an enterprise tick. In this report, we distill down the results of multiple conversations and briefings with enterprise organizations, best practice experts and indeed, tools vendors, into five enablers that need to be considered in order to successfully expand the role of DevOps in the enterprise. Their order is deliberate: 1. Shift to customer-centricity.If DevOps is about speeding up delivery, we must start with what is being delivered, and why. Across verticals, today’s business success stories are no longer about brand, product, selection, model, or any other historical factor alone, but in how they enable customers to succeed and achieve their own goals. 2. Deliver best practice.DevOps marks a cultural shift from slower, linear practices, to faster approaches that bring in rapid iteration and parallelism. Its procedures and steps are one part of a greater mindset shift, without which progress will be slowed and organizations risk reverting to old ways of doing things. 3. Connect data and services.In terms of deliverables, DevOps success depends on how well platforms of data and existing/new services can be brought along, not just for the ride but in a way that adapts to changing circumstances. Strategy & Technical Considerations for Successful Enterprise DevOps 6 4. Automate deployment.Automation, the traditional heartland of DevOps tooling, remains important. However, it needs to be considered in the context of the first three enablers, to ensure that any progress made in automation is not undermined by challenges in other areas. 5. Operate and orchestrate resources.Finally, the availability of a commoditized, flexible platform is becoming table stakes for DevOps success. As platform and operational efficiency increases, so does the effectiveness of DevOps overall. Or in layperson’s terms, it’s easier to build more things, more quickly, if your pools of resources are more stable and flexible. We look at each enabler in the sections below. Following a problem statement, we cover some of the challenges causing DevOps Friction, due to the additional effort they cause across the pipeline. We also cover a number of tools available today in response. Given the complexity of the tooling landscape, the report does not present an exhaustive feature comparison for each tool; rather, it focuses on what areas stand out. Strategy & Technical Considerations for Successful Enterprise DevOps 7 3 Shift to Customer-Centricity DevOps best practices serve a singular purpose, namely delivering technology-based applications and services that fit the evolving needs of the customer. Enterprises as a whole will confirm that customers are hugely important; however, DevOps teams and structures may not be organized in such a way that they can respond to rapidly changing customer demand. Enabling a shift to customer centricity requires three areas to be addressed across the DevOps cycle: 1. Optimize customer experience 2. Assure security and privacy 3. Test quality and non-functional criteria We look at each below. Strategy & Technical Considerations for Successful Enterprise DevOps 8 3.1. Optimize Customer Experience Strategy & Business Considerations As customers engage more directly with the enterprise, through online and mobile apps as well as customer service channels, customer experience has moved from being a nice-to-have to an essential need. This is as true in business-to-business (B2B) scenarios as in business-to- consumer; for example, in B2B, partner
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages37 Page
-
File Size-