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...


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.


Bare Metal C

Author: Steve Oualline
Publisher: No Starch Press
Date: August 2022
Pages: 304
ISBN: 978-1718501621
Print: 1718501625
Kindle: B08YJB9BCF
Audience: C programmers
Rating: 3
Reviewer: Harry Fairhead
Bare metal C sounds exciting and very basic. Time to find out how the machine really works.

SQL Server Advanced Troubleshooting and Performance Tuning (O'Reilly)

Author: Dmitri Korotkevitch
Publisher: O'Reilly
Pages: 497
ISBN: 978-1098101923
Kindle: B0B197NYD7
Audience: DBAs & database devs
Rating: 5
Reviewer: Ian Stirk

This book aims to improve the performance of your SQL Servers, how does it fare?

More Reviews


Last Updated ( Tuesday, 29 August 2023 )