Learning DevOps
eBook - ePub

Learning DevOps

  1. 560 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Learning DevOps

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

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere β€” even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Learning DevOps by Mikael Krief in PDF and/or ePUB format, as well as other popular books in Computer Science & Information Technology. We have over one million books available in our catalogue for you to explore.

Information

Section 1: DevOps and Infrastructure as Code

The objectives of part one are to present the DevOps culture and to provide all the keys for the best infrastructure as code practices. This part explains the application of DevOps to cloud infrastructure, showing provisioning using Terraform and configuration with Ansible. Then, we improve on this by templating this infrastructure with Packer.
This section comprises the following chapters:
  • 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

DevOps, a term that we hear more and more in enterprises with phrases such as We do DevOps or We use DevOps tools, is the contraction of the words "Development" and "Operations."
DevOps is a culture that's different from traditional corporate cultures and requires a change in mindset, processes, and tools. It is often associated with continuous integration (CI) and continuous delivery (CD) practices, which are software engineering practices, but also with Infrastructure as Code (IaC), which consists of codifying the structure and configuration of infrastructure.
In this chapter, we will see what DevOps culture is, what DevOps principles are, and the benefits they bring to a company. Then, we will explain CI/CD practices and, finally, we will detail IaC with its patterns and practices.
In this chapter, we will cover the following topics:
  • Getting started with DevOps
  • Implementing CI/CD and continuous deployment
  • Understanding IaC practices
Check out the following video to view the Code in Action: https://bit.ly/3JJAMAb

Getting started with DevOps

The term DevOps was introduced in 2007-2009 by Patrick Debois, Gene Kim, and John Willis, and it represents the combination of Development (Dev) and Operations (Ops). It has given rise to a movement that advocates bringing developers and operations together within teams. This delivers added business value to users more quickly, which makes it more competitive in the market.
DevOps culture is a set of practices that reduce the barriers between developers, who want to innovate and deliver faster, and operations, who want to guarantee the stability of production systems and the quality of the system changes they make.
DevOps culture is also the extension of agile processes (Scrum, XP, and so on), which makes it possible to reduce delivery times and already involves developers and business teams. However, they are often hindered because of the non-inclusion of Ops in the same teams.
The communication and this link between Dev and Ops allows a better follow-up of end-to-end production deployments and more frequent deployments that are of higher quality, saving money for the company.
To facilitate this collaboration and to improve communication between Dev and Ops, there are several key elements in the processes that must be put in place, as shown here:
  • 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 DevOps movement is based on three axes:
  • 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:
A. Planning and prioritizing functionalities
B. Development
C. Continuous integration and delivery
D. Continuous deployment
E. Continuous monitoring
These phases are carried out cyclically and iteratively throughout the life of the project.
  • 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.
With teams that bring development and operations together, and with this culture of unity, the tools that are used must be usable and exploitable by all members.
Developers need to integrate with the monitoring tools that are used by Ops teams to detect performance problems as early as possible, and with security tools provided by Ops to protect access to various resources.
Ops, on the other hand, must automate the process of creating and updating the infrastructure and integrate the code into a code manager. This is called IaC, but this can only be done in collaboration with developers who know the infrastructure that's needed for applications. Ops must also be integrated into application release processes and tools.
The following diagram illustrates the three axes of DevOps culture – the collaboration between Dev and Ops, the processes, and the use of tools:
Figure 1.1 – The DevOps culture union
Figure 1.1 – The DevOps culture union
So, we can go back to DevOps culture with Donovan Brown's definition (http://donovanbrown.com/post/what-is-devops):
"DevOps is the union of people, processes, and products to enable continuous delivery of value to our end users."
The ...

Table of contents

  1. Learning DevOps Second Edition
  2. Contributors
  3. Preface
  4. Section 1: DevOps and Infrastructure as Code
  5. Chapter 1: The DevOps Culture and Infrastructure as Code Practices
  6. Chapter 2: Provisioning Cloud Infrastructure with Terraform
  7. Chapter 3: Using Ansible for Configuring IaaS Infrastructure
  8. Chapter 4: Optimizing Infrastructure Deployment with Packer
  9. Chapter 5: Authoring the Development Environment with Vagrant
  10. Section 2: DevOps CI/CD Pipeline
  11. Chapter 6: Managing Your Source Code with Git
  12. Chapter 7: Continuous Integration and Continuous Delivery
  13. Chapter 8: Deploying Infrastructure as Code with CI/CD Pipelines
  14. Section 3: Containerized Microservices with Docker and Kubernetes
  15. Chapter 9: Containerizing Your Application with Docker
  16. Chapter 10: Managing Containers Effectively with Kubernetes
  17. Section 4: Testing Your Application
  18. Chapter 11: Testing APIs with Postman
  19. Chapter 12: Static Code Analysis with SonarQube
  20. Chapter 13: Security and Performance Tests
  21. Section 5: Taking DevOps Further/More on DevOps
  22. Chapter 14: Security in the DevOps Process with DevSecOps
  23. Chapter 15: Reducing Deployment Downtime
  24. Chapter 16: DevOps for Open Source Projects
  25. Chapter 17: DevOps Best Practices
  26. Assessments
  27. Other Books You May Enjoy