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


Wild West To Agile (Addison-Wesley)

Author: Jim Highsmith
Publisher: Addison-Wesley
Pages: 304
ISBN: 978-0137961009
Print: 0137961006
Kindle: B0BXWP88KP
Audience: Adherents of Agile methodology
Rating: 4.5
Reviewer: Alex Denham

The subtitle of this book is Adventures in Software Development Evolution and Revolution and it is personal reminin [ ... ]



Foundational Python For Data Science

Author: Kennedy Behrman
Publisher: Pearson
Pages:256
ISBN: 978-0136624356
Print: 0136624359
Kindle: B095Y6G2QV
Audience: Data scientists
Rating: 4.5
Reviewer: Kay Ewbank

This book sets out to be a simple introduction to Python, specifically how to use it to work with data.


More Reviews

 

Last Updated ( Tuesday, 29 August 2023 )