Learning DevOps - Second Edition: A comprehensive guide to accelerating DevOps culture adoption with Terraform, Azure DevOps, Kubernetes, and Jenkins
- Learn how to use business resources effectively for improved productivity and collaboration
- Use infrastructure as code practices to build large-scale cloud infrastructure
- Leverage the ultimate open source DevOps tools to achieve continuous integration and continuous delivery (CI/CD)
In the implementation of DevOps processes, the choice of tools is crucial to the sustainability of projects and collaboration between developers and ops. This book presents the different patterns and tools for provisioning and configuring an infrastructure in the cloud, covering mostly open source tools with a large community contribution, such as Terraform, Ansible, and Packer, which are assets for automation.
This DevOps book will show you how to containerize your applications with Docker and Kubernetes and walk you through the construction of DevOps pipelines in Jenkins as well as Azure pipelines before covering the tools and importance of testing. You'll find a complete chapter on DevOps practices and tooling for open source projects before getting to grips with security integration in DevOps using Inspec, Hashicorp Vault, and Azure Secure DevOps kit. You'll also learn about the reduction of downtime with blue-green deployment and feature flags techniques before finally covering common DevOps best practices for all your projects.
By the end of this book, you'll have built a solid foundation in DevOps and developed the skills necessary to enhance a traditional software delivery process using modern software delivery tools and techniques.
What you will learn
- Understand the basics of infrastructure as code patterns and practices
- Get an overview of Git command and Git flow
- Install and write Packer, Terraform, and Ansible code for provisioning and configuring cloud infrastructure based on Azure examples
- Use Vagrant to create a local development environment
- Containerize applications with Docker and Kubernetes
- Apply DevSecOps for testing compliance and securing DevOps infrastructure
- Build DevOps CI/CD pipelines with Jenkins, Azure Pipelines, and GitLab CI
- Explore blue-green deployment and DevOps practices for open sources projects
Who this book is for
If you are an application developer or a system administrator interested in understanding continuous integration, continuous delivery, and containerization with DevOps tools and techniques, this book is for you. Knowledge of DevOps fundamentals and Git principles is required.
Mikael Krief (born in 1980) lives in France and works as a DevOps engineer.He loves to share his passion through various communities such as the HashiCorp User Group. In 2019, he wrote the first edition of this book, and in 2020, he wrote Terraform Cookbook (Packt Publishing), and also contributes to many public projects, writes blogs and books, and speaks at conferences.He is interested in HashiCorp products and specializes in the use of Terraform in several company contexts.For all his contributions and passion, he has received the Microsoft Most Valuable Professional (MVP) award, which Microsoft has awarded him for the last 6 years and he has been nominated and selected as a Hashicorp Ambassador since 2020.
Table of Contents
- The DevOps Culture and Infrastructure as Code Practices
- Provisioning Cloud Infrastructure with Terraform
- Using Ansible for Configuring IaaS Infrastructure
- Optimizing Infrastructure Deployment with Packer
- Authoring the Development Environment with Vagrant
- Managing Your Source Code with Git
- Continuous Integration and Continuous Delivery
- Deploying Infrastructure as Code with CI/CD Pipelines
- Containerizing Your Application with Docker
- Managing Containers Effectively with Kubernetes
- Testing APIs with Postman
- Static Code Analysis with SonarQube
- Security and Performance Tests
- Security in the DevOps Process with DevSecOps
- Reducing Deployment Downtime
- DevOps for Open Source Projects
- DevOps Best Practices