4 ms·
There are five broad categories of IAC (Infrastructure as a Code) tools: a)Ad hoc scripts The most straightforward approach to automating anything is to write
by jaejae 6y ago
There are five broad categories of IAC (Infrastructure as a Code) tools:
a)Ad hoc scripts
The most straightforward approach to automating anything is to write an ad hoc script.
You take whatever task you were doing manually, break it down into discrete steps, use your favorite scripting language (e.g., Bash, Ruby, Python) to define each of those steps in code, and execute that script on your server
b) Configuration management tools
Chef, Puppet, Ansible, and SaltStack are all configuration management tools, which means that they are designed to install and manage software on existing servers.
c)Server templating tools
An alternative to configuration management that has been growing in popularity recently are server templating tools such as Docker, Packer, and Vagrant. Instead of launching a bunch of servers and configuring them by running the same code on each one, the idea behind server templating tools is to create an image of a server that captures a fully self-contained “snapshot” of the operating system (OS), the software, the files, and all other relevant details.
d)Orchestration tools
Server templating tools are great for creating VMs and containers, but how do you actually manage them?
Handling these tasks is the realm of orchestration tools such as Kubernetes, Marathon/Mesos, Amazon Elastic Container Service (Amazon ECS), Docker Swarm, and Nomad
e)Provisioning tools
Whereas configuration management, server templating, and orchestration tools define the code that runs on each server, provisioning tools such as Terraform, CloudFormation, and OpenStack Heat are responsible for creating the servers themselves. In fact, you can use provisioning tools to not only create servers, but also databases, caches, load balancers, queues, monitoring, subnet configurations, firewall settings, routing rules, Secure Sockets Layer (SSL) certificates, and almost every other aspect of your infrastructure
- ForHackernews 6y agoThis is a good overview, but notice how hazy these different categories are around the edges. > not only create servers, but also databases, caches, load balancers, queues These things are, I would say unquestionably "infrastructure". > firewall settings, routing rules, Secure Sockets Layer (SSL) certificates These things are more or less configuration, basically files that exist on the above. And yet, as you say, it's common to manage them using provisioning tools like terraform.
- ethbro 6y ago> > firewall settings, routing rules, Secure Sockets Layer (SSL) certificates > These things are more or less configuration, basically files that exist on the above. Part of the different perspective feels like managed cloud vs on prem. In the former, these are all actually things to be created, albeit as an abstraction on the underlying implementation. Which you don't have access to. In the latter, they're configurations on things you have access to.
- x0x0 6y agoThank you for this; it's the clearest explanation I've read.
- deleted 6y ago[deleted]
- ejanus 6y agoThanks so much! The dots are getting connected.