Hacker News new | past | comments | ask | show | jobs | submit | more syntaxstic's comments login

Have you ever tried to quit cold turkey? It was brutal for me.

How could something that hard to stop be good for you?


It's a counter exemple extremely overused and a bit tongue in cheek but : try to see how long you can go without breathing, then ask yourself the same question again.


If you work out frequently, stopping that cold turkey is brutal also. Working out is unquestionably good for you. How hard it is to stop has nothing at all to do with how good it is for you. No comment on if it's good or not, but your comment has no bearing.


What has "hard to stop" common with "bad for you"?


I tried to quit HN cold turkey once. I held out for like 16 hours.

Won't even entertain the thought with tea or coffee.



How does terraform compare to ansible?


Ansible focuses on provisioning machines whereas Terraform focuses on creating Cloud infrastructure. A common combo is using Terraform to provision VMs and networking settings then using Ansible to configure those VMs.

I find few if any reasons to use Ansible over a shell script. IMHO Ansible is just a weird YAML syntax to generate a "shell" script with some utilities to ship that script to nodes over the network. I find it super awkward not to mention slow and inconsistent.

For deployments I much prefer using Nix and for imperative actions I just use actual shell/python.


You can totally provision using ansible too, on most cloud vendors.

The reason to use ansible over a shell script is that the ansible playbook will be idempotent. That is to say you can run/rerun the playbook from any point without having to wipe any previous work, or worry about double applying your config changes.


> is that the ansible playbook will be idempotent

This isn't really true. I think you are correct that most of the built-in operations are idempotent but you can also do this with a small library of functions in a shell/python script or whatever you prefer. Most things you want to do on provision are idempotent anyways (install this package, download this file) or are trivial to make so (create this directory).

I would take a real programming language any day for the minor cost of having to handle idempotency myself. It would take a couple of hours to reimplement idempotent primitives to replace the Ansible standard library in just about any language.

In my mind the main value of Ansible is playbooks that others have made for you, but many people avoid these anyways to have full control.


I thinj that it's difficult to keep an idempotent shell script or programming language implementation as clean as Ansible over a long period. I deal with a similar thing at work and the Ansible stuff is still mostly good over the long haul with the weird bits like calling other scripts being obvious. The Bash script provisioner we have is just a mess. It's not that an individual can't write a better Bash or Python script but a team of mixed experience, opinions and skillsets coming and going over 7 years definitely cannot. Our Ansible scripts are about half as old, but I don't think the shell script saw significant decline after hitting an inflection point or anything, they just gradually crept away from pure ideals.

I personally find Ansible's value lies in what it makes difficult.


They're not competition. I use Terraform for infra provisioning, and Ansible for post-provisioning application setup. I also use Packer + Ansible playbooks to build my AMIs.


You can create infra with Ansible. The downside to Ansible is the Cloud Provider modules are "community" not core and some of them are buggy.


Yup, that's the best use-case. The more that cloudy / container stuff takes over the less I use Ansible tbf.


A lot of post provisioning tasks I used to do with Ansible are now handled with cloud-init.


Exactly. We use it in the pipeline for building the AMI unfortunately at my current place but it's not optimal.


I like Packer + Ansible for building machine images. I haven't really tried any alternative workflows but that has been great for my needs so far!


What kinds of tasks can Ansible do that Packer isn't also capable of?


Both tools can be used to create cloud resources and configure machines but fundamentally they are very different.

Ansible is a list of actions that you apply linearly. Each action might be a noop if it already exists.

Terraform is a tree of resources that are applied by order of dependency. Terraform also records the previous run and deletes resources that are no longer in the code.

Generally, Ansible is great at performing actions on a lot of hosts. A sort of multi-ssh. And Terraform is best adapted to manage cloud resources.


The article says network+ or security+


checkmate


Isn't that locked down through iCloud?


Is there a tutorial out there on how to that. I have some spare raspi's lying around, and I would love to do this.



100% percent agree. Here in Toronto, it's very difficult for the average person invest a meaningful amount of money.


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: