Ansible vs. Terraform: What's the difference?
Вставка
- Опубліковано 8 тра 2024
- Explore guide to Terraform → ibm.biz/guide-to-terraform
Explore guide to Infrastructure as Code → ibm.biz/guide-to-iac
Watch "Terraform Explained" lightboard video → • Terraform Explained
Watch "What is Ansible?" lightboard video → • What is Ansible?
Watch "What is Infrastructure as Code?" → • What is Infrastructure...
► Check out IBM Cloud Schematics → ibm.biz/schematics
► Check out IBM Cloud Satellite → ibm.biz/prod-satellite
► Check out IBM Cloud Paks → ibm.biz/product-cloud-paks
Ansible and Terraform are both great tools that you can turn to for creating Infrastructure as Code (IaC) which can be used to deploy repeatable environments for automating your infrastructure. However, what is the difference between the two? When should you pick one over the other?
In this lightboard video, Sai Vennam with IBM Cloud, dives deep into how Ansible and Terraform both serve different purposes as well as complement each other for automating infrastructure.
Earn a badge with FREE interactive Kubernetes labs → ibm.biz/interactive-k8-learning
Get started on IBM Cloud at no cost → ibm.biz/cloud-free-acct
Subscribe to the IBM Cloud channel to be notified when a new video drops → ibm.biz/subscribe-now
#Ansible #Terraform #ITAutomation - Наука та технологія
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
thanks Sai. Great presentation. You do a great job of explaining these complex topics in an understandable way. Cheers!
Awesome explanation I really appreciate you going over the differences between Terraform and Ansible.
good to know that we could really work together combining Ansible and terraform
Liked it very much. Helps a layman like me to understand the concepts. Keep doing more of it
I love how whenever Sai hosts a Vs. video, he always starts by saying they are complementary tools
It was a good explanation that reminded me of what I knew and what I am currently doing. I totally agree with the opinion that Ansible and Terraform can be used together. However, in reality, if our colleague have enough experience with these two scripts, there will be no problem, I am a little curious as to whether there will be sensibility when considering the learning cost. Thanks, Sai
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! 👍
Great info from the layman term & a newbies started to know about all these..
Great explanation good job @IBM Technology
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.
Great presentation!
Brilliant! Thank you Sai.
This guy is clear and methodical
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
Nice, well explained!!!
Here’s a summary of the key differences and synergies between Terraform and Ansible as explained in the UA-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.
many thanks for that comparison!
Excellent Great presentation
Great video. Thank you so much
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 😉
Nice presentation
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
good explanation
Great comparison :)
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
I wish to see a complete DevOps course by IBM Cloud engineers/UA-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.
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.
That really helped.
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!
Now I understand the difference between Ansible and Terraform 🚀
Yet just subscribe, this is powerful stuff.
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
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?
How to run the shell scripts in one gofor multiple servers without using ansible..any alternative please
Thanks
interesting!
Really nice, but Ansible is item potent OOTB.
nice
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
I didn't like using Ansible because when it fails it often just hangs and doesn't tell me anything.
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 ??? !!!
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.
👍👍👍
PPT, everyone doing ppt, not on clear board, we can’t see that well.
For the captioner: It's "idempotent", not "item potent".
Thank you so much for catching that! We just updated it in the closed captions.
Good one ..
Recommended 1.5x
I looked at the title and wondered if I was in Ender's universe.
Dude is the Bob Ross of Tech
Thank you for this amazing content
Looking for jobs in IBM please help me to get.
Alright ... Terraform for provisioning ... and ... Ansible for configuration ...
But the real need for both begins only with the need to replicate ... ! ... automatically ... ! ...
Wait a sec, are you writing backwards here?? haha! Very cool presentation
how does he write? Can someone explain what is going on?
See ibm.biz/write-backwards
How did you learn to write in reverse?
You write normal and then mirror the video.
"not necessarily" doesn't make for a clear explanation. Could you put " configuration management" into context?
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
Bible of IaC in 10 mins ... Should be the video template...
Is he writing backwards?
IaC is so hot.
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
It’s glass he stood at correct location what u see is illusion
See ibm.biz/write-backwards
"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
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