Notes/Feedback: Overall I am not sure how I feel about this book. The book itself is not bad, it just didn't apply to my situation. I was hoping for some more advanced concepts and practices. Even though it is technical(ish) you can still read it end to end. The main purpose of the book is to sell the point of automating infrastructure instantiation and configuration. Kief does a good job at illustration how to do this in the cloud, in a hybrid setup, on prem, and even dealing with some bare metal scenarios. Kief tries to be platform and tool agnostic, but most of his examples are with AWS, AMI, Chef, and Terradata for configuration scripting.
If you are a software engineer already working in a mature agile organization none of the principles he touts in the book will be new to you. Kief draws parallels from every aspect of software engineering to treating infrastructure as code. TDD, using clean code practices, VCS, breaking out your code in small chunks, CI, Continuous Delivery, Continuous Deployment, monitoring, unit testing, component testing, integration testing, etc. All principles discussed and how to apply them to infrastructure.
One main takeaway from me is the concept of immutable servers. Basically, the idea that no server should be updated. Instead a new template is created with the latest updates and the server that is now outdated is destroyed and a new one stood up in it's place. This process should be run continuously (daily, hour, etc) in order to assure that no manual configuration changes are running anywhere in your environment.
One area I felt could have been expanded was unit testing the configuration files. He mentions the concept of unit testing the files, he even clarifies not to just assert the expected value of the configuration entries but I didn't get a clear sense as to what a proper unit test looks like in this case.
Keep in mind that this book was written in 2016 so some of these tools and concepts are more prevalent than he describes. And in some cases they are outdated.
Full disclosure: I bought this version of the book by accident :(. Kief has another version of this book just released on January 2021 that I was intending on reading and ended up buying this one by mistake.
Recommendation: I would still recommend this book for anyone just starting their journey into the cloud or into automating their infrastructure. It would probably be a better bet to get the 2021 version.
Read: March 16, 2021
Notes/Feedback:
Overall I am not sure how I feel about this book. The book itself is not bad, it just didn't apply to my situation. I was hoping for some more advanced concepts and practices. Even though it is technical(ish) you can still read it end to end. The main purpose of the book is to sell the point of automating infrastructure instantiation and configuration. Kief does a good job at illustration how to do this in the cloud, in a hybrid setup, on prem, and even dealing with some bare metal scenarios. Kief tries to be platform and tool agnostic, but most of his examples are with AWS, AMI, Chef, and Terradata for configuration scripting.
If you are a software engineer already working in a mature agile organization none of the principles he touts in the book will be new to you. Kief draws parallels from every aspect of software engineering to treating infrastructure as code. TDD, using clean code practices, VCS, breaking out your code in small chunks, CI, Continuous Delivery, Continuous Deployment, monitoring, unit testing, component testing, integration testing, etc. All principles discussed and how to apply them to infrastructure.
One main takeaway from me is the concept of immutable servers. Basically, the idea that no server should be updated. Instead a new template is created with the latest updates and the server that is now outdated is destroyed and a new one stood up in it's place. This process should be run continuously (daily, hour, etc) in order to assure that no manual configuration changes are running anywhere in your environment.
One area I felt could have been expanded was unit testing the configuration files. He mentions the concept of unit testing the files, he even clarifies not to just assert the expected value of the configuration entries but I didn't get a clear sense as to what a proper unit test looks like in this case.
Keep in mind that this book was written in 2016 so some of these tools and concepts are more prevalent than he describes. And in some cases they are outdated.
Full disclosure: I bought this version of the book by accident :(. Kief has another version of this book just released on January 2021 that I was intending on reading and ended up buying this one by mistake.
Recommendation:
I would still recommend this book for anyone just starting their journey into the cloud or into automating their infrastructure. It would probably be a better bet to get the 2021 version.
I am a fan of ThoughtWorks and most of their authors such Kief Morris, Barry O'Reilly and Jez Humble