Continuous Delivery ermöglicht es, Software viel schneller und mit wesentlich höherer Zuverlässigkeit in Produktion zu bringen, als es bisher möglich war. Grundlage dafür ist eine Continuous-Delivery-Pipeline, die das Ausrollen der Software weitgehend automatisiert und so einen reproduzierbaren, risikoarmen Prozess für die Bereitstellung neuer Releases bietet. Dieses Buch macht Sie mit dem Aufbau einer Continuous-Delivery-Pipeline vertraut und erklärt, welche Technologien Sie dazu einsetzen können. Dabei lernen Sie u.a. folgende Themen kennen: - Infrastruktur-Automatisierung mit Chef, Docker und Vagrant - Automatisierung von Builds und Continuous Integration - Akzeptanztests, Kapazitätstests, exploratives Testen - Einführung von Continuous Delivery im Unternehmen - Continuous Delivery und DevOps - Auswirkungen auf die Softwarearchitektur Als praktisches Beispiel wird ein konkreter Technologie-Stack vorgestellt. Zahlreiche Aufgaben und Vorschläge für weitergehende Experimente laden Sie darüber hinaus zur praktischen Vertiefung des Themas ein. Nach der Lektüre können Sie abschätzen, welche Vorteile Continuous Delivery konkret bietet, und Sie verfügen über das nötige Handwerkszeug, um Continuous Delivery in Ihrem eigenen Arbeitsumfeld zu etablieren. Die Neuauflage wurde in Bezug auf Werkzeuge wie Docker, Jenkins, Graphite und den ELK-Stack aktualisiert. An neuen Themen sind Docker Compose, Docker Machine, Immutable Server, Microservices und die Einführung von Continuous Delivery ohne DevOps hinzugekommen.
Continuous Delivery shows how tocreate fully automated, repeatable, and reliable processes for rapidly moving changes through build, deploy, test, and release. Using these techniques, software organizations are getting critical fixes and other new releases into production in hours - sometimes even minutes - evenin large projects with complex code bases. Jez Humble and David Farley begin by presenting the high-level principles and practices required to succeed with regular, repeatable, low-risk releases. Next, they introduce the ´´deployment pipeline,´´ an automated process for managing all changes, from check-in to release. Finally, they discuss the ´´ecosystem´´ needed to support deployment pipelines, from infrastructure to data management and governance. The authors introduce many state-of-the-art techniques, including in-production monitoring and tracing, dependency management, and the use of virtualization. For each, they review key issues, demonstrate how to mitigate risks, and identify best practices. Coverage includes · Overcoming ´´anti-patterns´´ that slow down releases and reduce quality · Automating all facets of configuration management and testing · Implementing deployment pipelines at team and organizational levels · Scripting highly-effective automated build and deployment processes · Triggering automated processes whenever a change is made · Automating acceptance testing, from analysis to implementation · Testing capacity and other non-functional requirements · Utilizing continuous deployment, rollbacks, and zero-downtime releases · Managing infrastructure, data, components, dependencies, and versions · Navigating risk management, compliance, and other obstacles Whether you´re a developer, architect, tester, or manager, this book will help you move from idea to release faster than ever - so you can deliver far more value, far more rapidly. Product Description Winner of the 2011 Jolt Excellence Award! Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours- sometimes even minutes-no matter what the size of a project or the complexity of its code base. Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the ´´deployment pipeline,´´ an automated process for managing all changes, from check-in to release. Finally, they discuss the ´´ecosystem´´ needed to support continuous delivery, from infrastructure, data and configuration management to governance. The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization. For each, they review key issues, identify best practices, and demonstrate how to mitigate risks. Coverage includes . Automating all facets of building, integrating, testing, and deploying software . Implementing deployment pipelines at team and organizational levels . Improving collaboration between developers, testers, and operations . Developing features incrementally on large and distributed teams . Implementing an effective configuration management strategy . Automating acceptance testing, from analysis to implementation . Testing capacity and other non-functional requirements . Implementing continuous deployment and zero-downtime releases . Managing infrastructure, data, components and dependencies . Navigating risk management, compliance, and auditing Whether you´re a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than ever-so you can deliver value to your business rapidly and reliably. Backcover Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours-
Illustrates how to transform integration from a necessary evil into just another part of the development process. This book examines the concept of continuous integration (CI) and its practices, and then explores other effective processes performed by CI systems, such as database integration, testing, inspection, deployment, and feedback.
Follow this step-by-step guide for creating a continuous delivery pipeline using all of the new features in Jenkins 2.0 such as Pipeline as a Code, multi-branch pipeline, and more. You will learn three crucial elements for achieving a faster software delivery pipeline: a fungible build/test environment, manageable and reproducible pipelines, and a scalable build/test infrastructure. Pro Continuous Delivery demonstrates how to create a highly available, active/passive Jenkins server using some niche technologies. What You´ll Learn Create a highly available, active/passive Jenkins server using CoreOS and Docker, and using Pacemaker and Corosync Use a Jenkins multi-branch pipeline to automatically perform continuous integration whenever there is a new branch in your source control system Describe your continuous delivery pipeline with Jenkinsfile Host Jenkins server on a cloud solution Run Jenkins inside a container using Docker Discover how the distributed nature of Git and the ´´merge before build´´ feature of Jenkins can be used to implement gated check-in Implement a scalable build farm using Docker and Kubernetes Who This Book Is For You have experience implementing continuous integration and continuous delivery using Jenkins freestyle Jobs and wish to use the new Pipeline as a Code feature introduced in Jenkins 2.0 Your source code is on a Git-like version control system (Git, GitHub, GitLab, etc.) and you wish to leverage the advantages of a multi-branch pipeline in Jenkins Your infrastructure is on a Unix-like platform and you wish to create a scalable, distributed build/test farm using Docker or Kubernetes You are in need of a highly available system for your Jenkins Server using open source tools and technologies
Are you a non-coder looking for insight into DevOps, Microservices Architecture and Kubernetes? As the industry is moving towards maximum digitization there is a consensus that DevOps practices help you deliver software faster, more reliable, and with fewer errors. You may be a consultant, Advisor, Project Manager or a novice into IT industry; after going through this guide you would be able to appreciate DevOps, Microservices and other related concepts like Kanban,Scrum, Agile, SOA, Monolith Architecture, DevOps, Docker, Kubernetes etc. You would also get to know about the leaders in DevOps and Microservices adoption and impact it had on the overall agility and hyper-growth of the adopters. This book covers the complete lifecycle for your understanding like Integrating, Testing, Deploying DevOps and Microservices architecture and the Security concerns while deploying it. I am confident that after going through the book you would be able to navigate the discussion with any stakeholder and take your agenda ahead as per your role. Additionally, if you are new to the industry, and looking for an application development job, this book will help you to prepare with all the relevant information and understanding of the topic. ** I am also providing additional booklet containing all the relevant news, trends, and resources for DevOps and Microservices Architecture.
Learn a use-case approach for developing Java enterprise applications in a continuously test-driven fashion. With this hands-on guide, authors and JBoss project leaders Andrew Lee Rubinger and Aslak Knutsen show you how to build high-level components, from persistent storage to the user interface, using the Arquillian testing platform and several other JBoss projects and tools. Through the course of the book, you?ll build a production-ready software conference tracker called GeekSeek, using source code from GitHub. Rubinger and Knutsen demonstrate why testing is the very foundation of development?essential for ensuring that code is consumable, complete, and correct. * Bootstrap an elementary Java EE project from start to finish before diving into the full-example application, GeekSeek * Use both relational and NoSQL storage models to build and test GeekSeek?s data persistence layers * Tackle testable business logic development and asynchronous messaging with an SMTP service * Expose enterprise services as a RESTful interface, using Java EE?s JAX-RS framework * Implement OAuth authentication with JBoss?s PicketLink identity management service * Validate the UI by automating interaction in the browser and reading the rendered page * Perform full-scale integration testing on the final deployable archive
The Continuous Delivery and SRE movements are here to stay and grow, its time you to ride the wave! This book goes in detail about DevOps Culture, Microservices Architecture, How to automate deployment using Kubernetes and How Google´s SRE and DevOps philosophies overlap. Overall it is a complete package for any application development stakeholder. This book can be used by a beginner, Technology Consultant, Business Consultant and Project Manager and any member of the project team trying to figure out SRE & CD. The structure of the book is such that it answers the most asked questions about DevOps, Microservices, Kubernetes and SRE. It also covers the best and the latest case studies with benefits. Therefore, it is expected that after going through this book, you can discuss the topic with any stakeholder and take your agenda ahead as per your role. Here is your chance to dive into the CD & SRE role and know what it takes to be and implement best practices. The Continuous Delivery and SRE movements are here to stay and grow, its time you to ride the wave! So, don´t wait and take action!
This book tells you everything you need to know to help your organization implement DevOps on the Microsoft platform. You will learn how to use Visual Studio, Visual Studio Team Services, and Azure to implement a complete DevOps process in your company. You will learn about Agile Project Management, Continuous Integration, Continuous Delivery, Technical Debt Management, Automatic Testing and Monitoring, and see how all these areas fit together. DevOps is important for organizations that want to make the best use of their resources and avoid costly mistakes. Teams that embrace DevOps deploy code up to 30 times more frequently than their competition and less than 50% of their deployments fail according to Puppet Labs State of DevOps survey. DevOps on the Microsoft Stack shows you how to help your organization implement DevOps, covering the tooling they will need and how to make everything work together while following best practices. The focus is not only on technology but also on the cultural issues that teams will face when implementing DevOps. The author´s goal is to not only show you which tooling there is but help you to successfully use everything together to implement DevOps in your projects and organization. In this book, you´ll learn: What DevOps is and how it can help development teams How to use Visual Studio, Visual Studio Team Services, and Azure to setup a DevOps process How to introduce DevOps to your organization and how to overcome problems
In the second edition of this award winning book, leading advocates Jeff Gothelf and Josh Seiden expand on the valuable Lean UX principles, tactics, and techniques covered in the first edition to share how product teams can easily incorporate design, experimentation, iteration, and continuous learning from real users into their Agile process.