KrHubert
KrHubert

Reputation: 1030

Terraform vs gcloud deployment-manager

I'm facing a choice terraform of gcloud deployment manager.

Both tools provide similar functionality and unfortunately lacks all resources.

For example:

Questions:

Upvotes: 12

Views: 4777

Answers (3)

ttfreeman
ttfreeman

Reputation: 5533

enter image description here

Deployment Manager is a declarative deployment orchestration tool specifically for Google Cloud Platform. So, if you're all in on Google, or just want to automate your processes on our infrastructure, you can certainly do so with Deployment Manager. Deployment Manager also allows you to integrate with other GCP services such as Identity Access Management. Cross platform alternatives such as Puppet, Chef, and Terraform work across multiple cloud providers. They aren't hosted, and you're ending up setting up your own infrastructure to support those. Cloud Formation from AWS is only structured to work within AWS infrastructure, and it integrates well with AWS services.

Upvotes: 1

hawksight
hawksight

Reputation: 81

I personally found deployment manager harder to get started with for what I wanted to do. Although I had previous experience with terraform, therefore I may be biased. Terraform for me was easier.

Thats said though, the gcloud command line tool is extremely good and as Anton has said, you can feed that in when you need it via external. Also note, this is what terraform does and has been doing for a long time. They are also quite good in my experience of adding new features etc. Yes Gcloud Deployment Manager might have them first, as its google in house, but terraform would never be far behind.

In the long run terraform may be easier to integrate with other services, and there's always the options of going to other providers. On top of that, you have one configuration format to use. As this is what terraform does, I find the way you structure and work with it very logical and easily understood. Something thats valuable if your going to be sharing and working with other team members.

Upvotes: 1

Anton Babenko
Anton Babenko

Reputation: 6644

Someone may say this is not a question you should ask on stackoverflow, but I will answer anyway.

It is possible to combine multiple tools. The primary tool you should run is Terraform. Use Terraform to manage all resources it supports natively, and use external provider to invoke gcloud (or anything else). While it will be not very elegant sometimes it will make the work.

Practically I do same approach to invoke aws-cli in external.

Upvotes: 6

Related Questions