Likelihood to Recommend Excellent value for companies wishing to host Java applications in the cloud. Utilizing hosting tools such as load balancers and network and application firewalls, Tomcat can be part of a powerful system to host web applications to thousands of users. There has been consistency in the development and support of Tomcat since its initial release in the late '90s and the best commonalities have been carried forward. If you host Java web applications, Tomcat is as good as any for an application server.
Read full review CircleCI is perfect for a CI/CD pipeline for an app using a standard build process. It'll take more work for a complex build process, but should still be up to the task unless you need a lot of integrations with other tools. If you have a big team and can spare someone to focus full time on just the CI/CD tools, maybe something like Jenkins is better, but if you're just looking to get your app built, tested, and delivered without a huge amount of effort, CircleCI is probably your preferred tool.
Read full review Pros Fast to start up, which is useful when we need to just check that our changes are working correctly. Free, which allows us to not be involved with the finance/legal team about using it. Bundled with Spring Boot, which makes it even more convenient for our testing. Read full review Multiple builds can be run at the same time in parallel. The CircleCI web interface (UI/UX) is very easy to understand and use. Easy Configuration to learn and use. Just a single configuration YAML file. Many integrations. We use the GItHub, Slack, and DataDog integrations. Read full review Cons Using tomcat manager to troubleshoot is not very informative. Error messages are vague, you have to dig into log files for more information about the problems. Is great for simple web applications, but may not work for heavy development which may require a full J2EE stack, might like JBoss better. Security in tomcat is not straightforward, as I discovered that you have to understand how to set up realms in tomcat in order to hash passwords, which I was not overly familiar with, which is a big deal when setting up users in the tomcat-users.xml file. Read full review The "phases" their config file uses to separate out options seem very arbitrary and are not very helpful for organizing your config file No way that I know of to configure which version of MongoDB you use. You have to write your own shell script to download and start MongoDB if you want a specific version. Hard to access build artifacts in the UI Read full review Likelihood to Renew We have a huge knowledge of the product within our company and we're satisfied with the performance.
Read full review Usability Tomcat has a very rich API set which allows us to implement our automation script to trigger the deployment, configure, stop and start Tomcat from the command line. In our projects, we embedded Tomcat in our
Eclipse in all of the developer's machines so they could quickly verify their code with little effort, Azure Webapp has strong support for Tomcat so we could move our application to Azure cloud very easy. One drawback is Tomcat UI quite poorly features but we almost do not use it.
Read full review CircleCI interface is awesome in that it is relatively modern and makes it clear exactly which parts of the engineering lifecycle you are in
Read full review Reliability and Availability Tomcat doesn't have a built-in watchdog that ensures restart upon failure, so you have to provide it externally. A very good solution is java service wrapper. The community edition is able to restart Tomcat upon out of memories exceptions.
Read full review Performance Tomcat support to customize memory used and allow us to define the Connection pool and thread pool to increase system performance and availability, Tomcat server itself consume very little memory and almost no footprint. We use Tomcat in our production environment which has up to thousands of concurrent users and it is stable and provides a quick response.
Read full review It's pretty snappy, even with using workflows with multiple steps and different docker images. I've seen builds take a long time if it's really involved, but from what I can tell, it's still at least on par if not faster than other build tools.
Read full review Support Rating Well, in actuality, I have never needed support for Apache Tomcat since it is configured and ready-to-go with no configuration needed on my end.
Read full review Unless you have a reasonably large account, you're going to be mainly stuck reading their documentation. Which has improved somewhat over the years but is still extremely limited compared to a platform like Digital Ocean who invested in the documentation and a community to ensure it's kept up to date. If you can't find your answer there, you can be stuck.
Read full review Alternatives Considered Eclipse Jetty is the best alternative for Apache Tomcat because which is also an open-source and lightweight servlet container like Tomcat. A major advantage of this over Tomcat is that Jetty server can easily be embedded with the source code of web applications. Since it requires less memory to operate, you may realize that it is very efficient.
Read full review Circle was the first CI with simple setup, great documentation, and tight integration with
GitHub . Using Jenkins was too much maintenance and overhead, TeamCity was limited in how we could customize it and run concurrent builds, TravisCI was not available for private repos when we switched.
Read full review Scalability It's very easy to add instances to an existing deployment and, using apache with mod proxy balancer, to scale up the serving farm
Read full review Return on Investment Tomcat is cheap and very quick to deploy, so it has benefited much when situation needs applications to be deployed quickly without wasting time on licensing and installations. Plenty of documentation available so no vendor training is required. Support contract is not needed as well. Read full review It has eased the burden of standardizing our testing and deployment, making onboarding new developers much faster, and having to fix deployment mistakes much less often. It allows us to focus our process around the GitHub workflow, ignoring the details of whatever environment the thing we're working on is actually hosted in. This saves us time. Read full review ScreenShots