The Current IT Situation
In the IT world, we have to deal with repetitive processes and, as a result, we spend a lot of time working on tasks that have no real value. For this reason, in the industry, some companies started to create new tools focused on the automation of all the deployment flow.
When we researched all the open source alternatives available on the market, the conclusion was that Puppet is the most complete and user-friendly tool.
In this blog, we will provide a brief introduction to the gadget and we will analyze how it can improve life at work.
It is common knowledge that automation is the future. In fact, there are software development processes based on this principle (for more information, read about Devops here).
This gives us the possibility to install and replicate environments quickly and efficiently, optimizing working time, which is a positive improvement for the process of delivering software.
The main reasons to use Puppet for automation are:
- It is an open source tool
- It is user-friendly
- It is compatible with different operating systems (Windows / Linux)
- It is easy to escalate and install
The language style of Puppet is based on Ruby, which is easy for people who do not work in software development to learn. It is composed primarily of resource declarations and there is a lot of documentation on the web to use as an example in order to be able to begin programming.
As mentioned before, one of the strengths of this product is that it’s easy to install. In this case, we will work on the Red Hat Operating System 6.x (Rhel).
Depending on your objective, you can choose the master method or the node one. Using the second alternative is enough to get the software running.
There are two different ways to perform this task:
- Enabling the Puppet Labs Package Repository: this is the simplest way. We just have to look for the corresponding puppet repository (yum.puppetlabs.com).
$ sudo rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
- Downloading the official package from the website: this way is very useful when you don’t have Internet access on your server.
Basically, you have to download the tar.gz file that you need
Then, you have to decompress the file and, finally, create a local repository.
Compatibility with other tools
Another advantage is Puppet’s capacity to interact with other software programs. You can exploit Puppet’s potential by supplementing it with other tools that have other uses. For example, you can use Virtual Box to virtualize the environments, Vagrant to manage them, GIT to control revisions and Puppet to deploy the product.
The following chart shows the compatibility mentioned above:
Image by Author
Utilization and Conclusions
Upon completing our research, we have reached the conclusion that this type of tool is useful for all kinds of companies regardless of their size.
In our experience, the time of a task can be reduced from four hours to just twenty minutes, plus you can complete installations simultaneously on multiple servers. It is also important to note that the automation has an impact on several departments because these environments are used by both developers and testers, thus, improving the quality of the product.
Besides, when choosing these tools, you have to take into account which customers are already using them. Regarding Puppet, leading companies in the market such as Cisco, Intel and Verizon have implemented it in their processes.
For more information, you can visit Puppet’s official website.