
Автор: Yevgeniy Brikman
Издательство: O’Reilly Media, Inc.
Год: 2025
Страниц: 649
Язык: английский
Формат: epub
Размер: 25.6 MB
This book is a guide to DevOps and software delivery: that is, a guide to the numerous tools and techniques that are required to take that application code and run it and maintain it in production, where it can generate value for your users and your company on an ongoing basis. This includes going through all the modern practices for deploying applications and microservices to the cloud, managing your infrastructure as code, automating your software delivery lifecycle in a CI/CD pipeline, configuring networking, setting up data stores, and hooking up monitoring.
Whereas most books and talks on DevOps focus on culture, values, and organizational structure, I’ve found that when most people talk about DevOps, what they are really interested in is the mechanics of effective software delivery. That’s what this book is all about. It’s a hands-on guide that includes dozens of step-by-step examples of how to run production systems. You’ll start with the basics—an app running on a single server—and work your way up to microservices in a Kubernetes cluster with a service mesh, automated deployment pipeline, end-to-end encryption, and more.
You also need to pick a language for defining your pipeline as code. The most common option is to use the workflow definition language that comes with your CI server (e.g., GitHub Actions workflows are defined in YAML). Other options include defining workflows in scripting languages (e.g., Ruby, Python, Bash) or your build system’s language (e.g., npm, Maven, Make). A relatively recent option is to use a tool designed for defining workflows that can run across a variety of platforms, including on your own computer (for easier testing), such as Dagger or Common Workflow Language (full list). In many cases, a deployment pipeline will use multiple languages and tools together.
By the time you’re done with the book, you will have had hands-on practice with all the core concepts and practices of modern DevOps and software delivery, including:
• Deploying VMs (EC2), containers (Kubernetes), and serverless apps (Lambda)
• Managing your infrastructure as code via OpenTofu, Packer, and Ansible
• Automating your builds, tests, and deployments in a CI/CD pipeline
• Configuring networking, including VPCs, VPNs, DNS, and service meshes
• Splitting your codebase into multiple environments, libraries, and microservices
• Managing secrets and encrypting data in transit (TLS) and at rest (AES)
• Storing data in relational databases, NoSQL databases, and file stores
• Setting up monitoring, including metrics, logs, events, and alerts
• And much more!
Who Should Read This Book:
This book is for anyone responsible for deploying and managing apps in production—that is, anyone responsible for software delivery. This includes the following:
Individual contributors in operations roles
Current and aspiring SREs, DevOps engineers, sysadmins, operations engineers, and release engineers who want to level up their knowledge of software delivery.
Individual contributors in dev roles
Software engineers, software developers, web developers, and full stack engineers who want to learn more about the operations side of the house.
Managers
Engineering managers, engineering directors, chief technology officers (CTOs), vice presidents of engineering (VPEs), and chief information officers (CIOs) who want to learn how to adopt DevOps practices in their organizations.
This book does not assume that you’re already an expert coder or expert sysadmin. A basic familiarity with programming, the command line, and server-based software (e.g., websites) should suffice. Everything else you need, you’ll be able to pick up as you go. The only tools you need are a computer, an internet connection, and the desire to learn.
Скачать Fundamentals of Devops and Software Delivery: A Hands-On Guide to Deploying and Managing Software in Production
