IT infrastructure is an essential part of every enterprise. While smaller companies can allow themselves to use simple solutions often based on non-specialized resources such as a shared network drive, larger enterprises or these operating in the IT industry usually need multiple professional environments.
Such environments should be configured, monitored and their condition needs to be taken care of. In the classic model, such work is reserved to the broadly defined administrator. It is essential for an administrator to be familiar with quite a lot of elements, including the following:
- operating systems
- computer networks
- designing environments
- monitoring the condition of individual system components
- hardware.
The vast majority of tasks and processes in an IT environment require a lot of administrator involvement and can lead to a situation where it will be very difficult to manage the infrastructure without the support of at least partial automation. Experienced administrators with broader knowledge of software engineering, creation of high-performance and high-availability environments, and knowledge of automation in general, provide businesses with innumerable benefits. They know the ropes regarding IT environments and understand that:
- most environments in the world are actually very similar to each other. This applies to both small, medium-sized and large enterprises
- high-class specialists administering systems/databases/networks have always strive to automate as much of their work as possible
- what always turns out to be a problem is the scale of infrastructure – this means that one administrator, even working full-time only on administrative tasks, will not perform all the necessary tasks. For this reason automation tools are needed
- automation makes the process of configuration and management of IT infrastructure more mature, as from the very beginning it offers proven repeatability.
Advantages of automation
Automation itself has a number of advantages:
- enables comprehensive support of applications and services in a much faster and easier way than traditional methods
- makes it possible to standardize the various technologies existing in the infrastructure and treats them in a holistic way
- saves administrators time by eliminating the need to deal with routine, repetitive activities
- facilitates the audits and the implementation of required security guidelines.
The most popular automation platforms
Knowing that infrastructure automation is in fact a natural activity for administrators, which helps them deal with complex and extensive IT environments, an organization will always face the challenge of introducing an automation platform. The most popular solutions include:
- Ansible® – the undisputed leader in terms of popularity and use among automation platforms. The subject of Ansible® is developed on the following pages
- Salt® – just like Ansible® , it is an automation platform. However, in order to use its full potential, additional software must be installed on the system. Salt®, as it is with Ansible®, uses yaml files to describe the target state of the system. It is written in Python
- Puppet® – is a mature automation platform. Uses DSL (Domain Specific Language) and agents. Puppet® is written in Ruby
- Chef – an extensive automation platform used, among others, by Facebook. Uses DSL and agents. Chef is written in Ruby.
The choice of an automation platform for both small and large enterprises seems quite obvious at the moment, especially if we do not have such a production platform implemented yet. That choice is Ansible®, as it is the most popular, easiest to use and the mature automation platform.