• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Question on "Terraform In Action" book

 
Ranch Hand
Posts: 127
2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,

Thanks Scott for writing the book on "Terraform". Much needed.

Can it be good start for a beginner like me? What level we can expect to become after reading this book (say Beginner, Intermediate, Advanced)?

Thanks,
Raghu
 
Ranch Hand
Posts: 70
2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Scott,

I look forward to reading your book "Terraform in Action". I've seen a lot of talk about "Refactoring" lately. (Refactoring Code, Refactoring UX, Refactoring UI, etc.) "Refactoring" seems to be a trending topic. Do you touch upon "Refactoring" in your book? And, how important is this in Cloud based infrastructure? Thanks.  
 
Ranch Hand
Posts: 92
Mac Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm curious how well your book covers the differences between the clouds - and if there is a focus in particular on some of the clouds.  
 
Author
Posts: 15
5
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Some of the initial reviewers of the book were complete novices as well, never having even heard of Terraform. And they were able to make it through the book with no difficulty. So I do not see any barriers for you. That being said, the book is comprised of 12 chapters divided into three sections. The first four chapters aim to get the user from zero to intermediate level with Terraform. Many people stop reading the book after the first four chapters because they already have learned everything they need to know. Because it is only four chapters, it is rather fast paced, but all the material you need to know is there. Sometimes people like to supplement their learning of the first four chapters by reading through HashiCorp Learn material. The subsequent four chapters explore specific use cases of Terraform in the different cloud providers (AWS, GCP and Azure), wrapping up with an interesting multi-cloud deployment. Each use case was picked to teach a particular aspect of Terraform. The last four chapters can be read in any order, but discuss advanced use cases of Terraform, such as creating a custom Terraform provider, using Terraform in automation, testing + refactoring, and Terraform security. Not everything here is useful to everyone, but the material is there for the people who want to read it. I would say if you read the entire book you would certainly be considered an advanced Terraform user.

The world of Terraform has changed a lot even since I wrote the book. But I feel it is still the best resource available for someone wishing to improve their skills with Terraform. The HashiCorp documentation is great, but scattered. Other books and video courses don't go into enough depth. The reason this book is valuable is because it is highly opinionated and providers the reader a distinct learning path to becoming an advanced Terraform user.

I hope this answers your question.

Regards,
Scott
 
David Sachdev
Ranch Hand
Posts: 92
Mac Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Scott Winkler wrote:

The world of Terraform has changed a lot even since I wrote the book. But I feel it is still the best resource available for someone wishing to improve their skills with Terraform. The HashiCorp documentation is great, but scattered. Other books and video courses don't go into enough depth. The reason this book is valuable is because it is highly opinionated and providers the reader a distinct learning path to becoming an advanced Terraform user.

I hope this answers your question.

Regards,
Scott



I see that the book is from May 2021, but of course the editing phase takes its time - how up to date would you say the book is?  Is there a particular version you would say that the book covers up to?

Also, as far as integration with other infrastructure as Code tools (Chef, Ansible, etc) do you cover that in the book - and talk about what aspects of the CI/CD pipeline you would "relinquish" to what tools?

Thanks
David Sachdev
 
Scott Winkler
Author
Posts: 15
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

I see that the book is from May 2021, but of course the editing phase takes its time - how up to date would you say the book is?  Is there a particular version you would say that the book covers up to?



The book was up to date with the most recent release I had available to me, which was 0.15. I started writing the book in March of 2019. So it took a little more than 2 years. When I started, we were still on Terraform 0.11, although 0.12 did have an alpha release you could test. A lot of great features were introduced in Terraform 0.12 and 0.13, which I had to rewrite a few chapters to accommodate. 0.14 and 0.15 were not as big of changes by comparison. Even 1.0.0 didn't have any big changes. Writing the book was like trying to hit a moving target since HashiCorp and the cloud providers were making sweeping changes during this time. At some point i have to just set in stone what it is that i am writing about and move on.

When I say I would redo a chapter I mean the topics I chose to convey particular Terraform concepts, not the Terraform knowledge itself. For example, I chose Nomad instead of Kubernetes for containerized deployments in chapter 8 and I wouldn't do that again if i was going to come up with a version 2 (although chapter 7 does use a severless type of Kubernetes). And I would redo chapter 12 to use GitHub Actions instead of AWS CodePipeline. GitHub Actions wasn't even a think when I started writing the book, and it wasn't clear how popular it would be. But these are really minor points in the grand scheme of things.

In terms of Terraform, I think the book covers is up-to-date and will stay relevant for the foreseeable future.

Also, as far as integration with other infrastructure as Code tools (Chef, Ansible, etc) do you cover that in the book - and talk about what aspects of the CI/CD pipeline you would "relinquish" to what tools?



I cover integration with Ansible. I would relinquish the application deployment of Terraform to other tools. Situations where you have frequent small changes that need to be updated. Except perhaps in the case of small serverless deployments, when it might make sense to bundle the code with your Terraform configuration.
 
David Sachdev
Ranch Hand
Posts: 92
Mac Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you!  That is a lot of insight that you don't often have when you pick up a book - and you wonder why they author made the choices that they did.  It is helpful going in knowing the timeframe and the tech as the time...as our field is always moving....and technology becomes ancient quickly.

Thanks
David Sachdev
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic