Book description
Simplify your DevOps roles with DevOps tools and techniques
Key Features
- Learn to utilize business resources effectively to increase productivity and collaboration
- Leverage the ultimate open source DevOps tools to achieve continuous integration and continuous delivery (CI/CD)
- Ensure faster time-to-market by reducing overall lead time and deployment downtime
Book Description
The implementation of DevOps processes requires the efficient use of various tools, and the choice of these tools is crucial for the sustainability of projects and collaboration between development (Dev) and operations (Ops). This book presents the different patterns and tools that you can use to provision and configure an infrastructure in the cloud. You'll begin by understanding DevOps culture, the application of DevOps in cloud infrastructure, provisioning with Terraform, configuration with Ansible, and image building with Packer. You'll then be taken through source code versioning with Git and the construction of a DevOps CI/CD pipeline using Jenkins, GitLab CI, and Azure Pipelines. This DevOps handbook will also guide you in containerizing and deploying your applications with Docker and Kubernetes. You'll learn how to reduce deployment downtime with blue-green deployment and the feature flags technique, and study DevOps practices for open source projects. Finally, you'll grasp some best practices for reducing the overall application lead time to ensure faster time to market.
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
- Become well versed with DevOps culture and its practices
- Use Terraform and Packer for cloud infrastructure provisioning
- Implement Ansible for infrastructure configuration
- Use basic Git commands and understand the Git flow process
- Build a DevOps pipeline with Jenkins, Azure Pipelines, and GitLab CI
- Containerize your applications with Docker and Kubernetes
- Check application quality with SonarQube and Postman
- Protect DevOps processes and applications using DevSecOps tools
Who this book is for
If you are a developer or a system administrator interested in understanding continuous integration, continuous delivery, and containerization with DevOps tools and techniques, this book is for you.
Table of contents
- Title Page
- Copyright and Credits
- Dedication
- Foreword
- About Packt
- Contributors
- Preface
- Section 1: DevOps and Infrastructure as Code
- DevOps Culture and Practices
- Provisioning Cloud Infrastructure with Terraform
- Using Ansible for Configuring IaaS Infrastructure
- Optimizing Infrastructure Deployment with Packer
- Section 2: DevOps CI/CD Pipeline
- Managing Your Source Code with Git
- Continuous Integration and Continuous Delivery
- Section 3: Containerized Applications with Docker and Kubernetes
- Containerizing Your Application with Docker
- Managing Containers Effectively with Kubernetes
- Section 4: Testing Your Application
-
Testing APIs with Postman
- Technical requirements
- Creating a Postman collection with requests
- Using environments and variables to dynamize requests
- Writing Postman tests
- Executing Postman request tests locally
- Understanding the Newman concept
- Preparing Postman collections for Newman
- Running the Newman command line
- Integration of Newman in the CI/CD pipeline process
- Summary
- Questions
- Further reading
- Static Code Analysis with SonarQube
- Security and Performance Tests
- Section 5: Taking DevOps Further
- Security in the DevOps Process with DevSecOps
-
Reducing Deployment Downtime
- Technical requirements
- Reducing deployment downtime with Terraform
- Understanding blue-green deployment concepts and patterns
- Applying blue-green deployments on Azure
- Introducing feature flags
- Using an open source framework for feature flags
- Using the LaunchDarkly solution
- Summary
- Questions
- Further reading
-
DevOps for Open Source Projects
- Technical requirements
- Storing the source code in GitHub
- Contributing using pull requests
- Managing the changelog and release notes
- Sharing binaries in GitHub releases
- Using Travis CI for continuous integration
- Getting started with GitHub Actions
- Analyzing code with SonarCloud
- Detecting security vulnerabilities with WhiteSource Bolt
- Summary
- Questions
- Further reading
- DevOps Best Practices
-
Assessments
- Chapter 1: DevOps Culture and Practices
- Chapter 2: Provisioning Cloud Infrastructure with Terraform
- Chapter 3: Using Ansible for Configuring IaaS Infrastructure
- Chapter 4: Optimizing Infrastructure Deployment with Packer
- Chapter 5: Managing Your Source Code with Git
- Chapter 6: Continuous Integration and Continuous Delivery
- Chapter 7: Containerizing Your Application with Docker
- Chapter 8: Managing Containers Effectively with Kubernetes
- Chapter 9: Testing APIs with Postman
- Chapter 10: Static Code Analysis with SonarQube
- Chapter 11: Security and Performance Tests
- Chapter 12: Security in the DevOps Process with DevSecOps
- Chapter 13: Reducing Deployment Downtime
- Chapter 14: DevOps for Open Source Projects
- Chapter 15: DevOps Best Practices
- Other Books You May Enjoy
Product information
- Title: Learning DevOps
- Author(s):
- Release date: October 2019
- Publisher(s): Packt Publishing
- ISBN: 9781838642730
You might also like
book
Learning DevOps - Second Edition
Implement modern DevOps techniques to increase business productivity, agility, reliability, security, and scalability Key Features Learn …
book
Azure DevOps Explained
Implement real-world DevOps and cloud deployment scenarios using Azure Repos, Azure Pipelines, and other Azure DevOps …
book
Mastering GitLab 12
An expert guide to helping you use DevOps techniques with the latest GitLab version to optimize …
video
Hands-On Auto DevOps with GitLab CI
Developing modern software requires an automated pipeline that builds, tests, and deploys your application, complete with …