Leadingedge Java Scaleout Strategies for Wall Street: An Architectural Case Study with Goldman Sachs - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Leadingedge Java Scaleout Strategies for Wall Street: An Architectural Case Study with Goldman Sachs

Description:

Ari Zilka - CEO & Founder, Terracotta. Formerly Chief Architect at walmart.com ... Terracotta. Enterprise-class clustering & caching for enterprise Java applications ... – PowerPoint PPT presentation

Number of Views:127
Avg rating:3.0/5.0
Slides: 19
Provided by: lighthous
Category:

less

Transcript and Presenter's Notes

Title: Leadingedge Java Scaleout Strategies for Wall Street: An Architectural Case Study with Goldman Sachs


1
Leading-edge Java Scale-outStrategies for Wall
StreetAn Architectural Case Study with Goldman
Sachs
  • Ari Zilka
  • Terracotta, Inc.David CampbellVlad Zakharov
  • Goldman Sachs

2
Speaker Backgrounds
  • Ari Zilka - CEO Founder, Terracotta
  • Formerly Chief Architect at walmart.com
  • Fortune 500 experience with Siemens, Gap Inc.,
    Intel, Atmel and others
  • David Campbell - VP Goldman Sachs Principal
    Investment Area
  • 20 years IT experience HPC RD OS Development
  • 12 years Goldman Sachs IT Systems Architect
    Technology Fellow
  • Vlad Zakharov - VP Technology, Goldman Sachs
  • 12 Years of programming experience
  • 5 Years Goldman Sachs IT

3
Agenda
  • Java Scale-out on Wall Street
  • Transparent Clustering
  • Demo
  • Using Terracotta
  • Extending the Java Runtime
  • More Demos
  • Goldman Sachs - Case Study

4
Java Scale-out on Wall Street
  • Java is ubiquitous on Wall Street
  • According to Forrester, most Java applications on
    Wall Street are scaling out
  • Wealth management app - 90-150 CPUs
  • Straight-through processing app 150-300 CPUs
  • Risk management app - 90-150 CPUs
  • Clustering of Java Applications is Unavoidable
  • Adoption of commodity x86 hardware
  • Increased business load

5
Scaling-Out Java Applications
Business Logic
Original Promise of Java Just focus on the
business logic And let the JVM handle
everything else
App Server
JVM
6
Scaling-Out Java Applications
Business Logic
As applications scale, business logic grows
farther From the JVM
App Server
JVM
7
Scaling-Out Java Applications
Business Logic
Frameworks are added to reduce
complexity Spring Hibernate, etc
Frameworks
Frameworks
App Server
JVM
8
Scaling-Out Java Applications
Business Logic
Business Logic
But frameworks are not easy to scale
across Multiple JVMs
Frameworks
Frameworks
Frameworks
Frameworks
App Server
App Server
JVM
JVM
9
Scaling-Out Java Applications
Business Logic
Business Logic
Clustered App Servers Are Expensive
Frameworks
Frameworks
Frameworks
Frameworks
App Server
App Server
JVM
JVM
10
Scaling-Out Java Applications
Business Logic
Business Logic
Frameworks
Frameworks
Frameworks
Frameworks
App Server
App Server
Terracotta DSO
Management Console
JVM
JVM
Terracotta Server
11
Transparent Clustering Advantages
  • Eliminates Complexity
  • No code changes
  • Drop in clustering
  • Preserves use of frameworks
  • Isolates cluster solution from framework and
    application changes
  • Runtime discovery and cluster management
  • Think of it as HotSpot for Clustering
  • Runtime consoles provides visibility and tuning

12
DEMO 1
  • Transparent Clustering A Swing Application

13
Sample Application
package demo.jtable import javax.swing.JFrame im
port javax.swing.JScrollPane import
javax.swing.JTable import javax.swing.table.Defau
ltTableModel class TableDemo extends JFrame
private DefaultTableModel model // Shared
object private static Object tableData
" 900", "", "", "", "1000", "", "",
"", "1100", "", "", "", "1200", "",
"", "", " 100", "", "", "", " 200", "",
"", "", " 300", "", "", "", " 400",
"", "", "", " 500", "", "", ""
TableDemo() super("Table Demo")
setSize(350, 220) setDefaultCloseOperation(JF
rame.EXIT_ON_CLOSE) Object header
"Time", "Room A", "Room B", "Room C" model
new DefaultTableModel(tableData, header)
JTable schedule new JTable(model)
getContentPane().add(new JScrollPane(schedule),
java.awt.BorderLayout.CENTER) public
static void main(String args) new
TableDemo().setVisible(true)
14
Cluster Defined in Configuration File
ltterracotta-configgt ltdsogt
ltserver-hostgtlocalhostlt/server-hostgt
ltserver-portgt9510lt/server-portgt
ltdso-clientgt ltrootsgt ltrootgt
ltfield-namegtdemo.jtable.TableDemo.modellt/field-
namegt lt/rootgt lt/rootsgt
ltincluded-classesgt ltincludegtltclass-express
iongtdemo..lt/class-expressiongtlt/includegt
lt/included-classesgt lt/dso-clientgt
lt/dsogt lt/terracotta-configgt
15
Extending the Java Runtime
  • Example Memory Management
  • The JVM takes care of memory allocation and
    garbage collection for the developer
  • The Java Runtime is far more efficient at
    managing this than the developer
  • More information available at runtime than at
    development time
  • Allows developers to focus on business logic
    instead of infrastructure concerns
  • Move clustering to the runtime
  • Extending Javas natural multi-threaded semantics
    to multi-node computing

16
Terracotta
  • Enterprise-class clustering caching for
    enterprise Java applications
  • Terracotta DSO Terracotta JDBC

17
DEMO 2
  • Transparent Clustering Fine-grained changes
    performance

18
DEMO 3
  • Transparent Clustering Sharing a work queue
Write a Comment
User Comments (0)
About PowerShow.com