Learning DevOps
Mikael Krief
- 560 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Learning DevOps
Mikael Krief
About This Book
Implement modern DevOps techniques to increase business productivity, agility, reliability, security, and scalabilityKey Features⢠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)Book DescriptionIn 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 projectsWho this book is forIf 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.
Frequently asked questions
Information
Section 1: DevOps and Infrastructure as Code
- Chapter 1, The DevOps Culture and Infrastructure as Code Practices
- Chapter 2, Provisioning Cloud Infrastructure with Terraform
- Chapter 3, Using Ansible to Configure IaaS Infrastructure
- Chapter 4, Optimizing Infrastructure Deployment with Packer
- Chapter 5, Authoring the Development Environment with Vagrant
Chapter 1: The DevOps Culture and Infrastructure as Code Practices
- Getting started with DevOps
- Implementing CI/CD and continuous deployment
- Understanding IaC practices
Getting started with DevOps
- More frequent application deployments with integration and continuous delivery (called CI/CD).
- The implementation and automation of unitary and integration tests, with a process focused on behavior-driven design (BDD) or test-driven design (TDD).
- The implementation of a means of collecting feedback from users.
- Monitoring applications and infrastructure.
- The culture of collaboration: This is the very essence of DevOps â the fact that teams are no longer separated by silos specialization (one team of developers, one team of Ops, one team of testers, and so on). However, these people are brought together by making multidisciplinary teams that have the same objective: to deliver added value to the product as quickly as possible.
- Processes: To expect rapid deployment, these teams must follow development processes from agile methodologies with iterative phases that allow for better functionality, quality, and rapid feedback. These processes should not only be integrated into the development workflow with continuous integration, but also into the deployment workflow with continuous delivery and deployment. The DevOps process is divided into several phases:
- Tools: The choice of tools and products used by teams is very important in DevOps. Indeed, when teams were separated into Dev and Ops, each team used their specific tools â deployment tools for developers and infrastructure tools for Ops â which further widened communication gaps.