Terracotta and Eucalyptus Integration Provides Data Management and Elastic Provisioning in the Cloud
Terracotta recently announced a partnership with open source private cloud platform vendor Eucalyptus that allows the companies to provision private clouds on the Amazon AWS-compatible Eucalyptus cloud platform and take advantage of the elasticity and flexibility of the cloud.
Eucalyptus is compatible with the Amazon AWS public cloud infrastructure and its design gives users the option of moving applications from on-premise Eucalyptus clouds to public clouds, and vice versa. It also supports "hybrid" clouds allowing a composite of private (generally used to store private data) and public (provided by cloud service providers to offer customers the ability to deploy and consume services) cloud resources together to get the benefits of both deployment models. By addressing the data layer and to provision elastic cloud resources within internal infrastructure, Eucalyptus and Terracotta integration gives the organizations a way to build private clouds using commodity hardware and the virtualization technology.
InfoQ spoke with Ari Zilka (CTO and co-founder, Terracotta) and Rich Wolski (CTO and founder, Eucalyptus) about new partnership and what it means to developers who are using Terracotta or Eucalyptus products in their applications.
InfoQ: What was the main motivation for the new partnership to integrate Terracotta with Eucalyptus software?
We have both seen the need for the combined feature set we offer in a number of customer engagements, so working together made a lot of sense. Eucalyptus provides the provisioning and management framework for building and operating private clouds, and Terracotta ensures application data can elastically scale to meet the demands of this dynamically configured compute tier. The products are very complementary.
InfoQ: Can you give details on what this integration means to developers who are using either Terracotta or Eucalyptus in their applications?
Developers using Eucalyptus as a cloud platform can immediately use the Terracotta scaling and caching frameworks to quickly build scalable web sites and Java applications, and deploy those applications to either Eucalyptus or to Amazon AWS. Developers already using Terracotta in Amazon's cloud can bring those applications and sites into a Eucalyptus-managed an on-premise cloud within their own data center.
InfoQ: Can you provide some metrics on the performance, scalability and workloads where Terracotta and Eucalyptus combination works better than the alternative architectures that don't use TC/Eucalyptus?
The primary benefit of using Eucalyptus and Terracotta together is to simplify scale-out without sacrificing performance. We are completing joint testing now and will be able to share some figures soon, but the partnership is not so much about performance as simplifying elastic scale-out while retaining the performance you are able to achieve through mechanisms like distributed caching.
InfoQ: Can the organizations use the new Terracotta/Eucalyptus integrated software solution in public cloud environments as well?
Yes, since Eucalyptus is interface-compatible with Amazon AWS, organizations that have implemented Terracotta with Eucalyptus can seamlessly move their applications and environment to Amazon for scalability purposes.
InfoQ: Are there any monitoring tools for the developers to use when they use TC and Eucalyptus software in their applications?
Eucalyptus and Terracotta together can support a wide variety of standard system monitoring tools, including Nagios and Ganglia. Performance monitoring tools are also available.
Terracotta provides management and monitoring tools, which include Hyperic monitoring of physical assets within the Terracotta cluster and integration with a variety of third party monitoring frameworks via JMX.
We went on to discuss the technical details of how Ehcache solution helps with scaling an application that needs to access a database. Ari said that Ehcache can serve as a local cache that the developers can use to boost the performance of single node or multi-node applications where inconsistent data in the cache is acceptable. In cases where cache data consistency is important, Ehcache can be distributed using the Terracotta Server Array. This gives developers a distributed cache that maintains data coherence. Developers can access this capability directly using the Ehcache API, or by using Ehcache as Hibernate Second Level Cache provider.
He also said that in testing with the Spring Pet Clinic reference application, clustered Ehcache yielded higher throughput and lower latency than a database for read-only and read-mostly data access. Ehcache can be used to better decouple application scalability from underlying databases, making the applications easier to scale generally, and especially in cloud deployments. Ehcache team is preparing a white paper with the latest performance results and anyone interested in obtaining a copy should contact them to get a copy when it's complete.
Terracotta and Eucalyptus Working Together