How VMware tc Server Differs from Apache Tomcat?
This table outlines the differences between Apache Software Foundation’s Tomcat and VMware tc Server. Features may require the latest version of tc Server.
|Feature/Topic||Apache Tomcat||VMware tc Server||Details|
|Leadership and Expertise||Community channels||Direct access to the top committers on the Apache Tomcat project||Nearly 90% of the commits on Apache Tomcat projects are from VMware employees|
|Security Diagnosis and Resolution||Community channels||VMware Support and Engineering||VMware’s Tomcat experts are, in many cases, the ones who are alerted to possible security vulnerabilities and resolved the confirmed vulnerabilities|
|Multi-instance shared binaries||Must be configured||Default configuration||By default, tc Server instances are created using the “separate” layout to allow trivial upgrades and a simple separation of the server binaries and the instance configuration in order to preserve configurations|
|Instance Provisioning, Lifecycle Management, and Administration||None||Included||
tc Server provides the following instance lifecycle management out-of-the-box:
tc Server provides the following instance administration out-of-the-box:
|Variable Substitution||Must be configured||Default configuration||
Allows consistent configuration (e.g. common server.xml config)
Easy management of ports and other properties
|Tuned for Secure Environments||Secure||Enhanced secure configuration||In addition to Apache Tomcat secure steps, tc Server has enhanced the secure environment by limiting external access to management apps, locking down ports, and limiting remote access to JMX|
|Automatic runtime version retrieval||None||On instance creation||On instance creation, tc Server will automatically retrieve the tc Runtime binary requested*|
|On-demand tc Runtimes||None||Command-line interface||
Upgrade or downgrade to new versions of tc Runtime (Tomcat runtimes) using a simple command *
List available tc Runtimes, specify a specific version, or grab the latest recommended version
|Apache Tomcat Binary Compatibility||Yes||Fully Compatible with Apache Tomcat||
tc Runtimes provide features that extend Apache Tomcat functionality
tc Runtimes are 100% compatible with Apache Tomcat versions
|Security and Regression Fixes||Wait for a community release||The tc Server team will provide maintenance releases||Since the VMware tc Server team consists of members of the security team for Apache Tomcat and we are able to release at will. VMware is able to provide security fixes, in many cases prior to the public being aware of an issue at all|
|Extended JMX Interface||None||Included||tc Server ships with a template provides access to a secure set of JMX MBeans for increased visibility and actions on the instances (e.g. dynamic log levels, diagnostic metrics, and deployments)|
|Advanced HTTP Session Replication||DeltaManager and BackupManager||GemFire, in addition to DeltaManager BackupManager||
VMware GemFire Session Manager as a template for instance configuration.
GemFire provides better scaling with larger sessions, control over copies, sockets options and more.
|Datasource Diagnostics||None||Included||A diagnostic template is available for easy instance configuration. It provides a JDBC diagnostic datasource with slow-query identification and a thread diagnostic valve that is applied via the diagnostic template|
|Security Encoding and Decoding||None||Included||Provides simple way to secure passwords and other vulnerable values in property files by using high-encryption password obfuscation|
|RPM and Debian Packages||None||Included||DEB and RPM packages are provided via our download site.|
|Linux/Unix Service Management||None||Included||tc Server provides a systemd template that is available to generate a configuration so systemd can manage a tc Server instance (e.g. starting the instance at boot)|
|Kubernetes support||None||Included||tc Runtimes can be created and configured via a single command using ConfigMaps and/or Secrets|
|Cloud-native Buildpacks (CNB)||None||Included||Create your own container images using CNBs and deploy them on Kubernetes or run them in Docker|
- External internet access required