Welcome!

Java IoT Authors: Liz McMillan, Elizabeth White, Pat Romanski, Yeshim Deniz, Jason Bloomberg

Related Topics: Java IoT

Java IoT: Article

Fault Tolerance with Open Source and JVM Clustering

A marriage made in Java

Many in the Open Source community (including the camps following Tomcat, Geronimo, Struts, Spring, and Hibernate) have chosen to focus on solving problems of developer efficiency and software elegance, and are sometimes forced to leave production operating characteristics such as HA (high availability)/fault tolerance and central management control for future releases. Or, in some cases, the elegance of the framework stems from its lightweight nature and thus the user community as a whole can't be made to suffer the complexities of clustering and HA for the needs of the few.

Combine this future feature rollout with the current exponentially increasing adoption of Open Source in enterprise applications - and the result is that enterprises are running some applications with little to no fault tolerance. This leaves the enterprise IT manager stuck between a rock and a hard place, because on the one hand enterprises demand HA at reasonable levels of efficiency, but on the other Open Source applications are cheap to acquire, easy to develop, (albeit sometimes hard to operate), and put out the fires immediately without having to mess with budget approvals. Hands downs, Open Source applications are deployed more frequently than any other software stack, and the IT manager can either ignore the lack of fault tolerance and plan to deal with issues if and when they arise or try to inject HA via additional customization. Solving HA is tricky business as IT managers tend to not want to edit their Open Source framework internals as a one-off.

Therefore, in response to this growing issue, more than five Open Source clustering projects have recently emerged, but the task of integrating them into development frameworks is pretty significant and will realistically take quite some time. Java serialization (some architects refer to this as the big "S") can impose an insurmountable number of complexities on an application's domain model, and simultaneously reduces performance to a significant degree. So what's an IT manager to do, wait and hope for the best?

Enter clustering at the JVM-level. Access to the network when reading and writing objects to heap can be transparent and efficient. Think "network attached memory" with performance optimizations that, at runtime, pushes only heap-level deltas and only to JVMs that are actively accessing particular parts of objects. With heap-level replication, the Open Source frameworks don't have to change when an enterprise IT management team decides an application is too important to run without HA, for example.

Let's examine a use case. Spring Web Flow or Rife Continuations both aim to solve a similar problem for the developer of Web applications. This is a well-understood problem around making support for the "forward" and "back" buttons in Web browsers work in a consistent and logical fashion across Web sites without custom coding by each application developer in each enterprise. For example, in visiting three Web sites a consumer adds an item to his shopping basket at each site. On one site, clicking the "back" button implicitly removes the item from the basket while on the other two it doesn't. This is due to the fact that without container support for the "back" button, a Web app developer is left to his own devices when defining the "back" behavior for the site. Continuations provide an easy way to restore an application's state to the mode it was in when the Web page was first rendered. This lets the developer decide what changes to state should or shouldn't be rolled back without lots of custom code.

This is a very powerful development paradigm. But it trades off the value originally sought after with load balancers and session clustering. That value was one of total fault tolerance; with sessions clustered and a sticky load balancer, no one app server was critical to production operation, and yet the applications didn't bottleneck prematurely on network replication of the session state.

The application server's internal clustering can't always guarantee that the information that the Spring or Rife framework needs to restore state is available on the server that the load balancer has sent the HTTP request to. If Serialization was used to copy the state of a Continuation around the application server cluster, all objects that can be accessed and edited during a response to that request would have to be serializable, and the developer would have to resolve possible conflicts when objects start getting duplicated around the cluster. So Spring and Rife have chosen to leave this problem to a JVM-level clustering solution and have been cooperating with Terracotta. It's a unique marriage, but it works.

Terracotta provides a production-proven JVM clustering engine for Java applications in production. Since clustering at the JVM-level requires no code changes, the technology allows Spring, Rife, Tomcat, Geronimo, and other frameworks to be clustered with no changes either to the framework or the code that enterprises write when using those frameworks. Clustering and, thus, HA, can be injected at runtime after an application is designed, written, QA'd, debugged, and launched into production, as long as no one tries to cluster that application by hand.

