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:
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.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 |
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 |
* External internet access required