Cost Savings from deploying Tcat
Apache Tomcat has driven down the total cost of ownership for many organizations. However, in the rush to save costs around licensing and complexity of deployment, a number of substantial costs have been overlooked. These include the cost of lost business due to avoidable problems and slow resolution of unavoidable problems as well as the costs of administrators who are not achieving their full productivity. Therefore, especially in large environments, there are still substantial cost savings to be had. Tcat allows organizations to achieve these further cost savings.
In recent years, Apache Tomcat has become a popular alternative to legacy application server infrastructure. Today, Apache Tomcat is the world’s most widely used web application server, with over 1 million downloads per month and over 70% penetration in the enterprise datacenter. Organizations benefit from Apache Tomcat’s lightweight deployment model, mature technology, and low cost of ownership compared to traditional Java Enterprise Edition (JEE) options.
However, as Tomcat deployments have become more common, organizations have struggled with some weaknesses in the base Tomcat application. Tomcat lacks enterprise capabilities required to effectively manage in production environments. It does not provide an easy way to deploy web applications to multiple Tomcat instances, monitor critical metrics and alert on them, manage groups of servers together, and ensure consistency of configuration.
The result of these weaknesses is that while Apache Tomcat provides superior total cost of ownership (TCO) when compared to legacy JEE servers, it sometimes falls short of expectations. While license costs are avoided, and many of the costs associated with difficult deployments of heavyweight servers are mitigated, new costs are introduced. The most significant costs result from lack of visibility into problems which causes avoidable problems to impact applications. When problems do arise, downtime often is unacceptably long. For critical business applications this can mean extended loss of functionality and lost revenue.
In addition to opportunity costs associated with downtime, Tomcat deployments can also incur hard dollar costs associated with maintenance. For example, since Tomcat requires many manual tasks to be performed on multiple servers, as deployments grown in size, increasing amounts of administrator time and resources go into the maintenance of the Tomcat environment. Additionally, costs associated with the possibility of security breaches can add up.
Tcat is the enterprise version of Tomcat. It mitigates many of the costs associated with running Tomcat in production, resulting in a superior TCO when compared to either legacy JEE servers or vanilla Tomcat. While specifics of your environment may differ, this paper looks at the general cost drivers that impact the TCO of Tomcat and how using Tcat in your Tomcat environment can reduce these costs.
One of the most pervasive costs of running an application server is when a failure occurs. The actual cost of such a downtime event differs based upon the application deployed. When evaluating an application server, the first question to evaluated is what are the hard dollar costs of downtime. Looking at all applications deployed, how much revenue is running through the system? Breaking that down, what business processes will fail when an issue occurs? In extreme cases, such as financial services applications, downtime costs associated with an application failure can cost millions or even tens of millions of dollars per hour.
With such high costs of a failure, the most important way to lower TCO of a system is through problem avoidance. Tcat provides advanced alerting capabilities not present in the Tomcat alone. This helps system administrators identify problems before they impact customers. Rather than a traditional system where issues are identified only when they impact customers, and resolved via support tickets, Tcat enables administrators to be more proactive and avoid issues before they are recognized by end customers.
In addition to identifying issues before they impact service, Tcat can often resolve them immediately. For example, an application running low on memory is a common problem in production deployments, especially as they scale. In a Tomcat deployment without Tcat, an administrator would see an OutOfMemory error in the logs. At that point they would have to manually increase memory and restart the server. This can take 30 minutes even if quickly noticed by the administrator, and longer still if it is missed in the maelstrom of logs. With Tcat an administrator can set up an automated action to handle this scenario. Immediately upon seeing this error, Tcat can increase the amount of available memory for a given application. Rather than waiting on an administrator to find and resolve the issue, Tcat offers complete automation of this process, leading to problem resolution before performance is impacted.
While many issues can be avoided through automated response, some need more specialized evaluation. At times, people with specific knowledge or skills need to be involved. Traditionally with Tomcat deployments this meant a substantial amount of back and forth between development and operations and a slow resolution time. Problems could get out of hand and impact business before resolution was reached. Adding Tcat, eliminates this problem. Tcat’s web-based console and role-based access controls mean a wider base of people can have access to key performance metrics while still keeping the overall infrastructure secure. This means instead of logs and information being manually passed back and forth between parties, all parties can get the information they need to resolve issues much more quickly. By enabling faster issue resolution, this further reduces downtime risks.
While it is best to avoid problems, some number of problems is unavoidable. In such cases, speed is of the essence in resolving these issues. Tcat improves time to resolution for these situations. When a problem is noticed with a web application running on Tomcat, typically system administrators have to spend a couple of hours to resolve that issue. With Tcat’s diagnostics many issues can be identified with just a few clicks. In some large deployments, this can add up to thousands of hours a year. When quantified this can mean significant cost savings.
There are many examples of problems that may arise in a production Tomcat deployment. One of the most serious is that a user trying to access the web site is seeing a “404 Not Found” error. Another is when an application is accessible but failing with errors. In both cases, users are unable to receive whichever service is being offered at all, meaning they may go elsewhere and become lost business.
In situation like these with a stock Apache Tomcat, an administrator first must figure out which server machine runs the Tomcat that is meant to serve the web site. After determining this, they would log onto that machine and find the installation directory of the webapp in question. Once there, they must determine if the files appear to be deployed. Then, the administrator reads through the Tomcat logs to see if Tomcat logged the deployment of the web application. Alternatively, the administrator could separately log into the Tomcat manager webapp on the server in question, and inspect the web applications that are running. All of this is very time consuming and whilst all these tasks are being completed, service is still not being provided. In contrast, with Tcat, the administrator just clicks the link of the Tcat instance in the Tcat console, and then clicks Applications to get a list of all webapps that are running in the instance. They can then click the appropriate log file for the application in question. In two clicks they can begin working on resolving the issue instead of spending substantial time just accessing the information they need to begin.
Another common issue is one where a multithreaded application is not responding and the apparent issue is that some threads are stuck. In a situation like this, Tcat's console lists the threads and shows helpful statistics about each, including whether the thread is currently blocked, what code it is blocked on, how many times it has been blocked, etc. Also, the Logs tab shows when exceptions have occurred that may stop threads from working properly. Tcat makes it simple to inspect Tomcat Connector statistics, which can tell the administrator if the Tomcat instance is configured to handle the amount of request load that the web site is experiencing. By giving access to these statistics, Tcat provides the visibility to quickly determine the root cause of a threading issue and resolve it.
Simplify common tasks
While maintaining reliability is the biggest savings in terms of TCO, hard costs associated with administrator time should not be underestimated. Many tasks in Tomcat are very manual. This means system administrators use spend a great deal of time on routine activities. When considering the cost of staff this can add up to a particularly large cost.
One of the most common tasks a Tomcat administrator undertakes is rolling out applications. Rolling out or upgrading Tomcat applications involves a manual process of deploying the application to each server. If something goes wrong during the roll-out, it is a manual effort to roll back to the original version. The administrator must locate the original application files, ensure that the configuration is as it was, and test the rollback. Tcat automates this process of rolling out applications as well as, when needed, rollback. With Tcat, deployment and deployment rollback are automated from the Tcat console, eliminating that manual process. This can save a significant number of hours per year, and preventing support cases that would otherwise be submitted by users while the manual process is being followed. The State of Alaska was able to reduce their development and deployment time by 30% by deploying Tcat.
When Tomcat itself needs to be upgraded, the upgrade involves a manual process where system administrators need to make sure each Tomcat is configured properly afterwards. With Tcat, the installer completely automates the Tomcat upgrade. System administrators run a single command. When managing a large number of instances of Tomcat, the time savings can be substantial.
Apache Tomcat has driven down the total cost of ownership for many organizations. However, in the rush to save costs around licensing and complexity of deployment, a number of substantial costs have been overlooked. These include the cost of lost business due to avoidable problems and slow resolution of unavoidable problems as well as the costs of administrators who are not achieving their full productivity. Therefore, especially in large environments, there are still substantial cost savings to be had.
Tcat drives down the total cost of ownership in a Tomcat environment. It prevents problems from impacting business through automated mitigation actions and improved visibility. It reduces the impact of those problems that cannot be avoided by providing diagnostics that speed problem resolution. Finally, it simplifies common tasks allowing administrators to be more productive and thus less costly to the organization.