CloudCat, a Cloud Service offering of Apache Tomcat servlet container provides a virtual image that allows developers and QA teams to build and test web applications in the cloud environment. MuleSoft, the company behind Mule ESB product, recently announced CloudCat product that can be used as an alternative to hosting Tomcat on a physical internal server. MuleSoft also announced a partnership with cloud infrastructure hosting provider GoGrid to offer Cloudcat as a cloud service. The combination offers developers a way to leverage the benefits of cloud computing and open source software.
Prior to Cloudcat availability, using Apache Tomcat in the cloud required manual installation and configuration of Tomcat, in addition to installation of other required software. By using the preconfigured Apache Tomcat image in Cloudcat, developers and operations teams can deploy and test their web applications in the cloud without the investment of buying and housing a physical server. Cloudcat is currently available as a cloud service on Amazon Elastic Compute Cloud (Amazon EC2 AMI) and GoGrid (GoGrid GSI) cloud environments. It includes Apache Tomcat 6 server running on Linux (Redhat on GoGrid, Ubuntu on EC2) and MySQL.
The main features of Cloudcat server include:
- Provisioning of Cloudcat for developing and testing Tomcat applications.
- Diagnostics of Cloudcat runtime from MuleSoft Tcat Server console.
- Integration with Apache Maven for continuous integration between development and test environments.
- Integration with Tcat Server REST APIs for management and control.
- On-demand runtime capacity for Tomcat applications and remote restart capabilities
InfoQ spoke with Sateesh Narahari, director of product management at Mulesoft, about Cloudcat server announcement and the new partnership with GoGrid.
InfoQ: What was the main motivation behind CloudCat announcement?
At Mulesoft we have one main motivation that drives everything, making middleware easier to use both in the enterprise and in the Cloud. In this case, we were focused on Apache Tomcat, our favorite Web Application Server. Tomcat is solid, widely used in development, but still quite difficult for a lot of IT Admins to deal with in production due to lack of good operational tooling and commercial technical support. When we looked on the various public Cloud's for clean, current, and supported images for Tomcat, there weren't any. CloudCat is our initial attempt to fill that gap in the market. By using our best practices Tomcat know-how, our experience with Amazon EC2 and GoGrid provisioning tools, and providing value add around our Tcat Server management services, we believe that CloudCat hits the "sweet spot" for Enterprises looking to try out the cloud.
InfoQ: Can CloudCat be used for hosting web applications in production environment or is it only limited to testing the applications in the Cloud in Development/QA environments?
Cloudcat can be used in production environments as well as in Dev/Test environments. Cloudcat includes a proven init script that makes restarts and server control reliable and suitable for IT operations folks.
InfoQ: Does the CloudCat server environment also support load balancing? How does the fail-over work in CloudCat?
Cloudcat will work with load balancing solutions already being provided by the cloud providers. We do not provide load balancing capabilities in Cloudcat itself, but work with the infrastructure provided capabilities. For example, users can use Elastic Load Balancing with EC2.
InfoQ: Can developers and QA team members use the new CloudCat server to do performance testing?
Yes. Because we integrated provisioning of Cloudcat into the process of provisioning any other cloud infrastructure, this reduces the time to provision new Cloudcat instances and can meet the needs of Dev/QA members to use Cloudcat instances to do performance testing or simulate higher load scenarios. When working with Amazon EC2, Cloudcat instances can also be created directly from Tcat Server Console via optional EC2 plug-in.
InfoQ: What type of tool support - in terms of development, unit and integration (in-container) testing, debugging, application profiling etc - is available for developers who want to deploy their applications in CloudCat environment?
Cloudcat comes enabled for use with Tcat Server at no additional charge. Tcat Server provides indepth diagnostics and debugging capabilities for web applications running on Tomcat instances. These capabilities are available for Cloudcat instances as well from the Tcat Server console. In addition, Tcat Server provides deployment capabilities which makes the application migration from dev to test to staging to production environments very easy.
InfoQ: What type of monitoring tools are available in the new CloudCat server?
Cloudcat instances can be monitored from the default cloud monitoring tools or can also be monitored from the Tcat Server console. Cloudcat currently does not provide any alerting capabilities, but any of the industry leading monitoring tools that are enabled for Cloud can monitor Cloudcat server instances.
InfoQ: What is the future road map of CloudCat Server product in terms of new features?
Cloudcat continues to be a strategic investment for MuleSoft. We expect to expand the option of cloud providers beyond Amazon EC2 and GoGrid. With this version of Cloudcat, we are gathering lot of customer feedback, which would influence the product roadmap. We are also looking at ways to make use of Cloudcat easier in private clouds. We will be making some exciting announcements in this space in future with partners.