Infrastructure as Code, Patterns and Practices

Author: Rosemary Wang
Publisher: Manning
Date: August 2022
Pages: 400
ISBN: 978-1617298295
Print: 1617298298
Kindle: B0B7SQQ8KQ
Audience: General
Rating: 3
Reviewer: Ian Elliot

All hardware should be software.

I like the idea of using software to both specify and manage hardware - it's a key reason the cloud is so attractive. At first you start off by running up individual servers, configuring them, installing software and then managing them ad-hoc. When things eventually get more involved you realize that you need a more systematic approach to creating resources and this is where infrastructure as code comes into play. You basically automate everything you can by writing scripts to, say, create servers, setup local networks, map IP addresses and manage DNS etc...

Banner

This all sounds great and it is the subject of this book but it has one huge drawback for many potential readers - it uses the Google Cloud and Terraform. Given that this is a fairly minority choice it limits its audience. Claims that things are very similar with AWS and Azure and the attempts to make things general really don't help, Personally, as an AWS and Azure user I found this a big negative for the book and I don't think I'm in the minority here. Whatever you decide about the practical usefulness of this book it is important that you know that it might not apply to the cloud you are working with.

Apart from this limtiation what of the actual content?

If you are using the same technology it is not bad but it is fairly esoteric in places and you might really wish for it to be more practically-oriented.

Part 1 is an introduction to infrastructure as code and it takes a very general 1000ft overview. There is a section that introduces concepts from general programming and object-oriented patterns - reproducibility, idempotency, composability, evolvability and so on. Meeting Gang of Four patterns - singleton, composite, factory, prototype, builder, inversion of control and so on - seemed a little out of place to me. It's all a bit abstract and slightly management-oriented. This said, I can see this sort of background might be useful in organizing things.

Part 2 is titled "Scaling With Your Team" - even more management-oriented. Here we cover familiar topics such as repository structure, versioning, testing, unit tests and continuous delivery. This is just general software development principles applied to the task. If this is what you are looking for then you found it.

Part 3 is titled Managing Production Complexity - again more general principles and management - refactoring, deployment, state management and so on. The penultimate chapter outlines cost control and optimization and the final one looks at how to manage and update IaC tools

Overall this is a book that takes general software principles and apllies them to infrastructure  code. This would be more acceptable if the examples were more generally useful and covered AWS and Azure as well as Google cloud. It isn't really a how to do it guide except in the most general "management" sense. You will still have to get down and dirty with the code mostly on your own. 

To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.

Banner


Professional C++, 6th Ed (Wiley)

Author: Marc Gregoire
Publisher: Wiley
Date: February 2024
Pages: 1376
ISBN:978-1394193172
Print:1394193173
Kindle:B0CRXK5191
Audience: C++ developers
Rating: 4
Reviewer: Mike James
Can a book on C++ get any bigger and does it need to?



Essential C# 12 (Pearson)

Author: Mark Michaelis
Publisher: Addison-Wesley
Date: December 3, 2023
Pages: 1232
ISBN: 978-0138219512
Print: 0138219516
Kindle: B0CLKY8GNV
Audience: C# developers
Rating: 5
Reviewer: Mike James
The latest edition of a highly recommended book that combines reference and tutorial material.


More Reviews

 

Last Updated ( Tuesday, 29 August 2023 )