The times of manual administration, at least in the server environment, are a thing of the past. Obviously, someone still has to maintain the physical hardware, but the majority of servers are generally operated in a virtual environment. Virtualization has naturally also resulted in a sharp increase in the number of servers to be managed.
These days, a high level of automation is therefore an important infrastructural aspect in the server environment. This also applies for all cloud technologies, although the tools differ in some cases. But, even here, the degree of automation is decisive for the efficient and certainly also for the reliable operation of an infrastructure.
The virtualization of machines is currently still a popular way of making better use of available hardware. This saves on resources in procurement as well as energy in operation.
Virtualization is therefore the basis of many IT infrastructure landscapes. In practice, “small-scale” virtualization can be implemented using Linux standard tools, like KVM or Xen, as well as with elaborate systems, such as Proxmox, oVirt, or OpenStack. These scale from one or two up to several hundred hardware machines in a cluster. At these dimensions, automation to install the virtualization platform is already an inherent necessity.
Software deployment refers to the automated, unattended installation of software. This may include regular and continuous updates.
Software deployment also includes the initial provisioning of a computer system with the operating system. This is where software components, such as Ansible, Puppet, and Fully Automatic Installation (FAI), are combined in virtual or physical machines.
These generally provide at least a basic configuration. Lifecycle management tools, such as Foreman, Spacewalk, or Red Hat Satellite, are often also integrated, as these can suitably provision a system when first starting out in the network environment.
Configuration management starts with long-established technologies, such as DHCP. These days however, this typically refers to the advanced configuration of a host. This is also mapped with components such as Ansible and Puppet.
These tools can only be used with significant restrictions in some areas of cloud technologies. This is where the use of ad-hoc tools, such as etcd or Consul is preferred. These store configuration data for services and provision corresponding service containers as part of every start-up. But this approach is very similar to orchestration.
Current Linux distributions contain practically all the necessary tools for software management. These tools are generally pooled under the term “package manager” or similar. They ensure that packaged software is installed at the specifically defined point, dependencies are automatically considered, and that basic configurations are in place.
Configuration management systems generally use these tools to install certain software packages.
Put simply, in IT orchestration refers to configuring and managing various services so that they combine to map a desired business process.
In some cases, the service configuration is a critical element in this respect – but appropriate middleware also needs to be used in certain situations. This may be a message broker or the provision of an appropriate API, or interfaces such as SOAP or REST.
The area of configuration can make use of configuration management methods as well as provisioning services, such as ZooKeeper, etcd, or Consul.
Have we piqued your interest?
Our experts will be happy to answer your specific questions and support you in choosing the right open source solution for your project.
Open Source Support Center
Our answers to the most frequently asked questions: