The world is moving very fast and whenever you think about fast moving, especially in the IT industry, the word automation comes first in most of our minds. Yet, it is often not well understood what automation is and how it helps us to movefast inor with the industry. IT automation is the linking of disparate systems and software in such a way that they become self-acting or self-regulating.
Why should we automate our system? What is the business impact and how it helps us to move faster? If we automate our system am I going to lose my job? If something goes wrong in the automation process the whole system crash and who is going to take the responsibility? From a company owner to employee, these are more or less the general questions that people have when thinking about automation.
Let’s take a scenario of an IT enabled company where a web developer, let’s call him Bayazid, wants to launch a new site for his clients and goes to the system team for a server resource. The system team installs the server and then communicates with the network team and asks for the permission to a webserver vlan.
The network team asks the security to arrange for the necessary security check up for the web server. After that the security team checks the security and confirms to the network team that the system is ready. The network team opens port for vlan webserver and informs the system team that it’s done. The system team informs the web developer that he can now launch the site. The web developer starts deploying the site and ends up with a 404 page – not found error, or a 403 – forbidden error. What went wrong?
The web developer goes to the system team again to check everything from the beginning. Imagine how much time, energy and effort is lost for doing just one single task of launching a site.
As a result the frustration grows into every team from the customer to the developer, everyone is unhappy. After several hours of back and forth between teams finally they can solve the problem and they can successfully launch the website. The very next morning, another developer comes to the system team for server resources and again the process starts.
To avoid these types of scenario the term DevOps/NetDevOpswas created. To avoid the system boundary and to avoid the ticketing boundary between teams, DevOps and Net DevOps teams work together, share their know ledge and help people to minimize their repeated jobs in their work place.
Tools for automation
“It’s hard”, “it’s a fad”, “this will steal my job”, “my device doesn’t support it” and finally “I don’t know where to start” – these are some common complains about automation. There are lots of tools available for automation. Paid, nonpaid, open source – the choices are many. Among those automation tools CFEngine was the first to come on the market around 1993. Those days it was very popular among the system administrator.
Then Puppet (an open source configuration management tools) came on the market in 2005. Chefin 2009, Saltin 2011, Ansiblein 2012, Jujuin 2010 and many more. If you closely look at the release date of these tools, then you would see that the concept of automation is not new. For many years people have been trying to automate things. There are many other tools available in the market, which should be help for people who work in software development site like Docker (application container), LXD (system container) etc.
Running system container has some great advantages over running virtualization software like Virtual box or Vmware on the local system. One main difference is that if you run a virtual image on a system, then it has its own kernel (this is mainly in Linux point of view, as all containers are not available on Windows) and if you launch a Linux container like LXD it shares the same kernel and thus its launches first. You can build your environment quickly and easily. You can take snapshot of the container and restore it and finally you can deliver your projects quickly. Happy team, happy customer!
Going back to our web developer, some time has passed since they launched that website and the firm finally automated their system and educated their employees about the process. What Bayazid is doing nowadays? He develops the software then test it on a different platform sitting on his laptop with the help of LXD container and finally asks server resources from the system team for production purpose. The system is now in a cloud environment and managed by a configuration management tool. The system team made some images which are based on their developer needs, the vlan and security rules are pre-defined. It takes less than 5 minutes to launch a production ready server. Bayazid can launch multiple sitesin a day, which increases the satisfaction level of the team and also the customer.
Precautions are taken manually
Like everything else in the world, there are also some bad things in automation. If you don’t handle it properly it can give you the worst result you can ever imagine. Also it can down the whole system. Proper knowledge and experience is required for IT automation. Team collaboration is a must. If things go well then the level of satisfaction will inevitably be very highin every level, including business impact and employee satisfaction.