New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Charles Humble on May 07, 2009
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:
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.
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
No comments
Watch Thread Reply