Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DevOps

222 views

Published on

  • Be the first to comment

  • Be the first to like this

DevOps

  1. 1. TRANSFORMING SOFTWARE DELIVERY WITH DEVOPS BRIEFING
  2. 2. In today’s technology-driven world, speed, agility and reduced time-to-market are becoming increasingly important. As more business moves online, existing business models and industries are disrupted and new ones are enabled. Every business is becoming a technology business by stealth, with industries such as retail, media, finance, telecommunications and travel all being reshaped by software. DevOps is a key tool to compete against this backdrop – giving us the tools to go faster whilst retaining a rigorous, professionalized approach to IT. DevOps started from the realization that software development and IT operations teams had fallen into silos, with different ways of working, different tools, different approaches and different incentives driving them. For instance, whilst software development teams are typically set up and motivated to deliver new features and change rapidly, front-line IT operations typically have different motivations centered around maintaining stability and control over the platform. As stability is most easily achieved by restricting change, this puts software development and IT operations into a subtle tug of war. The business, which just wants to get its software deployed and into the hands of users as quickly and efficiently as possible, are the ones that is held back. This ultimately leads to missed efficiencies and reduced ability to compete in the market. DevOps is about improving this situation - breaking down the silos and bringing the two teams together, getting them to collaborate more effectively and adopt best practices from one another. When this occurs, the organization moves from being held back to being enabled through software. They’ll be able to deliver faster, reduce delivery cycle times and increase agility, all whilst keeping quality high and retaining a professionalized, rigorous approach to IT. DEV OPS WHAT IS DEVOPS AND WHY SHOULD I CARE? WHAT IS DEVOPS? DevOps is a set of best practices that enable substantially faster, more efficient and more agile delivery of high quality software. HOW IS DEVOPS DIFFERENT? It involves getting key technology stakeholders working together more effectively and combining this with best-in-class release and infrastructure automation in order to speed up delivery and focus everyone on the real business goals of software. WHY IS DEVOPS IMPORTANT? When DevOps is adopted successfully, the organization is empowered to deliver software better – giving them an outsized ability to beat competition, get to market faster, and innovate much more effectively. TRANSFORMINGSOFTWAREDELIVERYWITHDEVOPS 2
  3. 3. Adopting DevOps is a broad proposition, requiring investment in technology, tooling and automation, but also people and process change. It’s only when these come together that the transformational benefits of DevOps can be fully realized. TECHNOLOGY Automation is central to DevOps. This includes the automation to build, test, release and deploy software, but also to manage servers, environments and infrastructure through source code and APIs. Automation of processes brings speed, repeatability and enhanced quality whilst still allowing for control and governance. This is particularly relevant in a virtualized or cloud world where good use of automation can increase agility and add rigor to platforms. PEOPLE On the people side, DevOps is about building an organization and a culture that is collaborative and delivery focused, one that is outcome rather than process driven, and one that places more emphasis on personal responsibility by individual engineers instead of heavyweight and restrictive processes. In a larger-scale enterprise setting, job roles, functional models and operational models can also be modified to support DevOps. For instance, where before development and operations engineers have traditionally had different reporting lines, bringing these two organizations under common leadership can create shared incentives and a consistent message from leadership. Of course, it isn’t necessary to do all of this on day 1. DevOps is a journey, and there are steps we can make today. PROCESS Traditionally, businesses have put up a lot of process and barriers around enterprise IT. There has been a bias towards stability and risk reduction, which in many cases has led to stagnation and slow pace of delivery. DevOps reprioritizes speed and fast iteration, and adjusts processes towards these without compromising quality. Where before releases were big affairs with lots of planning, preparation, regression testing and sign-offs, we need to move towards a world where releases become lightweight and boring – consisting of lots more deliveries of smaller batches of change. In this world, some of the overhead simply has to be removed using automated testing, better release automation software, and a fast-track release sign-off process. In order to deliver faster and with more responsiveness, technology organizations have to become much more agile. Whilst agile software development is increasingly becoming the norm, operations teams increasingly need to work in the same iterative and incremental style. Organizations need to look at changing working practices so that developers are given more ownership and responsibility of production systems, and operations engineers follow development-like processes such as source controlling and testing configuration in staging environments. Likewise, developers need to adopt best practices from IT operations, giving them an appreciation for how to build software that is operable, maintainable and robust within its production environment. DEVOPS TRANSFORMATION = TECHNOLOGY + PEOPLE + PROCESS TRADITIONAL IT ORGANIZATIONS ARE OFTEN STRONGLY SILOED, WITH DIFFERENT INCENTIVES, CULTURES, MOTIVATIONS AND TOOLING. DEVOPS IS ABOUT BREAKING DOWN THESE SILOS AND FOCUSSING PEOPLE ON THE REAL BUSINESS GOALS OF SOFTWARE. THE BUSINESS “It is too slow and inefficient” “We need to be more agile” “We need to do more with less” THE TESTER “I want more automation in our testing” “We need to improve quality” THE DEVELOPER “I want to release faster” “I want ops to get out of the way” THE OPS ENGINEER “I want stability” “I need to monitor and control changes to our environments” “I’m too busy to spend time with developers” TRANSFORMINGSOFTWAREDELIVERYWITHDEVOPS 3
  4. 4. THE BENEFITS OF DEVOPS DELIVER FASTER Through automation and collaboration, DevOps will help you bring products to market sooner and iterate them more frequently. Where before you may have had monthly or quarterly releases, DevOps will help you shrink that cycle time down to weeks, days or even multiple times per day. INCREASE QUALITY Even though this style of delivery increases speed, it does not mean a corresponding decrease in quality. The increased focus on production and the customer experience means that quality and system robustness are prioritized. WORK MORE EFFICIENTLY The automation espoused by DevOps takes investment, but once it’s in place it saves lots of time-consuming and error-prone manual work. Processes that used to take weeks and require lots of handoffs are achieved with the click of a button through effective use of automation. ENABLE DEVELOPERS If markets are increasingly won or lost based on the quality of software and technology, software developers are on the front line in that war! Developers are generally an expensive resource that does not always scale well by adding more bodies, so making your development teams more efficient and allowing them to concentrate on the highest-value- producing activity is always worth the investment. DevOps-related practices will make it easy for your developers to build and test their software in production-like environments. They will be able to stop re-inventing the wheel through good re-use and access to best-in-class tooling. They will be able to deliver value continuously, delivering small batches of change to your users early and often whilst keeping the rest of the system stable and available. In short, developers love DevOps! TAKE A LEAN-DRIVEN APPROACH Measurement is a key tenet of DevOps practices. Rather than lots of planning and big design up front, DevOps-led teams will use their automation to bring minimum viable products to market and then take the lessons from captured data forward into subsequent development iterations. Capturing actionable data is a priority and the findings are given a high degree of credence in product management decisions. In support of this, lots of tooling has come out of the DevOps community for capturing actionable data from applications. ACHIEVE PACE WHILST RETAINING GOVERNANCE The automation espoused by DevOps enables delivery pace but also allows for the capturing of necessary audit information and putting the right security and control around activity. IMPROVE EMPLOYEE MORALE Working within a DevOps culture and under DevOps-like practices is simply a much more interesting and rewarding environment for your engineers and other staff to work within. DevOps implies a culture of more rapid delivery, collaboration with the business and other engineers and more personal responsibility instead of strict process. Employee morale is not just a nice side benefit. Businesses of all kinds are competing for the same scarce technology skills and increasingly the environments that are interesting to work on are more aligned with a collaborative DevOps-led approach. INCREASE INNOVATION AND MARKET SUCCESS Working in this way allows you to get to market sooner and deliver and change direction more frequently. If you can release software in this incremental and iterative style, you are able to easily test new ideas in the market, capture data as to how they perform, and progress your products according to the captured data. This lean data-driven approach reduces project risk and increases the likelihood of building products that the market wants. DEVELOPERS ARE GENERALLY AN EXPENSIVE RESOURCE THAT DOES NOT ALWAYS SCALE WELL BY ADDING MORE BODIES... TRANSFORMINGSOFTWAREDELIVERYWITHDEVOPS 4
  5. 5. CHANGING JOB ROLES SOFTWARE DEVELOPERS should think more like operations engineers, understanding the production environment that they release into and the infrastructure which supports their applications. They should understand what good operations look like, and what the challenges are in running and maintaining software. They should take more ownership of the finished, running system instead of just‘throwing code over the wall’for operations to deploy and support. This should all feed through to the development of more operable and maintainable software as operability features are prioritized and included in the requirements capture and development phases of the project. OPERATIONS ENGINEERS should begin to work more like developers – using automated techniques to manage infrastructure, test their changes, and automate software release and other processes. As infrastructure is increasingly controlled through APIs (e.g. cloud and software-defined networking), this opens up huge potential to turn operations into a competitive advantage that delivers speed and agility to the organization. CLOUD ARCHITECTS, INFRASTRUCTURE CODERS AND DEVOPS ENGINEERS are new roles that sit at the intersection of the development and operations worlds – designing and delivering software that is easy to operate and manage, and then contributing to software releases and the build, management and support of the production environment. Test automation becomes much more important in a faster-moving DevOps world, so testers work much more closely with development and operations teams to ensure that software remains high quality and operable. SOFTWARE ARCHITECTS need to place much more emphasis on operability and releasability too. When we release software on a quarterly basis, needing six people to log in at 3am on a Sunday morning might be viable. When we realise three times per day, not so much. This requirement can have fundamental impacts on application architecture. BUSINESS ANALYSTS, PROJECT MANAGERS and other people involved in requirements capture and business liaison likewise need to place much greater emphasis on software operability, releaseability and production delivery. Rather than thinking in terms of features being built by development, they need to take a more holistic view, thinking how those same features will be operated, managed and upgraded whilst retaining the user experience. In a DevOps world, the boundary between various technology departments and engineering roles should increasingly blur. Though there will always be room for specialists, the roles should become much more closely aligned in terms of tools, techniques, processes, approaches and culture as everyone shifts from siloed thinking towards delivery focus. TRANSFORMINGSOFTWAREDELIVERYWITHDEVOPS 5
  6. 6. SCALING DEVOPS INTO THE ENTERPRISE TRANSFORMINGSOFTWAREDELIVERYWITHDEVOPS 6 DevOps found its origins within the start- up world and‘born on the web’online companies such as Facebook, Google and Netflix. The benefits have now made their way onto the radar of many enterprise CIOs, who are asking what DevOps means for their organization and how to get started on the journey towards better, more collaborative software delivery. Adopting DevOps in the enterprise is a broad and challenging proposition. Enterprises have more scale, which means more people to take on the journey, more incumbent technology, more established working practices and approaches and ahigher value of transactions flowing through their production systems. Nonetheless, the benefits are so compelling that this transformation is generally worth embarking on. Here are some of the specific challenges that we see in Enterprise DevOps Adoption: INCUMBENT WORKING PRACTICES The organization will be structured in a certain way in terms of job roles, reporting lines and responsibilities. Around this, established working processes will be in place that may have served the business well for a number of years. Changing these will require work and needs to be managed carefully – getting people on board with the change, training them, and then working according to the new processes, all whilst not impacting the existing customer experience. LEGACY AND INCUMBENT TECHNOLOGY The typical enterprise has lots of legacy and incumbent technology in place. In some cases, there is integration sprawl between platforms and contracts will be in place with vendors that are not set up for fast, iterative, automated DevOps-style delivery. We have to work slowly to evolve the state of platforms and applications, and not try to reinvent all technology platforms and projects in one go. Architectural changes, increased automation, system upgrades and contract renegotiation may all need to occur to evolve this. SCOPE OF THE CHANGE DevOps isn’t just about technology and automation. To realize its full potential requires change to culture, incentives, working processes, and possibly functional and operating models. As anyone who has worked in organizational change knows, this can be challenging. THE DEVOPS SKILLS CRUNCH DevOps is a new and evolving area. The technology and tooling is fast moving and few people have experience of the associated working practices at scale. ADOPTING DEVOPS IN THE ENTERPRISE IS A BROAD AND CHALLENGING PROPOSITION.
  7. 7. TIPS FOR YOUR DEVOPS INITIATIVE PUT THE RIGHT PEOPLE IN PLACE To adopt DevOps you need experts with the requisite technical automation skills, but also the kind of people who will look up from the keyboard and influence working practices and improve collaboration across the IT organization. The technical skills can be taught, but hiring or identifying the right personalities to shake up IT delivery and break down silos is harder. The good news is that identifying a few key stakeholders and giving them a mandate can result in transformational leaps forward. REPRIORITIZE SPEED AND AGILITY IT has traditionally placed a lot of emphasis on stability and keeping the lights on. To compete in today’s technology-driven economy, we need to move speed and agility of software delivery right to the top of technology priorities. GIVE DEVELOPERS AN OPERABILITY PERSPECTIVE Software developers generally have further to go than operations engineers in the DevOps journey. Developers need to gain more awareness and understanding of the production environment in which their code operates, and extend the scope of their responsibility to the live production system. It’s not always the case, but an alarming number of development teams have a‘throw it over the wall’mentality, thinking that their job is done when the code is tested. RELENTLESSLY AUTOMATE Even though DevOps is often about people and technology, automation still has a significant role to play. By automating common tasks, they become faster, more reliable and more efficient. This takes investment, but when we are releasing much more frequently, that investment is paid back many times over. As a side effect, good automation tools also allow you to retain control, governance and audit over changes to your production systems. TAKE A HOLISTIC APPROACH Successful DevOps adoption requires a combination of technology, people and process change. If you don’t optimize all three then the DevOps initiative probably won’t achieve its full potential. Without the holistic approach, you may end up using technology to make a bad process faster, or building a great collaborative working process which is then hampered by bad tooling and platforms. START SMALL Don’t try to sell a cultural or technological revolution. We can start with one application which will benefit from faster and iterative delivery and try to reduce cycle times and change working practices one at time. Eventually, the benefits will become apparent and then you have a business case for rolling this out further within the business. TRANSFORMINGSOFTWAREDELIVERYWITHDEVOPS 7 THE BENEFITS WILL BECOME APPARENT AND THEN YOU HAVE A BUSINESS CASE FOR ROLLING THIS OUT FURTHER WITHIN THE BUSINESS.
  8. 8. ABOUT US Contino is a technology and services company specializing in DevOps, Continuous Delivery, and transformational programs. The company’s Rapid Prototyping and DevOps Acceleration services help organizations speed time-to- market for high quality new and re-tooled applications. From strategy and operations to culture and technology, Contino helps business and technology leaders identify and address opportunities for growth and profitability. Contino provides training, development, deployment and optimization services for the full stack of DevOps and Agile technologies including application lifecycle management (ALM), modern development and Continuous Delivery tools, micro-services architecture, containerization, security, analytics, testing and cloud infrastructure platforms. Learn more at CONTINO.IO E: info@contino.io W: www.contino.io

×