On-Demand Enterprise Has Suspended Publication
On-Demand Enterprise

 

On-Demand Enterprise >> Features

Network-Attached Memory: Virtualization for Java Environments


Page:  1  of  2
1 | 2   All  »  

Easing application scalability across a cluster is a problem being solved in a variety of ways. Terracotta does it with memory – network-attached memory, to be exact. The company's infrastructure software creates an expandable/retractable pool of shared memory that Java applications can tap to meet increasing demand.

Network-attached memory is analogous to network-attached storage (NAS) in that it provides a service to thousands of connected clients transparently. As NAS is transparent underneath the file system, network-attached memory is transparent underneath the Java language, says Jeff Hartley, vice president of products and marketing at Terracotta. Objects are manipulated and kept consistent in memory like files are in NAS, but in Terracotta's memory pool, everything can be massively scaled out.

"Another way to think of it is virtualization for the Java environment," Hartley says. "In the same way that a hypervisor slices a machine into several logical machines, Terracotta takes many physical machines and connects them as one logical machine."

Developers don't have to change their applications to get clustering behavior. A clustered application looks the same as a Java application. Essentially, users tell Terracotta what to do in a config file, Hartley says, and the software injects that behavior into the application at runtime. Not only is there is no API required to send messages across the cluster, he says, there is no API at all. Terracotta uses plain old Java objects and plugs into familiar frameworks like Spring, Hibernate and EHcache so developers can continue using the same tools, stacks and development models.

"We provide an open source clustering solution," says Hartley. "It's scalability and high availability for Java enterprise apps, without having to change your application code. We actually hook into the Java virtual machine and share data."

Beside simplified clustering and scalable performance, Hartley says Terracotta's approach also brings "high availability without tradeoffs" -- the possibility of reducing database bottlenecks, achieving better use of hardware, lowering maintenance costs, and, because the software takes care of adding clustering capabilities, focusing on developing new applications rather than retooling old ones.

"We're working at the level of memory. If you have App Server A die, the user gets sent to App Server B, and all the data is sent from memory to B without the user even realizing it," Hartley says. "We provide high availability by putting everything in memory instead of adding racks of servers."

When you add a server to handle demand, it just "joins the group." "You don't have to implement anything. Just add the servers and we make them members of the cluster's shared memory pool. Our server keeps your server's data in sync," Hartley says. Changes to one virtual machine are instantaneously reflected to every virtual machine throughout the cluster that needs to know.

Because data can be shared between Java virtual machines and processed at in-memory speeds, some customers use the software to take load off their databases. Transient data like user session info or shopping cart info can be kept and processed in memory, while only critical results are sent to and kept in the database. "Terracotta is used to handle the work-in-progress data while a process is running, and only the completed data goes to the database. As a result, some of our users have been able to reduce database utilization by as much as 70 percent and not have to buy more database licenses to meet increased workload," Hartley says.

Eliminating mundane work for IT staff is one of Terracotta's other major selling points. As company CTO Ari Zilka explains in a video tour of the software, "You don't have to write the plumbing or maintain the plumbing. ...You can run an app on two servers at midnight and on 20 servers at noon. It frees IT to run apps the way they need to run them" and focus development time on more important business issues, he says.

Page:  1  of  2
1 | 2   All  »  

Article Tools

  • Print This Page
  • Bookmark This Article

Share Options

(Digg, Technorati, more)


Subscribe

Discussion

There are 0 discussion items posted.