How VMware tc Server Differs from Apache Tomcat?

tc Server provides tooling to manage the lifecycle of a Java Servlet Container. This tooling includes a powerful templating engine which allows a consistent and repeatable configuration to be used. tc Server consists of 4 major components:

  1. The tc Server core, or tcserver CLI. This command line interface is used to create instances, apply templates, start, stop, and even delete tc Runtime Instances (also referred to as instances). The tc Server core can easily be upgraded independently of the tc Runtimes and tc Runtime Instances it manages by installing an updated version and pointing it to the same instances and runtimes directory as the previous version.
  2. The tc Runtime Instance which is the CATALINA_BASE containing webapp(s), configuration, logs, etc. This is linked to a specific tc Runtime (CATALINA_HOME) and can be easily updated to use a different tc Runtime version as long as it is the same major version.
  3. tc Runtimes which are 100% compatible with ASF Tomcat and built from same source base. This is the CATALINA_HOME linked to by tc Runtime Instances.
  4. Templates which are used to apply a repeatable configuration to instances. Examples of templates include adding ssl connector, diagnostics, and integration with third party services.

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 provisioning functionality out of the box: creation, deletion, update, upgrade, modify, instance listing, substituted property retrieval.

tc Server provides the following instance lifecycle management out-of-the-box:

  • creation information
  • log viewing and tailing
  • start, stop, restart, status, and run

tc Server provides the following instance administration out-of-the-box:

  • encode properties
  • decode properties
  • get new runtimes and templates
  • listing of runtimes and templates
  • thread dumps
  • support data bundles

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