Terracotta provides a (pure Java software-based) server that acts as a network attached memory hub and efficiently brokers all communication among the application JVMs. It can be downloaded and comes pre-configured for many current frameworks (with more to come on the horizon). When Terracotta servers are used underneath Open Source frameworks to inject HA at runtime, the Terracotta server's production license is free. However, just to avoid any confusion, please note that Terracotta is a commercial company that offers support and services in conjunction with production use of its products.

The value is in delivering HA to any and all Open Source. And soon Terracotta will introduce a developer area on their web site, where Open Source framework integration will be fully supported via online tools consistent with the community's expectations: support forums, bug tracking systems, etc. Furthermore, the site's developer area will offer open sourced source code that implements key design patterns for working optimally with network attached memory constructs.

The key benefits of combining Open Source and Terracotta:

  • Provides enterprise-level HA to Open Source
  • No changes to frameworks or business logic in the presence of JVM-level clustering.
  • The implementation is cost-efficient with a support-only cost model.
Enterprises can now have Open Source and fault tolerance too.

More Stories By Ari Zilka

Ari Zilka is Chief Products Officer at Hortonworks. Prior to joining Hortonworks, he was CTO at Terracotta, which he founded in 2003. Zilka was also previously an Entrepreneur-in-Residence at Accel Partners and the Chief Architect at Walmart.com, where he led the development of the company's engineering initiatives. Prior to that he worked as a consultant at Sapient and at PriceWaterhouseCoopers.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
John Q Customer 11/03/06 12:55:13 PM EST

'production license if free' per the article, but its really $8000/node/year per the sales person I just talked to at TerraCotta

