DevOps Automation Cookbook
Over 120 recipes covering key automation techniques through code management and virtualization offered by modern Infrastructure as a Service About This Book Use some of the powerful tools that have emerged to enable systems administrators and developers to take control and automate the management, monitoring, and creation of complex infrastructures Covers some of the most exciting technologies available to DevOps engineers, and demonstrates multiple techniques for using them A hands-on guide filled with clear examples and multiple methodologies to demonstrate the various DevOps tools available Who This Book Is For If you are a systems administrator or developer who is keen to employ DevOps techniques to help with the day-to-day complications of managing complex infrastructures, then this book is for you. No prior knowledge of DevOps tools is required. What You Will Learn Manage, use, and work with code in the Git version management system Manage the life cycle of hosts, from creation to on-going management, using Puppet Razor Create hosts automatically using a simple combination of TFTP, DHCP, and pre-seeds Implement virtual hosts using the ubiquitous VMware ESXi hypervisor Control configuration using the powerful and popular Ansible configuration management system Develop powerful, consistent, and portable containers using Docker Track trends, discover data, and monitor key systems using InfluxDB, syslog, and Sensu Deal efficiently with powerful cloud infrastructures using the Amazon AWS Infrastructure as a Service and the Heroku Platform as a Service In Detail There has been a recent explosion in tools that allow you to redefine the delivery of infrastructure and applications, using a combination of automation and testing to deliver continuous deployment. DevOps has garnered interest from every quarter, and is rapidly being recognized as a radical shift, as large as the Agile movement for the delivery of software. This book takes a collection of some of the coolest software available today and shows you how to use it to create impressive changes to the way you deliver applications and software. It tackles the plethora of tools that are now available to enable organizations to take advantage of the automation, monitoring, and configuration management techniques that define a DevOps-driven infrastructure. Starting off with the fundamental command-line tools that every DevOps enthusiast must know, this book will guide you through the implementation of the Ansible tool to help you facilitate automation and perform diverse tasks. You will explore how to build hosts automatically with the creation of Apt mirrors and interactive pre-seeds, which are of the utmost importance for Ubuntu automation. You will also delve into the concept of virtualization and creating and manipulating guests with ESXi. Following this, you will venture into the application of Docker; learn how to install, run, network, and restore Docker containers; and also learn how to build containers in Jenkins and deploy apps using a combination of Ansible, Docker, and Jenkins. You will also discover how to filter data with Grafana and the usage of InfluxDB along with unconventional log management. Finally, you will get acquainted with cloud infrastructure, employing the Heroku and Amazon AWS platforms. By tackling real-world issues, this book will guide you through a huge variety of tools, giving new users the ability to get up and running and offering advanced users some interesting recipes that may help with existing issues. Style and approach This book has an easy-to-follow approach to both introducing the wide range of available DevOps tools and working with them. Each recipe is lavishly sprinkled with example code and uses clear instructions to easily allow you to see how you can both implement the solutions, and more importantly, tailor them to your unique needs.