Use Infrastructure as Code (IaC) to automate, test, and streamline infrastructure for business-critical systems.
In Infrastructure as Code, Patterns and Practices you will learn how
Optimize infrastructure for modularity and isolate dependencies Test infrastructure configuration Mitigate, troubleshoot, and isolate failed infrastructure changes Collaborate across teams on infrastructure development Update infrastructure with minimal downtime using blue-green deployments Scale infrastructure systems supporting multiple business units Use patterns for provisioning tools, configuration management, and image building Deliver secure infrastructure configuration to production
Infrastructure as Code, Patterns and Practices teaches you to automate infrastructure by applying changes in a codified manner. You’ll learn how to create, test, and deploy infrastructure components in a way that’s easy to scale and share across an entire organization. The book is full of flexible automation techniques that work whether you’re managing your personal projects or making live network changes across a large enterprise.
A system administrator or infrastructure engineer will learn essential software development practices for managing IaC, while developers will benefit from in-depth coverage of assembling infrastructure as part of DevOps culture. While the patterns and techniques are tool agnostic, you’ll appreciate the easy-to-follow examples in Python and Terraform.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the technology Infrastructure as Code is a set of practices and processes for provisioning and maintaining infrastructure using scripts, configuration, or programming languages. With IaC in place, it’s easy to test components, implement features, and scale with minimal downtime. Best of all, since IaC follows good development practices, you can make system-wide changes with just a few code commits!
About the book Infrastructure as Code, Patterns and Practices teaches flexible techniques for building resilient, scalable infrastructure, including structuring and sharing modules, migrating legacy systems, and more. Learn to build networks, load balancers, and firewalls using Python and Terraform, and confidently update infrastructure while your software is running. You’ll appreciate the expert advice on team collaboration strategies to avoid instability, improve security, and manage costs.
What's inside
Optimize infrastructure for modularity and isolate dependencies Mitigate, troubleshoot, and isolate failed infrastructure changes Update infrastructure with minimal downtime using blue-green deployments Use patterns for provisioning tools, configuration management, and image building
About the reader For infrastructure or software engineers familiar with Python, provisioning tools, and public cloud providers.
About the author Rosemary Wang is an educator, contributor, writer, and speaker. She has worked on many infrastructure as code projects, and open source tools such as Terraform, Vault, and Kubernetes.
Table of Contents
PART 1 FIRST STEPS 1 Introducing infrastructure as code 2 Writing infrastructure as code 3 Patterns for infrastructure modules 4 Patterns for infrastructure dependencies PART 2 SCALING WITH YOUR TEAM 5 Structuring and sharing modules 6 Testing 7 Continuous delivery and branching models 8 Security and compliance PART 3 MANAGING PRODUCTION COMPLEXITY 9 Making changes 10 Refactoring 11 Fixing failures 12 Cost of cloud computing 13 Managing tools
I read this before it was fully published as a physical book and before the final edits so there were a few typos. The content of the book focuses heavily on using Terraform and Google cloud but author made the effort to include examples for AWS and Azure but the Azure examples dropped off in later chapters of the book and it would’ve been nice to see some. Other than that this was a really well written book, I’m new to Infrastructure-as-code and found this really helpful, the author describes the concepts using scenarios and there are plenty of diagrams to illustrate the flow of things, I just with the font size of the steps was bigger, it was hard to read them.
All around a great book for someone starting out or looking to expand their knowledge of infrastructure-as-code.
Infrastructure as a Code is a technology we would all be dealing with in the near future. Knowing how to manage complex infrastructures such as those of the cloud will become a requirement of today's programmers. The book describes how to handle the problem with practical and real examples and it has fully met my expectations.
I am a huge supporter for automation, in any of the IT parts and I am personally focused and specialised on automation of Cloud Infrastructure (Most specifically towards AWS). So i was very eager to read the book, as I am always curious on if I could do anything better or learn something new that will make my work or project better.
The book was very nice and in some ways easy to read. The book is very well written and explains things very deeply. Like there are complete chapters about testing and branching models, where all kinds of test strategies are explained in detail. Also about the various kinds of branching models that exist and what the benefits are for these (of course with lot of information why you should choose this or not). I don't think I have read this in any of the other automation books (yet). And actually to my suprise while reading it (of course later on I was like, yeah I could have expected such a topic) about tracking changes via the appropiate tools when you want to deploy to production. You can not make changes in production when you want to, unless you work with a CI/CD with automatic deploys to production. Mostly you need to have approvals to deploy something on production, which is also nicely described as well.
But, I do have an issue with the Python. I am all for Python, but I think the Python examples to generate the Terraform seems a bit to much and not KISS. I think writing the Terraform code itself is easier to understand and show.
It was a really nice book to read and it made sure to freshen some things that I have done before, I did not actual learn something that I could have used in my day-to-day work. Nevertheless, a decent 7/10.