@ThingsExpo Stories
SYS-CON Events announced today that CA Technologies has been named "Platinum Sponsor" of SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business - from apparel to energy - is being rewritten by software. From planning to development to management to security, CA creates software that fuels transformation for companies in the applic...
"When we talk about cloud without compromise what we're talking about is that when people think about 'I need the flexibility of the cloud' - it's the ability to create applications and run them in a cloud environment that's far more flexible,” explained Matthew Finnie, CTO of Interoute, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
In his session at @ThingsExpo, Eric Lachapelle, CEO of the Professional Evaluation and Certification Board (PECB), provided an overview of various initiatives to certify the security of connected devices and future trends in ensuring public trust of IoT. Eric Lachapelle is the Chief Executive Officer of the Professional Evaluation and Certification Board (PECB), an international certification body. His role is to help companies and individuals to achieve professional, accredited and worldwide re...
Amazon started as an online bookseller 20 years ago. Since then, it has evolved into a technology juggernaut that has disrupted multiple markets and industries and touches many aspects of our lives. It is a relentless technology and business model innovator driving disruption throughout numerous ecosystems. Amazon’s AWS revenues alone are approaching $16B a year making it one of the largest IT companies in the world. With dominant offerings in Cloud, IoT, eCommerce, Big Data, AI, Digital Assista...
When growing capacity and power in the data center, the architectural trade-offs between server scale-up vs. scale-out continue to be debated. Both approaches are valid: scale-out adds multiple, smaller servers running in a distributed computing model, while scale-up adds fewer, more powerful servers that are capable of running larger workloads. It’s worth noting that there are additional, unique advantages that scale-up architectures offer. One big advantage is large memory and compute capacity...
Internet of @ThingsExpo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 21st Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The Internet of Things (IoT) is the most profound change in personal and enterprise IT since the creation of the Worldwide Web more than 20 years ago. All major researchers estimate there will be tens of billions devic...
IoT solutions exploit operational data generated by Internet-connected smart “things” for the purpose of gaining operational insight and producing “better outcomes” (for example, create new business models, eliminate unscheduled maintenance, etc.). The explosive proliferation of IoT solutions will result in an exponential growth in the volume of IoT data, precipitating significant Information Governance issues: who owns the IoT data, what are the rights/duties of IoT solutions adopters towards t...
With the introduction of IoT and Smart Living in every aspect of our lives, one question has become relevant: What are the security implications? To answer this, first we have to look and explore the security models of the technologies that IoT is founded upon. In his session at @ThingsExpo, Nevi Kaja, a Research Engineer at Ford Motor Company, discussed some of the security challenges of the IoT infrastructure and related how these aspects impact Smart Living. The material was delivered interac...
No hype cycles or predictions of zillions of things here. IoT is big. You get it. You know your business and have great ideas for a business transformation strategy. What comes next? Time to make it happen. In his session at @ThingsExpo, Jay Mason, Associate Partner at M&S Consulting, presented a step-by-step plan to develop your technology implementation strategy. He discussed the evaluation of communication standards and IoT messaging protocols, data analytics considerations, edge-to-cloud tec...
The Internet giants are fully embracing AI. All the services they offer to their customers are aimed at drawing a map of the world with the data they get. The AIs from these companies are used to build disruptive approaches that cannot be used by established enterprises, which are threatened by these disruptions. However, most leaders underestimate the effect this will have on their businesses. In his session at 21st Cloud Expo, Rene Buest, Director Market Research & Technology Evangelism at Ara...
Artificial intelligence, machine learning, neural networks. We’re in the midst of a wave of excitement around AI such as hasn’t been seen for a few decades. But those previous periods of inflated expectations led to troughs of disappointment. Will this time be different? Most likely. Applications of AI such as predictive analytics are already decreasing costs and improving reliability of industrial machinery. Furthermore, the funding and research going into AI now comes from a wide range of com...
We build IoT infrastructure products - when you have to integrate different devices, different systems and cloud you have to build an application to do that but we eliminate the need to build an application. Our products can integrate any device, any system, any cloud regardless of protocol," explained Peter Jung, Chief Product Officer at Pulzze Systems, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA
With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend 21st Cloud Expo October 31 - November 2, 2017, at the Santa Clara Convention Center, CA, and June 12-14, 2018, at the Javits Center in New York City, NY, and learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.
SYS-CON Events announced today that Enzu will exhibit at SYS-CON's 21st Int\ernational Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Enzu’s mission is to be the leading provider of enterprise cloud solutions worldwide. Enzu enables online businesses to use its IT infrastructure to their competitive advantage. By offering a suite of proven hosting and management services, Enzu wants companies to focus on the core of their ...
SYS-CON Events announced today that Cloud Academy named "Bronze Sponsor" of 21st International Cloud Expo which will take place October 31 - November 2, 2017 at the Santa Clara Convention Center in Santa Clara, CA. Cloud Academy is the industry’s most innovative, vendor-neutral cloud technology training platform. Cloud Academy provides continuous learning solutions for individuals and enterprise teams for Amazon Web Services, Microsoft Azure, Google Cloud Platform, and the most popular cloud com...
SYS-CON Events announced today that MobiDev, a client-oriented software development company, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. MobiDev is a software company that develops and delivers turn-key mobile apps, websites, web services, and complex software systems for startups and enterprises. Since 2009 it has grown from a small group of passionate engineers and business...
SYS-CON Events announced today that GrapeUp, the leading provider of rapid product development at the speed of business, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Grape Up is a software company, specialized in cloud native application development and professional services related to Cloud Foundry PaaS. With five expert teams that operate in various sectors of the market acr...
SYS-CON Events announced today that Ayehu will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on October 31 - November 2, 2017 at the Santa Clara Convention Center in Santa Clara California. Ayehu provides IT Process Automation & Orchestration solutions for IT and Security professionals to identify and resolve critical incidents and enable rapid containment, eradication, and recovery from cyber security breaches. Ayehu provides customers greater control over IT infras...
In his session at Cloud Expo, Alan Winters, an entertainment executive/TV producer turned serial entrepreneur, presented a success story of an entrepreneur who has both suffered through and benefited from offshore development across multiple businesses: The smart choice, or how to select the right offshore development partner Warning signs, or how to minimize chances of making the wrong choice Collaboration, or how to establish the most effective work processes Budget control, or how to ma...
SYS-CON Events announced today that CA Technologies has been named "Platinum Sponsor" of SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business - from apparel to energy - is being rewritten by software. From planning to development to management to security, CA creates software that fuels transformation for companies in the applic...