
Before we were first introduced to Nolio we were sceptical about whether this was really something new given that there are already many automation tools out there. Once we started to get into the detail of what it does how it works we soon saw what makes it different. We can compare it to the evolution from Infrastructure Performance Management to Application Performance Management that we saw in the late 1990's. Companies are realising that applications are complex and as such they have their own unique automation needs.
Why Applications are different
Existing tools out there focus on infrastructure automation. They deal with the problem of installing programs or patches onto many devices such as routers, servers, or PCs for example. While there are mature solutions available to automate infrastructure changes, these solutions are not built for the needs of complex applications. To successfully service the unique aspects of today's modern applications, you must consider:
- Complexity - How do you automate complex tasks across heterogeneous server types?
- Dependencies - Will you be able to handle key groupings and dependencies of the underlying application architecture?
- Order - Are you following the fundamental application logic?
These tasks include complex application deployment, application configuration changes, troubleshooting and recovery. For more on
the differences between infrastructure automation and application service automation check out the Nolio posting on this subject.
A common challenge
Deploying complex applications across mutiple tier on tens or sometimes hundreds of servers is a common challenge we see within many of our customers. Traditional manual methods are error-prone, time consuming, and expensive. Consider how risks start to rise in proportion to the increasing complexity, volume of servers, frequency of changes, multiple tiers, heterogeneous server types, diverse components with many dependencies, physical and virtual infrastructures, public/private clouds, and more.
Better than scripts?
Some customers may have developed scripts to automate some part or even all of their application deployment process. While scripts offer many benefits they lack several things which are included with Nolio.
- Cross tier communication - Running scripts across multiple servers requires them to communicate with each other so one knows when the last one completed. This requires additional logic to be coded into the scripts adding to their complexity. It may also require additional ports to be open which can be a security risk.
- File copying - Copying files between machines can be error prone. Say for example a short network outage causes a large file copy to fail. It cannot be resumed and the process must be manually started again. With Nolio the file copy can be automatically resumed as can the process.
- Visualization - With scripts it is difficult to visualize the overall process unless documentation has been written. With Nolio the work-flow allows you to visualize the entire process without the need for documentation.
- Error prone - Scripts can break and fixing then can be difficult if the person who wrote the script is not available or cannot remember how it works.
- Too many languages - Scripts can be written in many different languages Perl, Python, bash, ksh, tcl, PHP, BAT files, VBScript etc. and they are not always portable across machine types or readable to different IT personal depending on their skills.
- Where is the knowledge? In some cases we see that the person who wrote the script has left the company leaving no knowledge of what the script does or how the process works.
- Audit Trail - Scripts do not have a centrally maintained audit trail of who ran then, when and whether they succeeded or failed. Nolio on the other hand keeps track of every process, when and where it was run and by whom.
- Manageability - Scripts cannot resume should they fail part way through a process. With Nolio they can be automatically resumed once the error has been cleared.