If you haven’t heard, the SpringTrader reference architecture is used to help Java-based application architects, developers, infrastructure, and operations teams advance their application roadmaps and provide reusable patterns. Some might also consider how vFabric Application Director can be used with the SpringTrader app to enable continuous deployment or automatically provision and scale the app in a completely virtual data center (i.e. a software defined data center). As well, vFabric Application Performance Manager can be used to monitor the entire stack and trigger automated scaling events like adding a new JVM and tc Server to the SpringTrader app’s production environment. Continue reading →
Capacity planning in the enterprise is no easy task. In this post, we provide an overview for sizing VMware’s elastic, in-memory data management product, vFabric GemFire and a link to an in-depth, technical article.
Setting the Stage for Memory Sizing
Enterprise applications today are distributed systems that have to satisfy increasingly more complex business requirements. When the ever growing demand for managing more data is added, the task keeps getting harder.
One of the key factors in capacity planning for memory intensive systems, such as in- memory data stores, is memory capacity. Even though the price of memory keeps going down, data capacity requirements keep going up, and this makes memory as precious a resource as ever. As large systems become even larger, it becomes more important to manage this resource efficiently. In addition to obvious reasons, such as Total Cost of Ownership (TCO), there are technical challenges that come with large memory pools. For one, garbage collection (GC) takes more time, which can affect both latency and throughput. Determining memory requirements correctly is both crucial and difficult.
That is why this post and the related technical article focus on memory sizing and provide concrete guidelines for determining required memory for optimal performance, especially in large scale vFabric GemFire deployments. GemFire has facilities that can be very useful for memory sizing. The article not only explains the facilities, but also describes a method and guidelines to take the guesswork out of memory sizing process. Continue reading →
With multiple Tomcat instances, each runs in its own JVM, with its own configuration, and can be started or stopped independently, while still running against the same core binary. There are a variety of reasons to do this in practice. For example:
Simplify updates by separating instance specific data like web applications from the core Tomcat software.
Maintain central control (and restricted permissions) on core Tomcat software, while allowing Tomcat instances to run as individual users without root permissions.
Isolate web applications to a particular Tomcat instance for protection from faults in other applications.
Permit application-specific performance monitoring (and usage billing) by having each application in its own Tomcat instance.
Configure the Java Virtual Machine specifically for the needs of the application(s) running on that Tomcat instance.
Configuring Tomcat such that a single binary runtime directory supports multiple independent instances is a simple matter of creating the correct directory hierarchies and setting a couple of environment variables. vFabric tc Server automates these tasks, but uses the same underlying mechanism as Tomcat. Given these basic facts, it’s easy to adopt a tc Server best practice for use with Tomcat. Continue reading →
VMware is heading to JavaOne this week (right next door to Oracle Open World where you can also find us at booth #1733) As the providers of the ever popular Spring framework, its no surprise we have a packed show planned.
At VMworld-2012 San Francisco, the session APP-CAP1426 – The Benefits of Virtualization for Middleware was greatly attended, and we want to thank all of the attendees that helped us score 4.5 out of 5 in our survey results. Because of this, the session is going to be presented at VMworld-2012 Barcelona, and we are posting related information here in this article. Before reading this article, you might want to take a look at the related blog post we released before VMworld-2012 San Francisco.
NOTE: Just like in VMworld-2012 San Francisco, at Barcelona we will raffle copies of my book the Enterprise Java Applications Architecture on VMware
This year at the session, we went deep into tuning large-scale middleware and the discussion around JVM tuning was well received. Hence as a follow-up, I wanted to share some of my more recent research, which will be discussed at VMworld-2012 Barcelona. This focuses on tuning in-memory data management systems such as vFabric SQLFire.
The article below covers:
An Overview of GC Tuning
Parallel GC in Young Generation and CMS in Old Generation
GC Tuning Recipe
Step A – Young Generation Tuning
Step B – Old Generation Tuning
Step C – Survivor Spaces Tuning
JVM and GC Best Practices for vFabric SQLFire Members
Register for Session (APP-CAP1426 – The Benefits of Virtualization for Middleware): Click Here
Follow all vFabric updates at VMworld on Twitter: Click Here
Middleware virtualization has three key trends that we are observing with our customer base:
2) Elasticity and Flexibility, and
In this blog, we examine each one of these trends briefly and invite you to come along for technical deep dive at this year’s VMworld session APP-CAP1426 – The Benefits of Virtualization for Middleware to be presented in both San Francisco and Barcelona.
Many of our customers find that their middleware deployments have proliferated and are becoming an administrative challenge associated with higher costs. We see a trend across customers who look to virtualization as a way of reducing the number of server instances. At the same time, customers are taking the consolidation opportunity to rationalize the number of middleware components needed to service a particular load. Middleware components most commonly run within a Java Virtual Machine (JVM) with an observed scale of 100 to 1000s of JVM instances and provide many opportunities for JVM instance consolidation. Hence, middleware virtualization provides an opportunity to consolidate twice – once to consolidate server instances, and, secondly, to consolidate JVM instances. This trend is far-reaching, because every IT shop on the planet is considering the cost savings of consolidation.