|DevOps For The Desperate|
Author: Bradley Smith
Subtitled 'A hands-on survival guide, this book aims to provide software engineers and developers with the basics necessary to thrive in a modern application stack.
The aim is that by the end of the book readers will know how to implement Infrastructure as code (IaC) and configuration management (CM), along with being familiar with containerization, continuous integration and delivery (CI/CD) pipelines, and the rest of the DevOps alphabet soup.
The book is split into three parts, starting with a look at infrastructure as code, configuration management, security and administration. This part starts with chapters on setting up a virtual machine, and using Ansible to manage passwords, users and groups. Bradley Smith then moves on to using Ansible to configure SSH and controlling user commands with sudo, and this part of the book ends with a chapter on automating and testing a host-based firewall. Throughout the book the descriptions are interspersed with the commands you actually need to use, and examples of the output you'll get back.
Part Two of the book covers 'containerization' and deploying modern applications. The first chapter looks at how to containerize an application with Docker, starting with what Docker is and why it's useful, and going on to how to install and configure it. The process of putting an application into Docker is the heart of the chapter, followed by a look at other Docker client commands, and ending with how to test the container.
Kubernetes gets its turn next, with a high-level overview followed by a good in-depth look at Kubernetes Workload Resources - pods, replica sets, stateful sets and so on. There's a detailed look at deploying the sample application you created in the Docker chapter, with instructions for how to review the Kubernetes manifests then creating a deployment and services. The chapter ends with a look at testing the deployment and services.
This part of the book ends with a chapter on deploying code that looks at the role of CI/CD in modern application stacks, and how to set up and manage your own pipeline.
Part Three of the book covers observability and troubleshooting. The chapter on observability looks at the monitoring options using the monitoring of the sample application to show how it works. The chapter then moves on to metrics and includes a short primer on PromQL, the query language built into Prometheus that can be used to query metric data.
The book ends with a good chapter on troubleshooting where Smith considers various problem scenarios - high memory usage, hostname resolution failure, connection refused and so on.
This is a very useful book. It looks at the most common elements of DevOps and how to make practical use of them. It can't take a novice and turn out a senior DevOps engineer, but it would give any competent developer a good grasp of how to use the tools commonly found in DevOps. Recommended.
|Last Updated ( Tuesday, 17 January 2023 )|