For decades, technology leaders have struggled to balance agility, reliability, and security, and the consequences of failure have never been greater. The effective management of technology is critical for business competitiveness. High-performing organizations are 2.5 times more likely to exceed profitability, market share, and productivity goals. The DevOps Handbook shows leaders how to create the cultural norms and the technical practices necessary to maximize organizational learning, increase employee satisfaction, and win in the marketplace.
Bill is an IT manager at Parts Unlimited. It's Tuesday morning and on his drive into the office, Bill gets a call from the CEO. The company's new IT initiative, code named Phoenix Project, is critical to the future of Parts Unlimited, but the project is massively over budget and very late. The CEO wants Bill to report directly to him and fix the mess in ninety days or else Bill's entire department will be outsourced. With the help of a prospective board member and his mysterious philosophy of The Three Ways, Bill starts to see that IT work has more in common with manufacturing plant work than he ever imagined. With the clock ticking, Bill must organize work flow, streamline interdepartmental communications, and effectively serve the other business functions at Parts Unlimited. In a fast-paced and entertaining style, three luminaries of the DevOps movement deliver a story that anyone who works in IT will recognize. Readers will not only learn how to improve their own IT organizations, they'll never view IT the same way again.
Virtualization, cloud, containers, server automation, and software-defined networking are meant to simplify IT operations. But many organizations adopting these technologies have found that it only leads to a faster-growing sprawl of unmanageable systems. This is where infrastructure as code can help. With this practical guide, author Kief Morris of ThoughtWorks shows you how to effectively use principles, practices, and patterns pioneered through the DevOps movement to manage cloud age infrastructure. Ideal for system administrators, infrastructure engineers, team leads, and architects, this book demonstrates various tools, techniques, and patterns you can use to implement infrastructure as code. In three parts, you’ll learn about the platforms and tooling involved in creating and configuring infrastructure elements, patterns for using these tools, and practices for making infrastructure as code work in your environment. Examine the pitfalls that organizations fall into when adopting the new generation of infrastructure technologies Understand the capabilities and service models of dynamic infrastructure platforms Learn about tools that provide, provision, and configure core infrastructure resources Explore services and tools for managing a dynamic infrastructure Learn specific patterns and practices for provisioning servers, building server templates, and updating running servers
Achieve streamlined, rapid production with enterprise-level DevOps The DevOps Adoption Playbook provides practical, actionable, real-world guidance on implementing DevOps at enterprise scale. Author Sanjeev Sharma heads the DevOps practice for IBM; in this book, he provides unique guidance and insight on implementing DevOps at large organizations. Most DevOps literature is aimed at startups, but enterprises have unique needs, capabilities, limitations, and challenges; "DevOps for startups" doesn't work at this scale, but the DevOps paradigm can revolutionize enterprise IT. Deliver high-value applications and systems with velocity and agility by adopting the necessary practices, automation tools, and organizational and cultural changes that lead to innovation through rapid experimentation. Speed is an advantage in the face of competition, but it must never come at the expense of quality; DevOps allows your organization to keep both by intersecting development, quality assurance, and operations. Enterprise-level DevOps comes with its own set of challenges, but this book shows you just how easily they are overcome. With a slight shift in perspective, your organization can stay ahead of the competition while keeping costs, risks, and quality under control. Grasp the full extent of the DevOps impact on IT organizations Achieve high-value innovation and optimization with low cost and risk Exceed traditional business goals with higher product release efficiency Implement DevOps in large-scale enterprise IT environments DevOps has been one of IT's hottest trends for the past decade, and plenty of success stories testify to its effectiveness in organizations of any size, industry, or level of IT maturity, all around the world. The DevOps Adoption Playbook shows you how to get your organization on board so you can slip production into the fast lane and innovate your way to the top.
The overwhelming majority of a software system’s lifespan is spent in use, not in design or implementation. So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems? In this collection of essays and articles, key members of Google’s Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You’ll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient—lessons directly applicable to your organization. This book is divided into four sections: Introduction—Learn what site reliability engineering is and why it differs from conventional IT industry practices Principles—Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE) Practices—Understand the theory and practice of an SRE’s day-to-day work: building and operating large distributed computing systems Management—Explore Google's best practices for training, communication, and meetings that your organization can use
Harness the power of DevOps to boost your skill set and make your IT organization perform better About This Book Get to know the background of DevOps so you understand the collaboration between different aspects of an IT organization and a software developer Improve your organization's performance to ensure smooth production of software and services Deploy top-quality software and ensure software maintenance and release management with this practical guide Who This Book Is For This book is aimed at developers and system administrators who wish to take on larger responsibilities and understand how the infrastructure that builds today's enterprises works. This book is also great for operations personnel who would like to better support developers. You do not need to have any previous knowledge of DevOps. What You Will Learn Appreciate the merits of DevOps and continuous delivery and see how DevOps supports the agile process Understand how all the systems fit together to form a larger whole Set up and familiarize yourself with all the tools you need to be efficient with DevOps Design an application that is suitable for continuous deployment systems with Devops in mind Store and manage your code effectively using different options such as Git, Gerrit, and Gitlab Configure a job to build a sample CRUD application Test the code using automated regression testing with Jenkins Selenium Deploy your code using tools such as Puppet, Ansible, Palletops, Chef, and Vagrant Monitor the health of your code with Nagios, Munin, and Graphite Explore the workings of Trac—a tool used for issue tracking In Detail DevOps is a practical field that focuses on delivering business value as efficiently as possible. DevOps encompasses all the flows from code through testing environments to production environments. It stresses the cooperation between different roles, and how they can work together more closely, as the roots of the word imply—Development and Operations. After a quick refresher to DevOps and continuous delivery, we quickly move on to looking at how DevOps affects architecture. You'll create a sample enterprise Java application that you'll continue to work with through the remaining chapters. Following this, we explore various code storage and build server options. You will then learn how to perform code testing with a few tools and deploy your test successfully. Next, you will learn how to monitor code for any anomalies and make sure it's running properly. Finally, you will discover how to handle logs and keep track of the issues that affect processes Style and approach This book is primarily a technical guide to DevOps with practical examples suitable for people who like to learn by implementing concrete working code. It starts out with background information and gradually delves deeper into technical subjects.
How well does your organization respond to changing market conditions, customer needs, and emerging technologies when building software-based products? This practical guide presents Lean and Agile principles and patterns to help you move fast at scale—and demonstrates why and how to apply these methodologies throughout your organization, rather than with just one department or team. Through case studies, you’ll learn how successful enterprises have rethought everything from governance and financial management to systems architecture and organizational culture in the pursuit of radically improved performance. Adopting Lean will take time and commitment, but it’s vital for harnessing the cultural and technical forces that are accelerating the rate of innovation. Discover how Lean focuses on people and teamwork at every level, in contrast to traditional management practices Approach problem-solving experimentally, by exploring solutions, testing assumptions, and getting feedback from real users Lead and manage large-scale programs in a way that empowers employees, increases the speed and quality of delivery, and lowers costs Learn how to implement ideas from the DevOps and Lean Startup movements even in complex, regulated environments
Do you really understand what business value is? Information technology can and should deliver business value. But the Agile literature has paid scant attention to what business value means'and how to know whether or not you are delivering it. This problem becomes ever more critical as you push value delivery toward autonomous teams and away from requirements ?tossed over the wall? by business stakeholders. An empowered team needs to understand its goal!Playful and thought-provoking, The Art of Business Value explores what business value means, why it matters, and how it should affect your software development and delivery practices. More than any other IT delivery approach, DevOps (and Agile thinking in general) makes business value a central concern. This book examines the role of business value in software and makes a compelling case for why a clear understanding of business value will change the way you deliver software.This book will make you think deeply about not only what it means to deliver value but also the relationship of the IT organization to the rest of the enterprise. It will give you the language to discuss value with the business, methods to cut through bureaucracy, and strategies for incorporating Agile teams and culture into the enterprise. Most of all, this book will startle you into new ways of thinking about the cutting-edge of Agile practice and where it may lead.
Some companies think that adopting devops means bringing in specialists or a host of new tools. With this practical guide, you’ll learn why devops is a professional and cultural movement that calls for change from inside your organization. Authors Katherine Daniels and Jennifer Davis provide several approaches for improving collaboration within teams, creating affinity among teams, promoting efficient tool usage in your company, and scaling up what works throughout your organization’s inflection points. Devops stresses iterative efforts to break down information silos, monitor relationships, and repair misunderstandings that arise between and within teams in your organization. By applying the actionable strategies in this book, you can make sustainable changes in your environment regardless of your level within your organization. Explore the foundations of devops and learn the four pillars of effective devops Encourage collaboration to help individuals work together and build durable and long-lasting relationships Create affinity among teams while balancing differing goals or metrics Accelerate cultural direction by selecting tools and workflows that complement your organization Troubleshoot common problems and misunderstandings that can arise throughout the organizational lifecycle Learn from case studies from organizations and individuals to help inform your own devops journey
Software is becoming more and more important across a broad range of industries, yet most technology executives struggle to deliver software improvements their businesses require. Leading-edge companies like Amazon and Google are applying DevOps and Agile principles to deliver large software projects faster than anyone thought possible. But most executives don t understand how to transform their current legacy systems and processes to scale these principles across their organizations. Leading the Transformation is executive guide, providing a clear framework for improving development and delivery. Instead of the traditional Agile and DevOps approaches that focus on improving the effectiveness of teams, this book targets the coordination of work across teams in large organizations an improvement that executives are uniquely positioned to lead."
Achieve the Continuous Integration and Continuous Delivery of your web applications with ease About This Book Overcome the challenges of implementing DevOps for web applications, familiarize yourself with diverse third-party modules, and learn how to integrate them with bespoke code to efficiently complete tasks Understand how to deploy web applications for a variety of Cloud platforms such as Amazon EC2, AWS Elastic Beanstalk, Microsoft Azure, Azure Web Apps, and Docker Container Understand how to monitor applications deployed in Amazon EC2, AWS Elastic Beanstalk, Microsoft Azure, Azure Web Apps using Nagios, New Relic, Microsoft Azure, and AWS default monitoring features Who This Book Is For If you are a system admin or application and web application developer with a basic knowledge of programming and want to get hands-on with tools such as Jenkins 2 and Chef, and Cloud platforms such as AWS and Microsoft Azure, Docker, New Relic, Nagios, and their modules to host, deploy, monitor, and manage their web applications, then this book is for you. What You Will Learn Grasp Continuous Integration for a JEE application—create and configure a build job for a Java application with Maven and with Jenkins 2.0 Create built-in delivery pipelines of Jenkins 2 and build a pipeline configuration for end-to-end automation to manage the lifecycle of Continuous Integration Get to know all about configuration management using Chef to create a runtime environment Perform instance provisioning in AWS and Microsoft Azure and manage virtual machines on different cloud platforms—install Knife plugins for Amazon EC2 and Microsoft Azure Deploy an application in Amazon EC2, AWS Elastic Beanstalk, Microsoft Azure Web Apps, and a Docker container Monitor infrastructure, application servers, web servers, and applications with the use of open source monitoring solutions and New Relic Orchestrate multiple build jobs to achieve application deployment automation—create parameterized build jobs for end-to-end automation In Detail The DevOps culture is growing at a massive rate, as many organizations are adopting it. However, implementing it for web applications is one of the biggest challenges experienced by many developers and admins, which this book will help you overcome using various tools, such as Chef, Docker, and Jenkins. On the basis of the functionality of these tools, the book is divided into three parts. The first part shows you how to use Jenkins 2.0 for Continuous Integration of a sample JEE application. The second part explains the Chef configuration management tool, and provides an overview of Docker containers, resource provisioning in cloud environments using Chef, and Configuration Management in a cloud environment. The third part explores Continuous Delivery and Continuous Deployment in AWS, Microsoft Azure, and Docker, all using Jenkins 2.0. This book combines the skills of both web application deployment and system configuration as each chapter contains one or more practical hands-on projects. You will be exposed to real-world project scenarios that are progressively presented from easy to complex solutions. We will teach you concepts such as hosting web applications, configuring a runtime environment, monitoring and hosting on various cloud platforms, and managing them. This book will show you how to essentially host and manage web applications along with Continuous Integration, Cloud Computing, Configuration Management, Continuous Monitoring, Continuous Delivery, and Deployment. Style and approach This is a learning guide for those who have a basic knowledge of application deployment, configuration management tools, and Cloud computing, and are eager to leverage it to implement DevOps for web applications using end-to-end automation and orchestration.
DevOps for Developers delivers a practical, thorough introduction to approaches, processes and tools to foster collaboration between software development and operations. Efforts of Agile software development often end at the transition phase from development to operations. This book covers the delivery of software, this means “the last mile”, with lean practices for shipping the software to production and making it available to the end users, together with the integration of operations with earlier project phases (elaboration, construction, transition). DevOps for Developers describes how to streamline the software delivery process and improve the cycle time (that is the time from inception to delivery). It will enable you to deliver software faster, in better quality and more aligned with individual requirements and basic conditions. And above all, work that is aligned with the “DevOps” approach makes even more fun! Provides patterns and toolchains to integrate software development and operations Delivers an one-stop shop for kick-starting with DevOps Provides guidance how to streamline the software delivery process What you’ll learn Know what DevOps is and how it can result in better and faster delivered software Apply patterns to improve collaboration between development and operations Introduce unified processes and incentives to support shared goals Start with or extend a tool infrastructure that spans projects roles and phases Address pain points in your individual environment with appropriate recipes Break down existing walls that make up an unnecessarily sluggish delivery process Who this book is for DevOps for Developers is for motivated software engineers, particularly programmers, testers, QA, system admins, database admins, both beginners and experts, who want to improve their software delivery process. It’s the perfect choice for engineers who want to go the next step by integrating their approaches for development and delivery of software. This book is for engineers who want to shape their processes and decide on and integrate open source tools and seek for guidance how to integrate standard tools in advanced real world use cases. Table of Contents Beginning DevOps for Developers Introducing DevOps Building Blocks of DevOps Quality and Testing Introduce Shared Incentives Gain Fast Feedback Unified and Holistic Approach Automatic Releasing Infrastructure as Code Specification by Example
Design IT Organizations for Agility at Scale Aspiring digital businesses need overall IT agility, not just development team agility. In Agile IT Organization Design , IT management consultant and ThoughtWorks veteran Sriram Narayan shows how to infuse agility throughout your organization. Drawing on more than fifteen years’ experience working with enterprise clients in IT-intensive industries, he introduces an agile approach to “Business–IT Effectiveness” that is as practical as it is valuable. The author shows how structural, political, operational, and cultural facets of organization design influence overall IT agility—and how you can promote better collaboration across diverse functions, from sales and marketing to product development, and engineering to IT operations. Through real examples, he helps you evaluate and improve organization designs that enhance autonomy, mastery, and purpose: the key ingredients for a highly motivated workforce. You’ll find “close range” coverage of team design, accountability, alignment, project finance, tooling, metrics, organizational norms, communication, and culture. For each, you’ll gain a deeper understanding of where your organization stands, and clear direction for making improvements. Ready to optimize the performance of your IT organization or digital business? Here are practical solutions for the long term, and for right now. Govern for value over predictability Organize for responsiveness, not lowest cost Clarify accountability for outcomes and for decisions along the way Strengthen the alignment of autonomous teams Move beyond project teams to capability teams Break down tool-induced silos Choose financial practices that are free of harmful side effects Create and retain great teams despite today’s “talent crunch” Reform metrics to promote (not prevent) agility Evolve culture through improvements to structure, practices, and leadership—and careful, deliberate interventions
DevOps is a fundamental shift in how leading edge companies are starting to manage their software and IT work. Businesses need to move more quickly than ever before, and large software organizations are applying these DevOps principles to develop new software faster than anyone previously thought possible. DevOps started in small organizations and in large organizations that had or created architectures that enabled small teams to independently develop, qualify, and deploy code. The impact on productivity is so dramatic that larger organizations with tightly coupled architectures are realizing they either need to embrace DevOps or be left behind. The biggest challenge is that they can’t just empower small teams to work independently because their legacy architectures require coordinating the development, qualification, and deployment of code across hundreds of people. They need a DevOps approach that not only addresses their unique challenges, but also helps them reach an organization-wide agreement on where to start and how to scale DevOps. That is where Starting and Scaling DevOps in the Enterprise comes in. Starting and Scaling DevOps in the Enterprise is a quick, easy-to-read guide that helps structure those improvements by providing a framework that large organizations can use to understand DevOps principles in the context of their current development processes and gain alignment across the organization for successful implementations. The book illustrates how to analyze your current development and delivery processes to ensure you gain positive momentum by implementing the DevOps practices that will have the greatest immediate impact on the productivity of your organization, with the goal of achieving continuous improvement over time.