This is a guest post written and contributed by Karan Malhi, Tcat Product Manager at MuleSoft, which is part of the Rackspace Cloud Tools Program. MuleSoft provides Tcat in order to centralize application deployment, rollback and provisioning for all your Tomcat servers.
How many times have you heard your friend or peer say, “I wish I could use Tomcat instead.”
Big Java EE application servers have made inroads into organizations; the mere size of these servers has resulted in unneeded complexity. Some of the commonly mentioned issues with Java EE servers include the technology stack they come bundled with, a majority of which is not needed to build web applications; there’s a steep learning curve and the develop-deploy-test cycles are frustratingly long and painful; the licensing models are complex and the licensing costs heavy; and there’s a lack of IDE choices, as vendors promote their own IDEs, which adds to existing costs.
Tomcat: The Good and the Bad
Tomcat, however, can address many of these issues. First, it’s well-suited for web applications. Tomcat’s strength lies in its simplicity, its small size, its wide-range adoption and its proven ability to run mission-critical large-sale applications. It also comes with zero licensing costs and offers solid integration with well-known IDEs including Eclipse and Netbeans.
Still, Tomcat is not a cure-all. It lacks sophisticated management and deployment capabilities, which are essential tools for QA teams and administrators. It’s also hindered by the lack of production support.
Tcat, an enterprise Tomcat play from MuleSoft, fills the gabs of traditional Tomcat. It provides pre-production and production support for Tomcat, along with a host of other benefits, including one-click deployment of multiple applications on multiple local or remote Tomcat servers; the ability to rollback deployed applications to previous versions; role-based access to a set of functionality and tasks; and alerts that proactively notify users of any issues.
MuleSoft’s Tcat also offers server profiles to provide an automated way to distribute files and configuration settings across multiple Tomcat instances; server insight that gives users near real-time data about all servers and their deployed applications; and ease of management of multiple servers and server groups. Meanwhile, Groovy scripting lets users write powerful Tcat extensions and deploy them in runtime; the cron schedule enables the scheduling of one-time or repeated execution of Groovy scripts; the user activity logs provide detailed insight into user activity; and the powerful REST API allows integration with Maven, ANT, Hudson and any tool or environment users can imagine.
The Scalability Conundrum
It’s also important to consider scalability. Scalability is a critical aspect of applications. Users must have the ability to scale in order to achieve business growth. Any application can only be designed to handle finite in-bound traffic. Depending on the use-case or users, the amount of actual in-bound traffic can be much more than what the application can handle. Secondly, bloated application servers have huge memory and processing requirements. To solve the traffic and hardware issues, users can either scale up (powerful server with more memory and processing power) or go with the much cheaper and preferred scale out (larger number of smaller machines) option. Scaling out does not fully solve the problem because provisioning a new Java EE server is not trivial. IT administrators have tried to mitigate this issue to some extent by creating virtual machines (VMs). Unfortunately, the size and complexity of Java EE servers make them unsuitable for such environments. Tomcat, on the other hand; is perfectly suited for the VM environment because it is small and nimble.
Tcat Scalability on the Rackspace Cloud
MuleSoft now supports Tcat on the Rackspace Cloud, so users can leverage the scalability of Tomcat with the flexibility of on-demand provisioning on the Rackspace Cloud.
MuleSoft Tcat addresses key gaps in Apache Tomcat, with capabilities such as deployment, rollback, role-based security, performance monitoring and diagnostics. Based 100 percent on the Apache Tomcat binaries, with zero changes to the core code, Tcat allows IT teams to migrate from legacy platforms such as Oracle WebLogic and IBM WebSphere to the lightweight and open source Tomcat. Rackspace allows users to meet applications’ scalability requirements by provisioning new Tcat instances quickly and with minimal effort.