Similarities: supports templating, open source, agentless (plug and play), infrastructure as a code, provisioning infrastructure Terraform: primary use as infrastructure provisioning tool, declarative (define what end result you want), state management, new and evolving Ansible: primary use as configuration tool, hybrid, no lifecycle management We can both as complementary: * Start with Terraform: use Terraform to spin up an infrastructure, once infra is ready, use Terraform to call Ansible to do config management on the resources you spun up. * Start with Ansible: in Step1 of playbook: call Terraform to spin up infra and then pick up where Terraform leaves off, take that infra and run the Ansible actions on that
If that’s the case would you install terraform with Ansible set the authentication up and then create a terraform file with the values templated out from Ansible then run terraform plan and apply agains the file that was created by Ansible ?
Here’s a summary of the key differences and synergies between Terraform and Ansible as explained in the TH-cam video: 1. Purpose and Functionality: • Terraform is primarily used for provisioning infrastructure in a declarative manner, allowing users to define what the infrastructure should look like and then automatically managing the creation process to match that definition. • Ansible excels in configuration management and application deployment. It can also provision infrastructure, but it operates in a more procedural/hybrid manner, where actions are executed in the order they are defined. 2. Operational Method: • Terraform operates declaratively, automatically handling dependencies and order of operations, which means it can execute tasks in an optimized sequence based on resource dependencies. • Ansible is more procedural, where tasks are run in the sequence they are written, though it supports declarative elements. This requires careful planning of task order to ensure operations are performed correctly. 3. State Management and Idempotency: • Terraform tracks the state of the infrastructure and applies changes incrementally to avoid re-provisioning resources that are already in the desired state. This state management also allows Terraform to remove resources when their definitions are deleted from the configuration. • Ansible does not track state in the same way, so lifecycle changes need to be manually managed. While Ansible tasks can be made idempotent, this is not automatic and must be explicitly designed into the playbooks. 4. Community and Extensions: • Both tools boast strong community support and extensive libraries of modules or playbooks that facilitate quick setup and integration with various technologies. Terraform has the Terraform Registry, and Ansible has Ansible Galaxy. 5. Integration and Usage Together: • The two tools are complementary when used together within an automation workflow. Terraform can be used to provision the initial infrastructure, which can then be managed and configured by Ansible, integrating their strengths for a robust automation strategy. This explanation highlights that while Terraform and Ansible have some overlapping capabilities, they each have unique strengths that make them suitable for different aspects of infrastructure automation.
Ansible and Terraform complement each other's deficiencies and can make the impossible installations using automation possible- 100 percent complete...Terraform is the husband and Ansible is the wife - A marriage between IaC and CaC ! One is declarative and other imperative...and they are both cooperative ...and collaborative.. Two Robust tools that can accomplish something to perfection ! They are indivisible ! Terraform builds the house and ansible added hue and color to it
This channel is a pillar of knowledge for people who want to understand infrastructure. It has helped me greatly, thank you for sharing your knowledge.
unnecessary confusion: the other video for Ansible stated that it is clearly declarative ... here Ansible is hybrid while Terraform is declarative Ansible video said A. is good for Provisioning, Config and eventually App deployment ... here Ansible is more for Config and App deployment while Terraform better for Provisioning
Terraform has USERDATA, template_file for setting up and running your app too. So that necessarily fills the void for configuration management which ansible does
0:41 I usually say, "Terraform is idempotent" which sparks the conversation, "What is that?!" That sets the foundation well. "Declarative" tells only part of the picture. Idempotency isn't mentioned until 6:32, and then in an indirect way re. Ansible modules.
Great video as always Sai! I love your style of breaking down seemingly complex topics like this into easily digestible tidbits. IBM / Red Hat is lucky to have you as an architect / engineer.
unnecessary confusion: the same for idempotency: Ansible video states idempotency is one of its basic characteristics, here it is actually Terraform that is idempotent automatically, while with Ansible one has to watch over it to ensure it and not to make multiple actions on the infrastructure ??? !!!
I got my RHCSA and studying for RHCE now. What positions are most related to these two cert except for Linux admin? I'm looking for a Linux admin position but there are not many.. so i was thinking maybe learning more skills and search for other positions as well!
@@VVerVVurm at the 3 minute marked i figured out how he did it haha.. but before that I was thinking, he found his niche and his special value proposition
I've been using Ansible for nearly 2 years... after being a system administrator on Linux since 1995. Ansible is completely capable of provisioning infrastructure. It is also extremely good at idempotency and allowing you NOT to do that when necessary. In my team, Ansible is all we use and need. There is Negative business value in using two such similar tools in a complementary way within one team. Ansible is more than enough. I suspect there are Terraform teams out there who have also succeeded. Both together is a waste.
I come from a soft-dev background. While I know a lot about linux I sure don't know a lot about it's performance & configuration. Recently, I had a case where IOPS was slowing down my TeamCity build agent. Mb you could explain IOPS in a nutshell or bind it to another interesting topic. I wonder how many viewers would like to hear about this topic as well. Upvote if you are interested :J.
@@frkntony Can you elaborate more on your question? IOPS (Input/Output Operations Per Second) is a performance measurement that may be affected by numerous different factors, both hardware and software. Information about how this metric is obtained and/or calculated won't help you improve the performance of any software you're using, IMO. With that in mind, can you provide more background or a "user story" about the information you're interested in?
Alright ... Terraform for provisioning ... and ... Ansible for configuration ... But the real need for both begins only with the need to replicate ... ! ... automatically ... ! ...
"declarative is awesome because on this step we created some DBs..." Doesn't sound convincing enough. I still can't understand what makes you sacrifice all those loops and conditionals if a programming language in favor of very dubious advantages of declarative description AND re-implement loops and conditionals in an especially awkward way, like 'count' in TF. After all, all that 'declarativeness' is just visibility that hides a normal imperative approach. 'Programming' in YAML/HCL/JSON/whatever is much more difficult than using a DSL to write idempotent scripts without sacrificing anything. The Chef approach is superior to that of Ansible and TF, IMHO. As for TF's ability to destroy resources by simply deleting them from a module, it's provided by storing all actions in the state file, not by TF being allegedly declarative, I think. If Ansible or Chef saved their earlier actions, they would be able to roll them back
I think he just wrote on glass, and they just mirrored the video before publishing it. He is wearing a plain black shirt on purpose, so it is hard to notice. It's just my guess, though. EDIT: this setup is called Lightboard, look it up :)
There is zero need for ansible if you already use terraform. I repeat, ZERO. This ridiculous bloath is the reason why companies are slashing workers today. To be fair to ansible, I would regard the approach as that of apple OR android not apple AND android
Just do a PPT, it is terrible for people to see what you want to present because your handwringing on a clear glass is mess, not fancy at all, don’t cut corner just do a professional PPT
Similarities: supports templating, open source, agentless (plug and play), infrastructure as a code, provisioning infrastructure
Terraform: primary use as infrastructure provisioning tool, declarative (define what end result you want), state management, new and evolving
Ansible: primary use as configuration tool, hybrid, no lifecycle management
We can both as complementary:
* Start with Terraform: use Terraform to spin up an infrastructure, once infra is ready, use Terraform to call Ansible to do config management on the resources you spun up.
* Start with Ansible: in Step1 of playbook: call Terraform to spin up infra and then pick up where Terraform leaves off, take that infra and run the Ansible actions on that
you da real MVP
If that’s the case would you install terraform with Ansible set the authentication up and then create a terraform file with the values templated out from Ansible then run terraform plan and apply agains the file that was created by Ansible ?
Here’s a summary of the key differences and synergies between Terraform and Ansible as explained in the TH-cam video:
1. Purpose and Functionality:
• Terraform is primarily used for provisioning infrastructure in a declarative manner, allowing users to define what the infrastructure should look like and then automatically managing the creation process to match that definition.
• Ansible excels in configuration management and application deployment. It can also provision infrastructure, but it operates in a more procedural/hybrid manner, where actions are executed in the order they are defined.
2. Operational Method:
• Terraform operates declaratively, automatically handling dependencies and order of operations, which means it can execute tasks in an optimized sequence based on resource dependencies.
• Ansible is more procedural, where tasks are run in the sequence they are written, though it supports declarative elements. This requires careful planning of task order to ensure operations are performed correctly.
3. State Management and Idempotency:
• Terraform tracks the state of the infrastructure and applies changes incrementally to avoid re-provisioning resources that are already in the desired state. This state management also allows Terraform to remove resources when their definitions are deleted from the configuration.
• Ansible does not track state in the same way, so lifecycle changes need to be manually managed. While Ansible tasks can be made idempotent, this is not automatic and must be explicitly designed into the playbooks.
4. Community and Extensions:
• Both tools boast strong community support and extensive libraries of modules or playbooks that facilitate quick setup and integration with various technologies. Terraform has the Terraform Registry, and Ansible has Ansible Galaxy.
5. Integration and Usage Together:
• The two tools are complementary when used together within an automation workflow. Terraform can be used to provision the initial infrastructure, which can then be managed and configured by Ansible, integrating their strengths for a robust automation strategy.
This explanation highlights that while Terraform and Ansible have some overlapping capabilities, they each have unique strengths that make them suitable for different aspects of infrastructure automation.
Ansible and Terraform complement each other's deficiencies and can make the impossible installations using automation possible- 100 percent complete...Terraform is the husband and Ansible is the wife - A marriage between IaC and CaC ! One is declarative and other imperative...and they are both cooperative ...and collaborative.. Two Robust tools that can accomplish something to perfection ! They are indivisible ! Terraform builds the house and ansible added hue and color to it
This channel is a pillar of knowledge for people who want to understand infrastructure. It has helped me greatly, thank you for sharing your knowledge.
Glad to be of help, James! Thank you for watching! 👍
I love how whenever Sai hosts a Vs. video, he always starts by saying they are complementary tools
Awesome explanation I really appreciate you going over the differences between Terraform and Ansible.
unnecessary confusion:
the other video for Ansible stated that it is clearly declarative ... here Ansible is hybrid while Terraform is declarative
Ansible video said A. is good for Provisioning, Config and eventually App deployment ... here Ansible is more for Config and App deployment while Terraform better for Provisioning
good to know that we could really work together combining Ansible and terraform
Terraform has USERDATA, template_file for setting up and running your app too.
So that necessarily fills the void for configuration management which ansible does
Can we appreciate how he writes from the other side of the pane? :)
The video is mirrored
The magic of video editing 🤣
It never gets old
Great video. I like the last part that How both can work together and can make our task simpler. Great man keep posting such videos.
great info, im just amazed at the mirrored writing
so they mirrored the video, from right to left, so his right arm appears left and the text is readable? am I right
You are right! We shared some backstage "secrets" of our videos on the Community page, check it out here 👉
ibm.co/3pZKqWQ 😉
thanks Sai. Great presentation. You do a great job of explaining these complex topics in an understandable way. Cheers!
This guy is clear and methodical
Very much enjoyed the content and the delivery. Thank you!
0:41 I usually say, "Terraform is idempotent" which sparks the conversation, "What is that?!" That sets the foundation well. "Declarative" tells only part of the picture. Idempotency isn't mentioned until 6:32, and then in an indirect way re. Ansible modules.
I wish to see a complete DevOps course by IBM Cloud engineers/TH-camrs/Tutors.
Edureka has full-length DevOps tutorial. DevOps Journey could be useful for tool-specific explore
There's an IBM Training course called QZC50G (DevOps with Private Cloud...). That's the course code. Google it.
Great video as always Sai! I love your style of breaking down seemingly complex topics like this into easily digestible tidbits. IBM / Red Hat is lucky to have you as an architect / engineer.
Liked it very much. Helps a layman like me to understand the concepts. Keep doing more of it
Great explanation
Great info from the layman term & a newbies started to know about all these..
many thanks for that comparison!
Nice, well explained!!!
Now I understand the difference between Ansible and Terraform 🚀
Nice presentation
Great explanation good job @IBM Technology
Great presentation!
good explanation
unnecessary confusion:
the same for idempotency: Ansible video states idempotency is one of its basic characteristics, here it is actually Terraform that is idempotent automatically, while with Ansible one has to watch over it to ensure it and not to make multiple actions on the infrastructure ??? !!!
I got my RHCSA and studying for RHCE now. What positions are most related to these two cert except for Linux admin? I'm looking for a Linux admin position but there are not many.. so i was thinking maybe learning more skills and search for other positions as well!
Great video. Thank you so much
I am more interested in, what do you use to make a video like that, like writing on screen stuff!
aand he is writing left handed _and_ in perfect mirror writing .. I think he is just flexing on us.. ;)
@@VVerVVurm it's software rendered idiot
@@VVerVVurm at the 3 minute marked i figured out how he did it haha.. but before that I was thinking, he found his niche and his special value proposition
Yet just subscribe, this is powerful stuff.
Brilliant! Thank you Sai.
Excellent Great presentation
Ansible can replace Terraform, not vice versa.
I've been using Ansible for nearly 2 years... after being a system administrator on Linux since 1995. Ansible is completely capable of provisioning infrastructure. It is also extremely good at idempotency and allowing you NOT to do that when necessary.
In my team, Ansible is all we use and need. There is Negative business value in using two such similar tools in a complementary way within one team. Ansible is more than enough.
I suspect there are Terraform teams out there who have also succeeded.
Both together is a waste.
That really helped.
Really nice, but Ansible is item potent OOTB.
Great comparison :)
Hello, IBM cloud team :). Could you share with us your knowledge about IOPS in the future?
I come from a soft-dev background. While I know a lot about linux I sure don't know a lot about it's performance & configuration. Recently, I had a case where IOPS was slowing down my TeamCity build agent. Mb you could explain IOPS in a nutshell or bind it to another interesting topic. I wonder how many viewers would like to hear about this topic as well. Upvote if you are interested :J.
@@frkntony Can you elaborate more on your question? IOPS (Input/Output Operations Per Second) is a performance measurement that may be affected by numerous different factors, both hardware and software. Information about how this metric is obtained and/or calculated won't help you improve the performance of any software you're using, IMO. With that in mind, can you provide more background or a "user story" about the information you're interested in?
Alright ... Terraform for provisioning ... and ... Ansible for configuration ...
But the real need for both begins only with the need to replicate ... ! ... automatically ... ! ...
Thanks
Dude is the Bob Ross of Tech
For the captioner: It's "idempotent", not "item potent".
Thank you so much for catching that! We just updated it in the closed captions.
Is he writing backwards?
I didn't like using Ansible because when it fails it often just hangs and doesn't tell me anything.
How to run the shell scripts in one gofor multiple servers without using ansible..any alternative please
"not necessarily" doesn't make for a clear explanation. Could you put " configuration management" into context?
There is some strange echo of your voice. I don't know if it's just on HiFi headphones, but it's good to check.
Good one ..
Recommended 1.5x
Looking for jobs in IBM please help me to get.
interesting!
PPT, everyone doing ppt, not on clear board, we can’t see that well.
How did you learn to write in reverse?
You write normal and then mirror the video.
IaC is so hot.
how does he write? Can someone explain what is going on?
See ibm.biz/write-backwards
Bible of IaC in 10 mins ... Should be the video template...
Sorry, got distracted wondering how they do the "write in reverse" trick
No need to get distracted. 😉 Here's how we do it 👉 ibm.co/3DtdHiF
I looked at the title and wondered if I was in Ender's universe.
Wait a sec, are you writing backwards here?? haha! Very cool presentation
nice
Thank you for this amazing content
"declarative is awesome because on this step we created some DBs..." Doesn't sound convincing enough. I still can't understand what makes you sacrifice all those loops and conditionals if a programming language in favor of very dubious advantages of declarative description AND re-implement loops and conditionals in an especially awkward way, like 'count' in TF. After all, all that 'declarativeness' is just visibility that hides a normal imperative approach. 'Programming' in YAML/HCL/JSON/whatever is much more difficult than using a DSL to write idempotent scripts without sacrificing anything. The Chef approach is superior to that of Ansible and TF, IMHO.
As for TF's ability to destroy resources by simply deleting them from a module, it's provided by storing all actions in the state file, not by TF being allegedly declarative, I think. If Ansible or Chef saved their earlier actions, they would be able to roll them back
It’s glass he stood at correct location what u see is illusion
See ibm.biz/write-backwards
I'm so confused at how was this video made?
I think he just wrote on glass, and they just mirrored the video before publishing it. He is wearing a plain black shirt on purpose, so it is hard to notice. It's just my guess, though. EDIT: this setup is called Lightboard, look it up :)
You're right! 😉 We shared some backstage "secrets" of our videos on the Community page, check it out here 👉
ibm.co/3iL1azl
Not a good PPT, not a good idea to handwriting on clear panel.
👍👍👍
You might want to fix your eng(US) subtitles, it's "idempotency" he's talking about, no such thing as "item potency"
There is zero need for ansible if you already use terraform. I repeat, ZERO. This ridiculous bloath is the reason why companies are slashing workers today.
To be fair to ansible, I would regard the approach as that of apple OR android not apple AND android
Just do a PPT, it is terrible for people to see what you want to present because your handwringing on a clear glass is mess, not fancy at all, don’t cut corner just do a professional PPT
Great video 😊 thank you