SpringSource announced on Monday that it had acquired open source system monitoring vendor Hyperic for an undisclosed sum. Hyperic began life as a project at Covalent, another recent SpringSource purchase, before being spun off as a separate company. Their core product, Hyperic HQ, provides availability monitoring for hardware and operating systems, virtual machines, databases and application servers, and is targeted at web infrastructure. The product is dual licensed with a limited version offered under GPL version 2 and a more comprehensive product offered via a commercial license. It comprises a web portlet front end developed with Struts 1.x and Tiles, and a set of agents running on each machine that HQ is monitoring. A distributed J2EE server application running on top of the JBoss Application Server receives inventory and metric data from agents and stores it in a database. Supported databases are MySQL, Oracle and, with some caveats, PostgreSQL.
When an agent is deployed to a machine it automatically collects basic facts about it such as type, vendor, version and location – a process referred to as auto-discovery. In addition, HQ determines other type-specific information such as RAM, CPU speed, IP address and domain name.
The Hyperic product supports three different kinds of monitoring metrics:
- Availability metrics, i.e. is a resource up or down.
- Throughput metrics which track throughput over a period of time. For web applications throughput is typically measured by bytes served, bytes received and number of requests and responses, whilst for databases it is generally based on the number of requests or number of active connections.
- Utilisation figures such as the number of sessions created and destroyed, the number of loaded or reloaded servlets, free JVM memory and EJB creates, removes, loads, stores and so on. Utilisation figures are useful for discovering where application bottlenecks occur by examining the utilisation rates between disk, memory, CPU and network.
The Hyperic HQ product supports alerting based on these metrics and users can configure actions for HQ to perform when an alert fires. For example the product can issue email notifications, set SNMP traps, perform a control action such as restarting a server, or issue a communication to another management system. Users can also define an escalation sequence of responses to a fired alert.
Hyperic's former CEO Javier Soltero, now CTO of Management Products at SpringSource, told InfoQ that Hyperic HQ has around 5,000 active deployments and can collect around 2 million metrics/minute.
In addition to HQ, Hyperic has two other products. Hyperic IQ, a reporting platform for Hyperic HQ Enterprise built on top of JasperSoft's JasperServer Pro product, and CloudStatus, a beta product for monitoring cloud services such as Amazon's EC2 and Google's App Engine. Soltero described CloudStatus as a major strategic driver for the deal with SpringSource, observing that since management problems in the cloud are still poorly understood it represents a good growth opportunity for the company. This is partially because so many aspects of monitoring that are essential in a data centre, such as OS and network monitoring, are irrelevant in the context of the cloud. Soltero went on to describe how using the control action capabilities of Hyperic HQ an operator managing a cloud-based application could rapidly bring additional Tomcat nodes or database slaves on-line in response to a spike in the number of responses a web application was serving.
SpringSource's core business is selling SpringSource Enterprise, a version of the Apache-licensed Spring framework that is instrumented for system monitoring using the Hyperic product. More recently however the company has been expanding into new areas mainly through acquisitions. In 2008 they bought G2One, the company behind the Groovy programming language and Grails web framework, and Covalent, a company that provided support for Apache's Tomcat application server. SpringSource also offers three packaged server products based on Apache's Tomcat and HTTP servers which use Hyperic HQ to provide monitoring capabilities.
By acquiring Hyperic's IP, SpringSource can further integrate the two product sets, although Soltero stated that the Hyperic team will be pursuing the same management agenda as when they were an independent company. He made the point that restricting a monitoring system to just SpringSource's technologies would reduce its competitiveness when enterprise applications are frequently based on a mixed technology stack. Indeed whilst Hyperic is itself a Java product it is also able to monitor Microsoft technologies such as the Windows OS, IIS, Exchange, Active Directory, MSMQ and the .NET runtime, for this reason.
Both Soltero and SpringSource's CEO Rod Johnson also see the merger in broader strategic terms. Writing on their blogs (Hyperic, SpringSource) they argue that communication barriers between developers and operations create significant problems for enterprises building scalable web applications and by merging the two companies they can help bridge the gap between the operations and development teams of an organisation. Soltero expanded on this theme during our interview arguing that the developer mind share which SpringSource enjoys amongst the Java community can provide Hyperic with the leverage necessary to make the manageability of an application a key part of the development process. A developer can instrument an application using JMX to provide contextual information for issues that occur. By making this information available through Hyperic, development and operations are given a common context for diagnosing issues. Put simply, he told us, "The more manageable an application is the more successful a deployment will be".
Johnson agrees and suggests that the increasing use of cloud deployments makes this an even more pressing problem:
"The rise of cloud makes it even more important to bridge the conceptual gap between development and operations. We believe that our middleware is perfectly suited as the basis of Java cloud technology, and the SpringSource/Hyperic combination will allow us to bridge the gap between development and operations in a unique way.
Hyperic has strong technology - in both its released products and development pipeline - to address the needs of modern cloud deployment. Unlike older management products, Hyperic HQ is well adapted to cloud and virtualized deployments, not being limited to a management model predicated on physical machines. Hyperic management products are also highly extensible, allowing for the kind of customization required in cloud deployment."
Rod Johnson and Javier Soltero will be providing further technical details during a live Webinar event on May 20th.