The rise of cloud computing and IT as a service is driving dramatic changes in application infrastructure and development. VMware® vFabric™ Cloud Application Platform (vFabric Platform) embraces this shift by integrating the familiar Spring Developer Frameworks with a proven set of services that span the lifecycle of modern application development, deployment, and management.
Engineered for Spring Framework and VMware vSphere® virtualization, vFabric Platform includes tc Server with EM4J, Spring Insight Operations, GemFire Application Cache Node, Hyperic Server and Agent, RabbitMQ, SQLFire, and Web Server. The platform brings significant benefits to stake holders throughout the enterprise:
Application developers and architects get tools that let them build data-intensive, Web-oriented applications quickly and reliably. A per-VM licensing model gives them more latitude to amend application architecture with fewer licensing constraints.
IT gets an agile platform that makes applications easy to deploy, instantly scalable, and portable across clouds.
End users get applications that are data rich, quick to access, and always available.
vFabric Platform 5.0 is available in two packages, VMware® vFabric™ Standard and VMware® vFabric™ Advanced, as indicated in the table. The sections that follow describe how each component is optimized to meet the demands of modern applications in virtual and cloud environments.
Table 1. vFabric Platform 5.0 Components and Packages
|Component and Version||Description||vFabric Standard Component||vFabric Advanced Component|
|vFabric tc Server 2.6||Lightweight application server, fully compatible with Apache Tomcat 7, that can be instantly provisioned and elastically scaled. Elastic Memory for Java (EM4J 1.0 ) is embedded with vFabric tc Server (Spring Edition), and Spring Insight Operations 1.5 is available as a separate download.||Yes.||Yes.|
|Elastic Memory for Java (EM4J 1.0)||Memory management technology that enables you to run more Java applications on your ESXi servers than previously possible. EM4J helps maintain Java application performance and reliability while freeing memory that allows you to run more VMs per host. An EM4J plug-in is now available for the vSphere Web Client.||Yes.||Yes.|
|Spring Insight Operations 1.5||Performance monitoring with real-time, multi-layered visibility into applications running on tc Server.||Yes.||Yes.|
|vFabric Hyperic 4.6||Proactive performance management with complete and constant visibility into applications and infrastructure.||Yes.||Yes.|
|vFabric GemFire 6.6||Data management platform that provides real-time, consistent access to data across widely distributed cloud architectures. GemFire Application Cache Node is the vFabric Platform offering for vFabric GemFire.||Yes.||Yes.|
|vFabric Web Server 5.0||Precompiled and pretuned Web server and load-balancing service that dynamically routes requests to an application server for processing. vFabric Web Server is fully compatible with Apache Web Server.||Yes.||Yes.|
|vFabric RabbitMQ 2.4||De facto standard for cloud messaging and leading implementer of AMQP. Delivers highly available, scalable, and portable messaging with predictable, consistent throughput and latency.||No.||Yes.|
|vFabric SQLFire 1.0||Memory-optimized, distributed database management system that provides extremely high throughput; predictable latency; dynamic and linear scalability; and continuous availability of data.||No.||Yes.|
VMware® vFabric™ tc Server is 100-percent compatible with Apache Tomcat 7. It has all the runtime advantages of Tomcat, plus operational management, advanced diagnostics, mission-critical support, and unmatched visibility into Spring-powered applications — none of which are available in the open source product.
tc Server harnesses the power of traditional JEE architectures while eliminating their complexity and performance drawbacks, making it easier, faster, and more cost-effective to build and run cloud-ready applications. With its lean architecture and small, 10MB memory footprint, tc Server requires significantly fewer resources than conventional servers, which allows for greater server density in virtual and cloud environments. tc Server supports integration with VMware tools and vFabric Hyperic, and provides templates for vFabric GemFire session replication.
Main features of vFabric tc Server Spring Edition:
vFabric tc Server instances are compatible with existing Apache Tomcat applications, thus eliminating migration costs and cycles.
Parallel deployment. Deploy multiple revisions of the same application at the same time so you can roll out a new revision of an application without affecting users.
Automatic instance upgrades. A new script lets you easily upgrade tc Server 2.0 and 2.1 instances to function with tc Server 2.6.
Automated deployment of applications to multiple instances of tc Server and standardized templates for rapid provisioning of new instances.
Commercial support for vFabric tc Server and Spring Framework.
Elastic Memory for Java (EM4J). Included with tc Server Spring Edition, EM4J allows Java workloads to cooperate more fully with ESXi advanced memory-sharing technologies. EM4J helps maintain Java application performance and reliability while freeing memory so you can run more VMs per host, improving your consolidation ratio.
Spring Insight Operations, a Web application that gives you real-time, detailed visibility into application behavior and performance. Insight Operations is optimized for monitoring and tuning Spring-built applications in production.
EM4J revolutionizes the virtualization of Java applications.
With EM4J and tc Server, you can run more Java applications on your ESXi servers than previously possible, and Java applications can now leverage ESXi's industry-leading memory sharing technology.
Previously if you ran Java on VMware ESXi, you had to reserve 100% of the configured memory for a VM running Java applications or risk serious performance problems. To determine the optimum size of the Java heap, you determined the application's peak requirement. Allocating less could mean unacceptable performance, errors, or crashes; allocating more than was necessary wasted memory.
EM4J changes all that. It is a balloon that sits directly in the Java heap and works with a new memory-sharing interface introduced in ESXi 5.0. EM4J allows ESXi to share available memory in the Java heap among VMs as needed, while preserving application performance and reliability. You can size the Java heap to accommodate the peak workload, without wasting or running out of memory. Any excess memory is ballooned away and redistributed where it is needed.
This capability lets you create more VMs and pack more tc Server instances onto a single vSphere host. It also reduces the likelihood of out-of-memory errors that can cripple applications.
A new EM4J plug-in is available for the vSphere Web Client. The plug-in enables you to monitor EM4J configuration and memory performance for EM4J-enabled Java workloads in the vSphere Web Client. A Workloads tab displays statistics for Java workloads on the virtual machine selected in the vSphere Web Client inventory tree. You can quickly verify that the virtual machine and JVM are configured correctly for EM4J and see detailed information about the JVM process and memory usage. Alerts warn of EM4J configuration problems and suggest best practices.
Spring Insight Operations gives you real-time, granular visibility into application behavior and performance in production environments. It is a Web application that runs with tc Server Spring Edition and is a separate download.
Insight Operations graphs the health of an application over time for the entire cluster and for each server in the cluster. Administrators see application and server problems as they occur, with detailed information about contributing events, presented in one unified dashboard. You can quickly identify under performing servers, server errors, and trace details for specific events and exceptions.
VMware partners with Google to integrate Spring Insight data into SpeedTracer, a Google Chrome extension that analyzes how your application is performing inside the browser and that ties browser performance to backend performance. If your Web application uses Ajax and other rich open Web technologies, try SpeedTracer with Spring Insight.
Main features of Spring Insight Operations 1.5:
Automatic instrumentation of Spring applications running on tc Server expose application performance from both general and fine-grained perspectives.
Isolation of performance problems by application, endpoint, application server, and method.
Tracking of performance over time, to understand whether problems are chronic or spurious.
Response-time histograms that reveal whether performance problems affect a many users, or a small subset.
Highly performant instrumentation with sub-microsecond impact to application response time, designed for applications in production.
Integration with Hyperic that enables operations and development teams to view a single set of both server-oriented and application-oriented performance, and collaborate more effectively to fix performance problems faster. Spring Insight metrics give Hyperic a broader range of data for triggering alerts and for control actions that implement automatic problem remediation.
VMware® vFabric™ Hyperic® provides more than 50,000 performance metrics on more than 75 technologies at every layer of the application infrastructure. It consolidates complete discovery, monitoring, analysis and control of all application, system, and network assets -- including other vFabric platform components -- both inside and outside of virtual machines powered by VMware. Hyperic provides proactive performance management through transparent visibility into dynamic applications deployed across physical, virtual, and cloud environments. You can monitor all applications from a single console.
At startup, Hyperic automatically discovers and adds new servers and VMs to inventory; configures monitoring parameters; and collects performance metrics and events. This level of automation lets you deploy fully monitored VMs with minimal effort and scale out monitoring across your virtual infrastructure.
Main features of vFabric Hyperic 4.6:
Simplifies management of virtualized applications by maintaining a continually updated inventory of vSphere ESXi and ESX hosts, their virtual machines, and guest operating systems.
tc Server plug-in for easier, remote management and monitoring of multiple tc Server instances and applications. See tc Server Plug-In for Easier Management and Monitoring.
Spring Insight plug-In for in-depth application monitoring. The plug-in makes it easier to discover whether a problem is infrastructure or application-related. See Spring Insight Plug-In for In-Depth Application Metrics.
Centralized plug-in manager that synchronizes Hyperic plug-ins between Hyperic Server and all Hyperic Agents in the environment, enabling system administrators to easily configure and upgrade agents distributed across hundreds of servers.
iPad and iPhone support.
Deeper integration with LDAP that enables the automatic import of existing LDAP user groups to preassign roles to users.
Auto-discovery across all operating systems that run on vSphere and in disparate run-time environments, from Java to .NET.
Bridges the gap between virtual and physical: compares guest and host metrics (CPU, memory, disk utilization); relates physical and virtual performance to individual applications.
Advanced alerting: role-based, time-based (for geographically dispersed teams), server group-based, and so on. Automated alert responses and alert escalation processes.
Ability to resolve a broad range of issues without human intervention, often before end users notice, with automated remediation that reduces mean time-to-resolution and ensures service level agreement (SLA) compliance.
Plug-in framework that extends management and monitoring to any environment. Through the framework, Hyperic can discover, monitor, and control any application or device using a straightforward Java/XML API.
Scales dependably from the ground up — to more than 1,000 servers and one million metrics per minute with a single Hyperic Server.
The Hyperic tc Server plug-in enables you to remotely manage vFabric tc Server instances and applications on multiple computers. Hyperic provides a single console with powerful dashboards through which you can:
Manage the lifecycle of tc Runtime instances by starting, stopping, and restarting a local or remote instance.
Manage the lifecycle of a group of tc Runtime instances that are distributed over a network of computers.
Configure a single instance of tc Runtime. Configuration options include the various port numbers to which the tc Runtime instance listens, JVM options such as heap size and enabling debugging, default server values for JSPs and static content, JDBC datasources, various tc Runtime connectors, and so on.
Deploy a Web application from an accessible file system, either local or remote. You can deploy to a single tc Runtime instance or to a predefined group of servers.
Manage the lifecycle of applications deployed to a single tc Runtime instance or group of servers. Application lifecycle operations include start, stop, redeploy, undeploy, and reload.
Hyperic 4.6 includes the Spring Insight plug-in. The plug-in enables a Hyperic Agent running on a tc Server instance to auto-discover web applications running on that instance and to obtain detailed, real-time application health and request metrics. You can apply alerting on those metrics, as you can with other Hyperic resources and metrics. A new interface view of application metrics associates the application to currently monitored Hyperic resources such as application servers, database servers, the operating system, and specific resource types. By providing all of this information on one screen, Hyperic makes it easier to pinpoint whether the problem is infrastructure- or application-related. If the application is the culprit, Hyperic-Insight integration enables you to move from Hyperic to Insight, in the same application context, to diagnose the underlying problem.
VMware® vFabric™ GemFire® is a high performance, in-memory distributed data management solution that scales elastically at runtime, ensuring fast, reliable data access in the cloud and across the enterprise. GemFire is language- and infrastructure-neutral, which enables data-sharing across existing process, software, and hardware boundaries.
Business events often require many people to see the same information at the same time in globally distributed environments. These demands strain IT resources, degrade performance, and increase costs for bandwidth, hardware, and personnel. GemFire addresses the problem by provisioning consistent data dynamically at the right place, at the right time, and in the right format in memory. Using dynamic replication and data partitioning techniques, GemFire offers continuous availability, high performance and linear scalability for data-intensive applications without compromising data consistency, even under failure conditions. Data virtualization provides data location transparency and decouples data access logic from applications.
The vFabric Platform offering for vFabric GemFire is the Application Cache Node, which provides peer-to-peer functionality. You can buy an additional, separate license, Data Management Node, which includes client/server and global WAN functionality. For details, see the vFabric GemFire documentation.
Main features of vFabric GemFire 6.6:
Applications run 4 to 40 times faster with no additional hardware.
Data awareness and real-time business intelligence. If data changes as you retrieve it, you see the changes immediately.
Re-engineered APIs and integration with Spring Framework speed and simplify the development of scalable, transactional enterprise applications.
HTTP session replication provides linear scalability, and integrates cleanly with tc Server.
Fixed partitioned regions, for greater control of deployment options.
Portable Data eXchange (PDX) serialization, which provides reduced object size to store more data with less memory, and Language independence for better integration with .NET.
Faster startup and recovery for persistent regions.
Client querying using parameters.
Combines redundancy, WAN replication, and a “shared nothing” persistence architecture to deliver fail-safe reliability and performance.
Continuous querying to provide active data change notifications.
Horizontally scalable to thousands of cache nodes, with multiple cache topologies to meet different enterprise needs. The cache can be distributed across multiple computers.
Support for asynchronous and synchronous cache update propagation.
Optimized low latency distribution layer for reliable asynchronous event notifications and guaranteed message delivery.
The GemFire HTTP Session Management Module provides fast, scalable, and reliable HTTP session replication for vFabric tc Server, Oracle WebLogic Server, and Apache Tomcat with minimal or no application changes. Depending on your usage model, you can replicate session data across multiple peers, partition data across multiple servers, distribute session data across a WAN, or manage your session data in many other customizable ways.
VMware® vFabric RabbitMQ™ delivers highly available, scalable, and portable messaging with predictable, consistent throughput and latency. It is specifically designed to operate and scale in cloud environments, where applications leverage pools of shared infrastructure and data is routed between widely distributed applications. RabbitMQ is the leading implementation of AMQP, an open-standard messaging protocol created as an alternative to costly, proprietary commercial messaging technologies.
Main features of RabbitMQ 2.4.1:
Offers customers and developers a consistent approach to messaging across multiple stacks and more than 70 developer platforms.
Supports all modern messaging patterns: point-to-point (RPC style), point-and-shoot, publish-subscribe, multicast, and more. All are available as durable or non-durable message types.
Protocol-based for better interoperability. Other messaging systems are API based, which limits their interoperability.
Through protocol adapters, supports a full range of Internet protocols for lightweight in-browser messaging— including XMPP, SMTP, STOMP, and HTTP.
Transparent integration with Spring Batch and Spring Integration.
Supported on all major operating systems and developer platforms, and open-sourced under the Mozilla public license.
VMware® vFabric™ Web Server, which is compatible with Apache Web Server, distributes and dynamically balances application load to ensure optimal performance. Unlike Apache Web Server, vFabric Web Server is precompiled, prepatched, and pretuned, resulting in dramatically reduced time-to-deployment and substantially improved performance. vFabric Web Server provides scalability, enhanced security, and performance without the complexity and cost of sophisticated Web infrastructures. Support customers receive a standard, certified, easy-to-install software build, continual product updates, security alerts and patches, guaranteed bug fixes, indemnification on all software in the bundle, and expert technical support.
vFabric Web Server is similar to vFabric ERS. However, vFabric Web Server runs only in a virtual environment, on vSphere and vSphere guest operating systems. It is available exclusively as part of a vFabric Platform package. ERS runs on both vSphere and physical infrastructure.
Main features of vFabric Web Server 5.0:
Sample template that automatically configures vFabric Web Server for a tc Server 2.6 instance.
Precompiled builds that deliver up to 100% performance improvements, increasing uptime and reducing costs for hardware capacity.
Guaranteed binary drop-in bug and security-fix help for every supported platform, to reduce the time you spend on security issues.
Fast installation process that gets you up and running in minutes: consistent installation and directory structure across all operating systems, seamless integration with existing infrastructures, and no preset installation requirements.
Easy installation of multiple instances of on a single server.
Scalable management of multiple Web sites and servers.
In addition to Apache httpd and its core modules, support for mod_ftp, mod_fcgid, openssi, openldap, mod_ik, mod_bmx, libexpat, libapr, zlib.
VMware® vFabric™ SQLFire is a memory-optimized, distributed database management system designed for applications with highly demanding scalability and availability requirements. Applications can manage database tables entirely in memory, or they can overflow table data from memory to disk.
A flexible architecture enables SQLFire to pool memory and disk resources from hundreds of clustered members. This clustered approach provides extremely high throughput, predictable latency, dynamic and linear scalability, and continuous availability of data. SQLFire's memory-speed write performance is well-suited for large-scale databases with high transaction volumes and demanding Service Level Agreements. For systems that require deployment of a relational database across a cluster of machines, such as a grid or cloud, SQLFabric's distributed, shared-nothing architecture can simplify the deployment while providing linear scalability.
Because it leverages the SQL interface and tools, Java, and other widely implemented technologies, SQLFire is easily adaptable to existing database applications. Moreover, a SQLFire distributed system can be scaled out using commodity hardware.
Main features of vFabric SQLFire 1.0:
Enables applications to manage data entirely in memory through partitioning and synchronous replication that distributes data across numerous SQLFire members.
Optimized disk persistence mechanism with a non-flushing algorithm to maintain high performance in applications that require stable, long-term storage.
Memory-based data management that maintains consistently high application performance by eliminating lookup, read/write, and network round-trip latencies.
Elastically scaled so that SQLFire servers can dynamically go online and offline to serve a growing or shrinking demand pattern.
Collocation of application logic with data and execution of application logic in parallel substantially increases application throughput. SQLFire also transparently re-executes application logic if a server fails.
Supports global WAN connectivity with the option of replicating data to remote clusters for disaster recovery.
Based on SQL, JDBC and ADO.net standards. Supports Hibernate, SQuirreL SQL Client, CDC, Spring JDBC, and more.