Goldman Sachs Trades Up and Scales Out
Goldman Sachs Trades Up and Scales Out
When Goldman Sachs faced an important build-versus-buy decision on a project to add clustering to one of its Java-based trading solutions, the renowned investment house decided to buck tradition and actually look for a commercial solution that would suit their needs.
After a bake-off of competing offerings, Goldman decided on San Francisco-based Terracottas clustering software as the foundation for its system upgrade.
Terracotta simplifies the scale-out of Java applications by adding needed services to the Java run-time, said Ari Zilka, president and chief executive of Terracotta. By delivering these API-free clustering and caching services, Terracotta dramatically improves the availability and scalability of production-level Java deployments, Zilka said. The Terracotta product suite provides powerful tools to help enterprise organizations design and develop clustering and caching, he added.
"We do scale-out, as opposed to scale-up," Zilka said. "Scale-out is commodity hardware," he said, adding, "Were not a hardware vendor so were not talking about hardware, just a deployment model."
David Campbell, vice president for principal investments at Goldman, said the company had experienced a flood of new demands for its ever-increasing pool of data and decided to upgrade its systems to accommodate the need.
So around the middle of last year, "The team was tasked with taking the existing system and scaling it by an order of magnitude and delivering the services," Campbell said. "They were looking at their applications and considering ways to tune those. The data began to grow ... and they were partitioning the data by hand.
"On top of this, the problems continued to grow exponentially with the growth of the data," Campbell said. "So they said they wanted the data in a single pool across the application that would allow them to build clustered services that could scale and move things independently based on which way the business was going."
After a trial run of potential candidates, "The feeling was if we could get the benefits of a commercial product and leverage their development it would help us along," Campbell said. "About three months into the effort, Terracotta was introduced to the group, and they brought it in, and, within 3 hours, they had it up and running."
"Its a little embarrassing that it took a little more than 3 hours," Zilka said. "Today its more like an hour and a half. We call it less than a week. ... The out-of-the-box experienceTOOBEis what we call it. We learned that from the guys who founded WebLogic years ago."
Meanwhile, "being able to get the results our guys wanted without having to do any work essentially was just really very, very impressive," Campbell said.
At the time, Goldman was the first Terracotta customer interested in doing this massive data scale-out, Zilka said. "And we found some things that Terracotta hadnt thought about at that scale, and over the next two months, Terracotta gave a series of releases that addressed our concerns," added Campbell.
Zilka said Terracotta is a drop-in solution that requires no intervention to the users business logic or existing code.
"Things like Spring and Hibernate are meant to simplify your business logic," Zilka said. "So you have to go to frameworks like Spring, which are not clusterable, and then to Hibernate. And all of these tools get complicated in the world of scale-out. Clustered app servers are expensive, and they dont scale. Our layer is a physical server as a set of JARs [Java Archives] that fit on your server."
Zilka said Terracotta preserves the use of frameworks and acts as a run-time discovery and cluster manager.
Next Page: Changing the Java game.
Changing the Java game
"Think of it as a HotSpot for clustering," Zilka said. HotSpot is Suns Java virtual machine. And Terracotta extends the Java run-time, he said.
Among the trends that drove Goldman to seek a solution such as Terracotta were the need to do more for less cost, an increase in use of Java and Web services, a data explosion within the company, and increased complexity in system needs and user requirements, Campbell said.
"Complexity drives increased costs, time to market and outages," Campbell said. "We have 15,000 servers out there doing enterprise apps, and another several thousand doing risk analysis."
Vladimir Zakharov, vice president of technology and technical architect at Goldman, said the companys existing system shared a pool of data across a community of 20 applications.
Zakharov said there was limited scalability: A monolithic cache supported a limited number of concurrent requests and could not scale without explicitly replicating the data. But the companys new requirements called for scalable applications and unlimited system scalability, he said.
Goldman did a lot of testing on Version 1.0 of Terracottas solution but that version performed below the companys requirements, Zakharov said. Version 1.5, which is in test internally at Goldman now, is meeting the companys needs, he said.
"Terracotta DSO [Distributed Shared Objects] is a very compelling solution," Zakharov said.
"Terracottas the only company out there saying you dont need another API," Zilka said. "You dont need a tool to get this done at design time."
Meanwhile, "the status of the app is [that] they are still testing to make sure that everything works," said Campbell of the efforts at Goldman to integrate Terracotta. "So its in test mode. They just received a beta version of 1.5, and that testing should be done over the next couple of weeks. The go-live date for this is later in the year."
Campbell said the application in question is currently taking in 12GB of data.
"It has 5 million positions, and were hoping to take that to 10 million by the end of the year," Campbell said. "A position is a refined view of some activity inside Goldman Sachs. It contains a number of data points. There are 35 data points on your average position. Theres a minimum of 35 data points in any brokerage houses definition of a position."
Moreover, with the goal of 10 million positions by the end of the year, "theyre looking at essentially unlimited scaling for a series of reasons," Campbell said. "The first one is that our business is continuing to grow, and theres an increasing number of complex instruments that are creating even more data. The second reason is that if these position objects become cheap in terms of our ability to continue to invent more, then we can build more applications and start to add more information to extend our business. It becomes a good business for us."
Zilka said he sort of bucked the trend in creating Terracotta. "Java provides a tool kit for developers to take an object and create a copy of it and ship it across the network to another server," Zilka said. "So everybody that preceded Terracotta jumped down that development path and said, Im just going to use this serialization API because its the tool youre supposed to use to copy an object between machines. But in using that tool, Java Native Serialization, youve already jumped down the path of creating copies of data. And youve got a non-drop-in solution."
Indeed, "Interestingly, that serialization tool is really a non-Java-ish tool," Campbell said.
Zilka said Terracotta is about to deliver Version 2.0 of its software, which will "change the game for Java in the enterprise."
Meanwhile, Goldman is not only testing and preparing to go live with Terracottas software, it also has invested in the software company. Goldman was part of a second-round funding of $13.5 million in Terracotta in February.
Check out eWEEK.coms for the latest news, views and analysis on servers, switches and networking protocols for the enterprise and small businesses.