SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Scaling Out Tier Based
Applications
Nati Shalom
CTO
GigaSpaces
www.gigaspaces.com
TS-1595

                     2006 JavaOneSM Conference | Session TS-1595 |
Objectives
• Learn how to transform existing tier-based
  applications into dynamically scalable services
  using Space Based Architecture (SBA):
  •   Distributed caching
  •   Parallel processing
  •   Virtualization
  •   Dynamic provisioning




                      2006 JavaOneSM Conference | Session TS-1595 |   2
Agenda
• Nati Shalom: CTO, GigaSpaces
   • Turning tiers into scalable services using SBA
   • www.gigaspaces.com


• John Davies: CTO, C24
   • Using SBA to deliver scalable trade execution engine
   • www.c24.biz


• Frank Greco: Chair, NYJavaSIG
   • Patterns and use-cases for using SBA to achieve scalability
   • www.javasig.com

                          2006 JavaOneSM Conference | Session TS-1595 |   3
Before We Begin
“Scalability for Dummies”
   • Scale-out
      • Scale by adding more (duplicates) application processing
        units (services) on a dynamic pool of machines
   • Scale-up
      • Scale by adding more processing power (CPU’s) to a
        single machine
   • Linear scalability
      • The overall throughput = number of processing units *
        throughput per unit
   • Dynamic scalability
      • Scale on demand (usually using some sort of provisioning
        and monitoring capabilities)


                          2006 JavaOneSM Conference | Session TS-1595 |   4
The Business Motivation
• Process increasing volume of information faster
  and at a lower cost
• Why?
  • Financial applications
     • Electronic trading—generate more volume
     • New regulation rules—requires real time decision making
     • Low latency = who wins the deal first
  • Telco
     • Billing—pre-paid services requires real time decision making
     • Voip/3G—increasing volume of information
  • Others
     • RFID
                        2006 JavaOneSM Conference | Session TS-1595 |   5
The Ideal Scenario—
“Write Once Scale Anywhere”
              Processing Unit 1                        • Process increasing volume
                                                         of information
                     X TPS
                                                             • Scale out to get more
Incoming     Processing Unit 2                                 processing power when
Transactions                                                   volume increases
                     X TPS
                                                       • Shorter time
              Processing Unit 3 Total TPS =                  • Through caching
                     X TPS
                                    X*N                      • Through parallelizing
                                                               of transactions
                                                       • Lower cost
              Processing Unit N                              • Pooling low commodity
                                                               resources
                     X TPS                                   • Better utilization

                                  2006 JavaOneSM Conference | Session TS-1595 |   6
To ensure reliability all states is




                                               •
                                                   stored in a centralized DB

 The Reality
                                                    To reduce latency business logic is




                                               •
                                                   often written as stored procedures.

                                                   This leads to I/O bound applications that are
                                                   limited to scaling up model




   The Middleware is the Bottleneck
     Synchronous
     Communication

               True Load
                    scalability could not be achieved
                    Balancer
      without solving the middleware bottleneck on both
Most applicationsand processing (Business Logic) layers
          data scale on       Presentation Business Data
one dimension—the                      Tier              Tier             Tier
presentation tier and leaves
the backend centralized




                               2006 JavaOneSM Conference | Session TS-1595 |   7
The Challenges—Scaling with Today
Tier Based Approach
• Parallelizing centralized architecture
• How to scale when there are too many (independent) moving parts
• Consistency: each tier maintains its own HA and consistency
  model; scaling out of several tiers together while maintaining
  coherency of the system becomes pretty complex
• Serialization overhead: communication between sub components
  create significant performance overhead
• Scaling up vs. scaling out: currently enforces different architecture
  implementation per model; how to create a model that will enable a
  combination of the scale-up and scale-out models without changing
  the code
• Dynamic scalability: requires support from the application—to
  enable external life cycle management; export matrix that will
  trigger up scaling, down scaling events
                            2006 JavaOneSM Conference | Session TS-1595 |   8
Turning the Tiers into Scalable Virtual Services

Parallelize the execution between transactions
while maintaining FIFO within transactions

                                                Question:
Thin                                                         •Improve Performance
                                            What technology Memory Data Grid through
  Thin
Client                                                       In
    Thin
 Client                                     can I use to do all
                                                             •Virtualize the data through
    Client                                         that?     Partitioning
             Common
             Load
             Balancing

                                                                                         External
                                                                                            DB
Rich
  Rich
Client
    Rich
 Client              Presentation Business Data
    Client               Tier    + Tier + Tier

                   Reduce the serialization overhead and simplify the deployment through
                   consolidation of the tiers into logical processing units


                                     2006 JavaOneSM Conference | Session TS-1595 |   9
Space Based Architecture (SBA)
                                     • Write: writes a data object
           Write                     • Read: reads a copy of a data object
                                     • Take: reads a data object and deletes it
                                     • Notify: generates an event on
                                       data updates
Read, T                              • Providing virtualization middleware for
        ake,           Read, Take,
  Notify                               Distributed Services providing:
                         Notify           •   Data caching
               Write




                                          •   Load balancing
                                          •   Messaging—1/1, */*, workflow, CBR
                                          •   Parallel processing
                                     • Using one common model, technology
                                       and runtime environment


                        2006 JavaOneSM Conference | Session TS-1595 |   10
Space Based Middleware Virtualization
   Single Virtualization Technology for Data-Tier and Processing Tier

                                                        • Same data can be viewed
                        Clustered Space       Virtual
               JDBCTM                          Table
                                                          through different interfaces!
                                                        • A single runtime for
                                                          maintaining scalability,
Applications




                JMS
                                                          redundancy across
                                                          all systems
               JCache
                                                        • Reduces both the
                                                Virtual   maintenance overhead and
               Space                         Topic/Queue
                                                          development complexity
                                                        • Provides Grid capabilities to
                                                          existing applications
                       Virtual Middleware

                                            2006 JavaOneSM Conference | Session TS-1595 |   11
Dynamic Scalability Through
Virtualization of the Container
• SLA driven deployment
  and management
• Adding dynamic
  scalability and failover,
  automation of
  deployment and service
  centralized monitoring                        Intra Services Messaging Bus

  using the ServiceGrid
                                                        Intra Services Messaging Bus

         Incoming
         Requests                                             Intra Services Messaging Bus
         (Synchronous and
         Asynchronous)
                                                                         Intra Services Messaging Bus




                                                                               Service Grid

                              2006 JavaOneSM Conference | Session TS-1595 |    12
Can this Work with Existing
J2EE™ Platform-based Apps?
                                                        Extending J2EE platform
         Applications                                   through virtual Middleware
                                                        implementation
   Application Middleware

    Web/Application Containers
               MVC                                        •   Distributed caching
          Business Layer                                  •   Parallel processing
         JMS, JDBC, EJBTM                                 •   Messaging bus
               ORM
   (Hibernate/JDO/iBatis/EJB 3s)

   J2EE Platform Container                       Use JCA, Session Bean as the
                                                 abstraction/ integration layer
         OS/Hardware

                         2006 JavaOneSM Conference | Session TS-1595 |   13
Spring Makes it Seamless Transition

                                                           Using Spring to slide-in
          Applications                                     virtual middleware while
   Application Middleware                                  keeping your POJO
                                                           unaware of that
    Web/Application Containers
              MVC
                                                             • Distributed caching
           Business Layer
                                                             • Parallel processing
    Spring—POJO Abstraction                                  • Messaging bus
                ORM
    (Hibernate/JDO/iBatis/EJB 3s)

    J2EE Platform Container

          OS/Hardware

                            2006 JavaOneSM Conference | Session TS-1595 |   14
Using SBA to Deliver Scalable
Trade Execution Engine
John Davies
CTO
C24 Solutions
www.c24.biz

TS-1595
                2006 JavaOneSM Conference | Session TS-1595 |
Pre-Trade Execution
Typically ECNs and OMSs
• >5 million orders per day
    • Typically Foreign Exchange (FX) and Equities
•   >1000 orders per second
•   Confirmation notification <5ms
•   Near real-time liquidity monitoring (<100ms)
•   Highly available and resilient
•   Dynamically scalable
    • Without taking the system down


                       2006 JavaOneSM Conference | Session TS-1595 |   16
Pre-Trade Execution Architecture
   Logical View                                                  Orders are kept in the in memory
                                                                 data-grid

                               Write sub-section
                                                               Unmatched
                               1 to local space                              Replicate
                                                                 Orders
                                  and Match



           Write new orders    Write sub-section                                             Asynchronous copy
                                                               Unmatched
              into Space       2 to local space                             Replicate        of all state for queries
                                                                 Orders
                                  and Match

                                            Space
                               Write sub-section
                                                               Unmatched
                                                                                                    Space
           Write new orders    3 to local space                             Replicate
                                                                 Orders
              into Space          and Match



• Order are partitioned        Write sub-section
                                                               Unmatched
  and processed in             4 to local space
                                                                 Orders
                                                                             Replicate
                                                                                         Heavy weight queries could be
                                  and Match
  parallel based on                                                                      performed on replica to reduce
  correlation id                                                                         overhead on the matching
• Scaling out is done         Collocating parsing and matching
                                                                                         server
  through relocation of       business logic
                                                     Notifications                                 Notifications
  partitions to different
  machines                                                                                 Matching state
                                         Match Notifications
                                                                                            and Liquidity

                                                   2006 JavaOneSM Conference | Session TS-1595 |     17
Java™ Technology Binding
Gives More Flexibility
• Many message standards are non-XML based
  • e.g. SWIFT, FIX, etc.
  • FpML is a rare exception but the validation rules
    extends beyond XML Schema
• Binding messages to Java technology provides
  better integration, performance and flexibility
• Most SOA/ESB vendors are XML centric, this is
  fine outside of the grid/bus but not internally
• IONA and C24 provide high-performance object
  binding for better SOA performance and
  integration
                      2006 JavaOneSM Conference | Session TS-1595 |   18
Post-Trade Matching Engine
For Post-Trade Matching
•   >1 million trade pairs per day
•   >1000 trades per second
•   Match confirmation <5ms
•   Near real-time liquidity monitoring (<100ms)
•   Highly available and resilient
•   Dynamically scalable
    • Without taking the system down



                      2006 JavaOneSM Conference | Session TS-1595 |   19
JavaSpaces™ Technology Provides
a More Flexible Grid/Bus
3-Tier Has Had Its Day
• Slide 1 and 4 are the same, the architecture
  is flexible
• Better still the same grid can be used for both
  solutions—simultaneously
• JavaSpaces technology + Java technology
  binding are quick to develop
   • A lot of the code is generated
• JavaSpaces technology is simpler to understand

  than Servlets

                         2006 JavaOneSM Conference | Session TS-1595 |   20
SBA Works for ESB and SOA
• Try to think out of the box—SOA is not new
• We can still expose services without XML
  • Just bind them to an Object
  • XML can still be used but don’t mandate it
• A true SOA or ESB must handle non-XML
  services
  • If it communicates internally without XML it’s going to
    be more flexible
• A Space Based Architecture (SBA) provides the
  flexibility needed for true SOA and ESB
                      2006 JavaOneSM Conference | Session TS-1595 |   21
No More Tiers—
Space-Based Computing
Use Cases
Frank Greco
Chair
NYJavaSIG, NY Java User Group
www.javasig.com

TS-1595
                   2006 JavaOneSM Conference | Session TS-1595 |
No More Tiers—Use Cases for
JavaSpaces Technology (Some Ideas)
More than Just a Data Cache or a Generic Dispatcher

•   Middleware Replacement
•   Distributed Grid Computing
•   JMX™ API Repository
•   Grid in a Box
•   Enterprise Service Bus
•   SOA Mesh


                      2006 JavaOneSM Conference | Session TS-1595 |   23
Middleware Replacement
• Improvement over RPC
  •   Loosely coupled
  •   Built-in reliability
  •   More scalable
  •   More SOA-friendly
  •   Pull model—naturally load-balancing
• Improvement over CORBA/SOAP
  •   Implicit retries
  •   Higher performance
  •   More scalable
  •   Can easily work with SOAP and other WS
                       2006 JavaOneSM Conference | Session TS-1595 |   24
Middleware Replacement
• Improvement over Publish/Subscribe
  (Java Message Service, Tibco Rendezvous)
  • Peer-to-peer vs. hub-and-spoke
  • No single point of failure
  • Not ‘Fire and Forget’
    (lighter-weight guaranteed delivery)
  • Formal specification for object notification
  • Distributed cache “side affect” benefits state
  • Scale up is straightforward
• JavaSpaces technology is Functional Superset

                      2006 JavaOneSM Conference | Session TS-1595 |   25
¹Loosely Coupled Communication and Coordination in Next-Generation Java Middleware
 http://today.java.net/pub/a/today/2005/06/03/loose.html

                                         2006 JavaOneSM Conference | Session TS-1595 |   26
Distributed Grid Computing
• Classical Master/Workers grid model
• Transactional
• Workers can have dynamic behaviors
  • Hey… they’re objects
• Spring allows POJOs to be grid-enabled
  • From Enterprise JavaBeans™ (EJB) architecture
    to grid by configuration
• Conventional compute grid or data grid
• Scaling the grid by merely adding more workers
  or more Space servers
                    2006 JavaOneSM Conference | Session TS-1595 |   27
Compute Grid or Data Grid or Both
                                                                                            w
            m
                                                                                                w
                                           Space
          m
                                                                                                w


                                                                                                p
                                                                                                space
      p
space                                                                                                   p
                                               Space
              p                                                                                   p
                                                                                                space
  Peer-to-peer grid of migrating objects
                                           2006 JavaOneSM Conference | Session TS-1595 |   28
JMX API Repository
• JMX API: Java Management eXtensions
• Match JMX Technology Events with Spaces
  reliable delivery
• JMX Technology Events saved via Spaces-
  based repository
  • Can be distributed geographically
  • Replicated for robustness and performance
  • JMX API Containers with Spaces
• To scale, just add more Space servers for
  increased monitoring loads
                     2006 JavaOneSM Conference | Session TS-1595 |   29
Geographic JMX API Monitorability
                 U.S.                                                                All news, all the time
                                               space
         space
                    Space
                                               space




                                                                                                    space

                                                                   Space
   Europe
                                                               Asia
           Space                                                                                    space
space
                                                                                 space
                        space
        space
                                2006 JavaOneSM Conference | Session TS-1595 |   30
Grid in a Box
• Both OS and CPU are increasingly more parallel
  with threads and multi-cores
• Blades on high-speed, low-latency bus
  • Grid in a box
  • Blades are grid nodes with fast shared memory
• Sun’s Niagara/Project Rock, Azul Systems
  • Grid on a chip
  • Need an improved programming model—Spaces!
    [New heavily-threaded languages would help too]
• Spaces model fits!
                     2006 JavaOneSM Conference | Session TS-1595 |   31
Enterprise Service Bus
• Services and queues
• Loosely-coupled architectures with API’s
  (e.g., SOAP, JMS, RV)
• Spaces enhances reliability/robustness
• Extension of grid with state (data grid)
• Spaces can accommodate non-Java language
  (C++, C#), SOAP, .NET, et al.
• Gigaspaces Enterprise Application Grid
• mule.codehaus.org—ESB with Spaces
                 2006 JavaOneSM Conference | Session TS-1595 |   32
SOA Mesh/Fabric
•   Extension of ESB, borrowed from Telecom
•   Services grid—more ‘A’ in “SOA”
•   Services dynamically join federation
•   Multiple federations in the fabric
    • e.g., Can run “prod”, “staging”, “testing”, “dev”, “DR”
      in the same fabric
• Scale up by adding machine/services
    • Services announce themselves
    • State always available

                         2006 JavaOneSM Conference | Session TS-1595 |   33
Summary
• Current tier based implementation cannot meet
  the business requirement
• SOA and Grid provide a new architectural
  approach for addressing the above
  requirements Write Once Scale Anywhere”
     Simple!—“ through virtualization
• SBA provides afor free—www.GigaSpaces.com high
           Try it out model for implementing
  performance and linearly scalable SOA/Grid
  applications
• GigaSpaces is a pioneer in that field—providing
  a complete solution for dynamic scalability
  based on SBA in an evolutionary path
                      2006 JavaOneSM Conference | Session TS-1595 |   34
Q&A
Nati Shalom
John Davies
Frank Greco




              2006 JavaOneSM Conference | Session TS-1595 |   35
Scaling Out Tier Based
Applications
Nati Shalom
CTO
GigaSpaces
www.gigaspaces.com
TS-1595

                     2006 JavaOneSM Conference | Session TS-1595 |

Contenu connexe

Tendances

Meet HBase 1.0
Meet HBase 1.0Meet HBase 1.0
Meet HBase 1.0enissoz
 
004 architecture andadvanceduse
004 architecture andadvanceduse004 architecture andadvanceduse
004 architecture andadvanceduseScott Miao
 
PostgreSQL Scaling And Failover
PostgreSQL Scaling And FailoverPostgreSQL Scaling And Failover
PostgreSQL Scaling And FailoverJohn Paulett
 
VMworld 2014: Advanced SQL Server on vSphere Techniques and Best Practices
VMworld 2014: Advanced SQL Server on vSphere Techniques and Best PracticesVMworld 2014: Advanced SQL Server on vSphere Techniques and Best Practices
VMworld 2014: Advanced SQL Server on vSphere Techniques and Best PracticesVMworld
 
VMworld 2013: Storage DRS: Deep Dive and Best Practices to Suit Your Storage ...
VMworld 2013: Storage DRS: Deep Dive and Best Practices to Suit Your Storage ...VMworld 2013: Storage DRS: Deep Dive and Best Practices to Suit Your Storage ...
VMworld 2013: Storage DRS: Deep Dive and Best Practices to Suit Your Storage ...VMworld
 
Nn ha hadoop world.final
Nn ha hadoop world.finalNn ha hadoop world.final
Nn ha hadoop world.finalHortonworks
 
PostreSQL HA and DR Setup & Use Cases
PostreSQL HA and DR Setup & Use CasesPostreSQL HA and DR Setup & Use Cases
PostreSQL HA and DR Setup & Use CasesAshnikbiz
 
What's New and Upcoming in HDFS - the Hadoop Distributed File System
What's New and Upcoming in HDFS - the Hadoop Distributed File SystemWhat's New and Upcoming in HDFS - the Hadoop Distributed File System
What's New and Upcoming in HDFS - the Hadoop Distributed File SystemCloudera, Inc.
 
Using all of the high availability options in MariaDB
Using all of the high availability options in MariaDBUsing all of the high availability options in MariaDB
Using all of the high availability options in MariaDBMariaDB plc
 
Right-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual MachineRight-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual Machineheraflux
 
VMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld
 
Planning & Best Practice for Microsoft Virtualization
Planning & Best Practice for Microsoft VirtualizationPlanning & Best Practice for Microsoft Virtualization
Planning & Best Practice for Microsoft VirtualizationLai Yoong Seng
 
HDFS Futures: NameNode Federation for Improved Efficiency and Scalability
HDFS Futures: NameNode Federation for Improved Efficiency and ScalabilityHDFS Futures: NameNode Federation for Improved Efficiency and Scalability
HDFS Futures: NameNode Federation for Improved Efficiency and ScalabilityHortonworks
 
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...Patrick McGarry
 
Intro to GlusterFS Webinar - August 2011
Intro to GlusterFS Webinar - August 2011Intro to GlusterFS Webinar - August 2011
Intro to GlusterFS Webinar - August 2011GlusterFS
 
MariaDB High Availability
MariaDB High AvailabilityMariaDB High Availability
MariaDB High AvailabilityMariaDB plc
 
X-DB Replication Server and MMR
X-DB Replication Server and MMRX-DB Replication Server and MMR
X-DB Replication Server and MMRAshnikbiz
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuiteEDB
 
PostgreSQL and Benchmarks
PostgreSQL and BenchmarksPostgreSQL and Benchmarks
PostgreSQL and BenchmarksJignesh Shah
 

Tendances (20)

Meet HBase 1.0
Meet HBase 1.0Meet HBase 1.0
Meet HBase 1.0
 
004 architecture andadvanceduse
004 architecture andadvanceduse004 architecture andadvanceduse
004 architecture andadvanceduse
 
PostgreSQL Scaling And Failover
PostgreSQL Scaling And FailoverPostgreSQL Scaling And Failover
PostgreSQL Scaling And Failover
 
VMworld 2014: Advanced SQL Server on vSphere Techniques and Best Practices
VMworld 2014: Advanced SQL Server on vSphere Techniques and Best PracticesVMworld 2014: Advanced SQL Server on vSphere Techniques and Best Practices
VMworld 2014: Advanced SQL Server on vSphere Techniques and Best Practices
 
VMworld 2013: Storage DRS: Deep Dive and Best Practices to Suit Your Storage ...
VMworld 2013: Storage DRS: Deep Dive and Best Practices to Suit Your Storage ...VMworld 2013: Storage DRS: Deep Dive and Best Practices to Suit Your Storage ...
VMworld 2013: Storage DRS: Deep Dive and Best Practices to Suit Your Storage ...
 
Nn ha hadoop world.final
Nn ha hadoop world.finalNn ha hadoop world.final
Nn ha hadoop world.final
 
PostreSQL HA and DR Setup & Use Cases
PostreSQL HA and DR Setup & Use CasesPostreSQL HA and DR Setup & Use Cases
PostreSQL HA and DR Setup & Use Cases
 
Methods of NoSQL database systems benchmarking
Methods of NoSQL database systems benchmarkingMethods of NoSQL database systems benchmarking
Methods of NoSQL database systems benchmarking
 
What's New and Upcoming in HDFS - the Hadoop Distributed File System
What's New and Upcoming in HDFS - the Hadoop Distributed File SystemWhat's New and Upcoming in HDFS - the Hadoop Distributed File System
What's New and Upcoming in HDFS - the Hadoop Distributed File System
 
Using all of the high availability options in MariaDB
Using all of the high availability options in MariaDBUsing all of the high availability options in MariaDB
Using all of the high availability options in MariaDB
 
Right-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual MachineRight-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual Machine
 
VMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing Databases
 
Planning & Best Practice for Microsoft Virtualization
Planning & Best Practice for Microsoft VirtualizationPlanning & Best Practice for Microsoft Virtualization
Planning & Best Practice for Microsoft Virtualization
 
HDFS Futures: NameNode Federation for Improved Efficiency and Scalability
HDFS Futures: NameNode Federation for Improved Efficiency and ScalabilityHDFS Futures: NameNode Federation for Improved Efficiency and Scalability
HDFS Futures: NameNode Federation for Improved Efficiency and Scalability
 
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
 
Intro to GlusterFS Webinar - August 2011
Intro to GlusterFS Webinar - August 2011Intro to GlusterFS Webinar - August 2011
Intro to GlusterFS Webinar - August 2011
 
MariaDB High Availability
MariaDB High AvailabilityMariaDB High Availability
MariaDB High Availability
 
X-DB Replication Server and MMR
X-DB Replication Server and MMRX-DB Replication Server and MMR
X-DB Replication Server and MMR
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster Suite
 
PostgreSQL and Benchmarks
PostgreSQL and BenchmarksPostgreSQL and Benchmarks
PostgreSQL and Benchmarks
 

Similaire à Scaling Out Tier Based Applications

HP Storage Works -Clemes Esser
HP Storage Works -Clemes EsserHP Storage Works -Clemes Esser
HP Storage Works -Clemes EsserHPDutchWorld
 
A scalable server environment for your applications
A scalable server environment for your applicationsA scalable server environment for your applications
A scalable server environment for your applicationsGigaSpaces
 
Joe Honan Virtualization Trends
Joe Honan   Virtualization TrendsJoe Honan   Virtualization Trends
Joe Honan Virtualization Trends1velocity
 
An Introduction To Space Based Architecture
An Introduction To Space Based ArchitectureAn Introduction To Space Based Architecture
An Introduction To Space Based ArchitectureAmin Abbaspour
 
Distributed Caches: A Developer’s Guide to Unleashing Your Data in High-Perfo...
Distributed Caches: A Developer’s Guide to Unleashing Your Data in High-Perfo...Distributed Caches: A Developer’s Guide to Unleashing Your Data in High-Perfo...
Distributed Caches: A Developer’s Guide to Unleashing Your Data in High-Perfo...marcja
 
Brian Oliver Pimp My Data Grid
Brian Oliver  Pimp My Data GridBrian Oliver  Pimp My Data Grid
Brian Oliver Pimp My Data Griddeimos
 
Nevmug Left Hand Tower Publishing January 2009
Nevmug  Left Hand  Tower Publishing January 2009Nevmug  Left Hand  Tower Publishing January 2009
Nevmug Left Hand Tower Publishing January 2009csharney
 
Seattle Scalability - GigaSpaces / Cassandra
Seattle Scalability - GigaSpaces / CassandraSeattle Scalability - GigaSpaces / Cassandra
Seattle Scalability - GigaSpaces / Cassandraclive boulton
 
Macleans - NZ Business taking on the world with a world class IT infrastructu...
Macleans - NZ Business taking on the world with a world class IT infrastructu...Macleans - NZ Business taking on the world with a world class IT infrastructu...
Macleans - NZ Business taking on the world with a world class IT infrastructu...Vincent Kwon
 
Virtualisatie In Het NGDC - Marc Janssen
Virtualisatie In Het NGDC - Marc JanssenVirtualisatie In Het NGDC - Marc Janssen
Virtualisatie In Het NGDC - Marc JanssenHPDutchWorld
 
Cvc2009 Moscow Xd3 Fabian Kienle Final
Cvc2009 Moscow Xd3  Fabian Kienle FinalCvc2009 Moscow Xd3  Fabian Kienle Final
Cvc2009 Moscow Xd3 Fabian Kienle FinalLiudmila Li
 
Manage rising disk prices with storage virtualization webinar
Manage rising disk prices with storage virtualization webinarManage rising disk prices with storage virtualization webinar
Manage rising disk prices with storage virtualization webinarHitachi Vantara
 
Architecture Best Practices on Windows Azure
Architecture Best Practices on Windows AzureArchitecture Best Practices on Windows Azure
Architecture Best Practices on Windows AzureNuno Godinho
 
Linux Everywhere? Matching the Workload to the Computer
Linux Everywhere? Matching the Workload to the ComputerLinux Everywhere? Matching the Workload to the Computer
Linux Everywhere? Matching the Workload to the ComputerRobert Sutor
 
Virtualising your mission-critical applications
Virtualising your mission-critical applicationsVirtualising your mission-critical applications
Virtualising your mission-critical applicationsguest24ab95c
 

Similaire à Scaling Out Tier Based Applications (20)

HP Storage Works -Clemes Esser
HP Storage Works -Clemes EsserHP Storage Works -Clemes Esser
HP Storage Works -Clemes Esser
 
A scalable server environment for your applications
A scalable server environment for your applicationsA scalable server environment for your applications
A scalable server environment for your applications
 
Joe Honan Virtualization Trends
Joe Honan   Virtualization TrendsJoe Honan   Virtualization Trends
Joe Honan Virtualization Trends
 
An Introduction To Space Based Architecture
An Introduction To Space Based ArchitectureAn Introduction To Space Based Architecture
An Introduction To Space Based Architecture
 
Ina Pratt Fosdem Feb2008
Ina Pratt Fosdem Feb2008Ina Pratt Fosdem Feb2008
Ina Pratt Fosdem Feb2008
 
Distributed Caches: A Developer’s Guide to Unleashing Your Data in High-Perfo...
Distributed Caches: A Developer’s Guide to Unleashing Your Data in High-Perfo...Distributed Caches: A Developer’s Guide to Unleashing Your Data in High-Perfo...
Distributed Caches: A Developer’s Guide to Unleashing Your Data in High-Perfo...
 
Brian Oliver Pimp My Data Grid
Brian Oliver  Pimp My Data GridBrian Oliver  Pimp My Data Grid
Brian Oliver Pimp My Data Grid
 
Nevmug Left Hand Tower Publishing January 2009
Nevmug  Left Hand  Tower Publishing January 2009Nevmug  Left Hand  Tower Publishing January 2009
Nevmug Left Hand Tower Publishing January 2009
 
Seattle Scalability - GigaSpaces / Cassandra
Seattle Scalability - GigaSpaces / CassandraSeattle Scalability - GigaSpaces / Cassandra
Seattle Scalability - GigaSpaces / Cassandra
 
Ian Prattlinuxworld Xen Aug2008
Ian Prattlinuxworld Xen Aug2008Ian Prattlinuxworld Xen Aug2008
Ian Prattlinuxworld Xen Aug2008
 
saurabh soni rac
saurabh soni racsaurabh soni rac
saurabh soni rac
 
Macleans - NZ Business taking on the world with a world class IT infrastructu...
Macleans - NZ Business taking on the world with a world class IT infrastructu...Macleans - NZ Business taking on the world with a world class IT infrastructu...
Macleans - NZ Business taking on the world with a world class IT infrastructu...
 
Virtualisatie In Het NGDC - Marc Janssen
Virtualisatie In Het NGDC - Marc JanssenVirtualisatie In Het NGDC - Marc Janssen
Virtualisatie In Het NGDC - Marc Janssen
 
Ian Pratt Nsdi Keynote Apr2008
Ian Pratt Nsdi Keynote Apr2008Ian Pratt Nsdi Keynote Apr2008
Ian Pratt Nsdi Keynote Apr2008
 
Delphix
DelphixDelphix
Delphix
 
Cvc2009 Moscow Xd3 Fabian Kienle Final
Cvc2009 Moscow Xd3  Fabian Kienle FinalCvc2009 Moscow Xd3  Fabian Kienle Final
Cvc2009 Moscow Xd3 Fabian Kienle Final
 
Manage rising disk prices with storage virtualization webinar
Manage rising disk prices with storage virtualization webinarManage rising disk prices with storage virtualization webinar
Manage rising disk prices with storage virtualization webinar
 
Architecture Best Practices on Windows Azure
Architecture Best Practices on Windows AzureArchitecture Best Practices on Windows Azure
Architecture Best Practices on Windows Azure
 
Linux Everywhere? Matching the Workload to the Computer
Linux Everywhere? Matching the Workload to the ComputerLinux Everywhere? Matching the Workload to the Computer
Linux Everywhere? Matching the Workload to the Computer
 
Virtualising your mission-critical applications
Virtualising your mission-critical applicationsVirtualising your mission-critical applications
Virtualising your mission-critical applications
 

Dernier

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Dernier (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

Scaling Out Tier Based Applications

  • 1. Scaling Out Tier Based Applications Nati Shalom CTO GigaSpaces www.gigaspaces.com TS-1595 2006 JavaOneSM Conference | Session TS-1595 |
  • 2. Objectives • Learn how to transform existing tier-based applications into dynamically scalable services using Space Based Architecture (SBA): • Distributed caching • Parallel processing • Virtualization • Dynamic provisioning 2006 JavaOneSM Conference | Session TS-1595 | 2
  • 3. Agenda • Nati Shalom: CTO, GigaSpaces • Turning tiers into scalable services using SBA • www.gigaspaces.com • John Davies: CTO, C24 • Using SBA to deliver scalable trade execution engine • www.c24.biz • Frank Greco: Chair, NYJavaSIG • Patterns and use-cases for using SBA to achieve scalability • www.javasig.com 2006 JavaOneSM Conference | Session TS-1595 | 3
  • 4. Before We Begin “Scalability for Dummies” • Scale-out • Scale by adding more (duplicates) application processing units (services) on a dynamic pool of machines • Scale-up • Scale by adding more processing power (CPU’s) to a single machine • Linear scalability • The overall throughput = number of processing units * throughput per unit • Dynamic scalability • Scale on demand (usually using some sort of provisioning and monitoring capabilities) 2006 JavaOneSM Conference | Session TS-1595 | 4
  • 5. The Business Motivation • Process increasing volume of information faster and at a lower cost • Why? • Financial applications • Electronic trading—generate more volume • New regulation rules—requires real time decision making • Low latency = who wins the deal first • Telco • Billing—pre-paid services requires real time decision making • Voip/3G—increasing volume of information • Others • RFID 2006 JavaOneSM Conference | Session TS-1595 | 5
  • 6. The Ideal Scenario— “Write Once Scale Anywhere” Processing Unit 1 • Process increasing volume of information X TPS • Scale out to get more Incoming Processing Unit 2 processing power when Transactions volume increases X TPS • Shorter time Processing Unit 3 Total TPS = • Through caching X TPS X*N • Through parallelizing of transactions • Lower cost Processing Unit N • Pooling low commodity resources X TPS • Better utilization 2006 JavaOneSM Conference | Session TS-1595 | 6
  • 7. To ensure reliability all states is • stored in a centralized DB The Reality To reduce latency business logic is • often written as stored procedures. This leads to I/O bound applications that are limited to scaling up model The Middleware is the Bottleneck Synchronous Communication True Load scalability could not be achieved Balancer without solving the middleware bottleneck on both Most applicationsand processing (Business Logic) layers data scale on Presentation Business Data one dimension—the Tier Tier Tier presentation tier and leaves the backend centralized 2006 JavaOneSM Conference | Session TS-1595 | 7
  • 8. The Challenges—Scaling with Today Tier Based Approach • Parallelizing centralized architecture • How to scale when there are too many (independent) moving parts • Consistency: each tier maintains its own HA and consistency model; scaling out of several tiers together while maintaining coherency of the system becomes pretty complex • Serialization overhead: communication between sub components create significant performance overhead • Scaling up vs. scaling out: currently enforces different architecture implementation per model; how to create a model that will enable a combination of the scale-up and scale-out models without changing the code • Dynamic scalability: requires support from the application—to enable external life cycle management; export matrix that will trigger up scaling, down scaling events 2006 JavaOneSM Conference | Session TS-1595 | 8
  • 9. Turning the Tiers into Scalable Virtual Services Parallelize the execution between transactions while maintaining FIFO within transactions Question: Thin •Improve Performance What technology Memory Data Grid through Thin Client In Thin Client can I use to do all •Virtualize the data through Client that? Partitioning Common Load Balancing External DB Rich Rich Client Rich Client Presentation Business Data Client Tier + Tier + Tier Reduce the serialization overhead and simplify the deployment through consolidation of the tiers into logical processing units 2006 JavaOneSM Conference | Session TS-1595 | 9
  • 10. Space Based Architecture (SBA) • Write: writes a data object Write • Read: reads a copy of a data object • Take: reads a data object and deletes it • Notify: generates an event on data updates Read, T • Providing virtualization middleware for ake, Read, Take, Notify Distributed Services providing: Notify • Data caching Write • Load balancing • Messaging—1/1, */*, workflow, CBR • Parallel processing • Using one common model, technology and runtime environment 2006 JavaOneSM Conference | Session TS-1595 | 10
  • 11. Space Based Middleware Virtualization Single Virtualization Technology for Data-Tier and Processing Tier • Same data can be viewed Clustered Space Virtual JDBCTM Table through different interfaces! • A single runtime for maintaining scalability, Applications JMS redundancy across all systems JCache • Reduces both the Virtual maintenance overhead and Space Topic/Queue development complexity • Provides Grid capabilities to existing applications Virtual Middleware 2006 JavaOneSM Conference | Session TS-1595 | 11
  • 12. Dynamic Scalability Through Virtualization of the Container • SLA driven deployment and management • Adding dynamic scalability and failover, automation of deployment and service centralized monitoring Intra Services Messaging Bus using the ServiceGrid Intra Services Messaging Bus Incoming Requests Intra Services Messaging Bus (Synchronous and Asynchronous) Intra Services Messaging Bus Service Grid 2006 JavaOneSM Conference | Session TS-1595 | 12
  • 13. Can this Work with Existing J2EE™ Platform-based Apps? Extending J2EE platform Applications through virtual Middleware implementation Application Middleware Web/Application Containers MVC • Distributed caching Business Layer • Parallel processing JMS, JDBC, EJBTM • Messaging bus ORM (Hibernate/JDO/iBatis/EJB 3s) J2EE Platform Container Use JCA, Session Bean as the abstraction/ integration layer OS/Hardware 2006 JavaOneSM Conference | Session TS-1595 | 13
  • 14. Spring Makes it Seamless Transition Using Spring to slide-in Applications virtual middleware while Application Middleware keeping your POJO unaware of that Web/Application Containers MVC • Distributed caching Business Layer • Parallel processing Spring—POJO Abstraction • Messaging bus ORM (Hibernate/JDO/iBatis/EJB 3s) J2EE Platform Container OS/Hardware 2006 JavaOneSM Conference | Session TS-1595 | 14
  • 15. Using SBA to Deliver Scalable Trade Execution Engine John Davies CTO C24 Solutions www.c24.biz TS-1595 2006 JavaOneSM Conference | Session TS-1595 |
  • 16. Pre-Trade Execution Typically ECNs and OMSs • >5 million orders per day • Typically Foreign Exchange (FX) and Equities • >1000 orders per second • Confirmation notification <5ms • Near real-time liquidity monitoring (<100ms) • Highly available and resilient • Dynamically scalable • Without taking the system down 2006 JavaOneSM Conference | Session TS-1595 | 16
  • 17. Pre-Trade Execution Architecture Logical View Orders are kept in the in memory data-grid Write sub-section Unmatched 1 to local space Replicate Orders and Match Write new orders Write sub-section Asynchronous copy Unmatched into Space 2 to local space Replicate of all state for queries Orders and Match Space Write sub-section Unmatched Space Write new orders 3 to local space Replicate Orders into Space and Match • Order are partitioned Write sub-section Unmatched and processed in 4 to local space Orders Replicate Heavy weight queries could be and Match parallel based on performed on replica to reduce correlation id overhead on the matching • Scaling out is done Collocating parsing and matching server through relocation of business logic Notifications Notifications partitions to different machines Matching state Match Notifications and Liquidity 2006 JavaOneSM Conference | Session TS-1595 | 17
  • 18. Java™ Technology Binding Gives More Flexibility • Many message standards are non-XML based • e.g. SWIFT, FIX, etc. • FpML is a rare exception but the validation rules extends beyond XML Schema • Binding messages to Java technology provides better integration, performance and flexibility • Most SOA/ESB vendors are XML centric, this is fine outside of the grid/bus but not internally • IONA and C24 provide high-performance object binding for better SOA performance and integration 2006 JavaOneSM Conference | Session TS-1595 | 18
  • 19. Post-Trade Matching Engine For Post-Trade Matching • >1 million trade pairs per day • >1000 trades per second • Match confirmation <5ms • Near real-time liquidity monitoring (<100ms) • Highly available and resilient • Dynamically scalable • Without taking the system down 2006 JavaOneSM Conference | Session TS-1595 | 19
  • 20. JavaSpaces™ Technology Provides a More Flexible Grid/Bus 3-Tier Has Had Its Day • Slide 1 and 4 are the same, the architecture is flexible • Better still the same grid can be used for both solutions—simultaneously • JavaSpaces technology + Java technology binding are quick to develop • A lot of the code is generated • JavaSpaces technology is simpler to understand than Servlets 2006 JavaOneSM Conference | Session TS-1595 | 20
  • 21. SBA Works for ESB and SOA • Try to think out of the box—SOA is not new • We can still expose services without XML • Just bind them to an Object • XML can still be used but don’t mandate it • A true SOA or ESB must handle non-XML services • If it communicates internally without XML it’s going to be more flexible • A Space Based Architecture (SBA) provides the flexibility needed for true SOA and ESB 2006 JavaOneSM Conference | Session TS-1595 | 21
  • 22. No More Tiers— Space-Based Computing Use Cases Frank Greco Chair NYJavaSIG, NY Java User Group www.javasig.com TS-1595 2006 JavaOneSM Conference | Session TS-1595 |
  • 23. No More Tiers—Use Cases for JavaSpaces Technology (Some Ideas) More than Just a Data Cache or a Generic Dispatcher • Middleware Replacement • Distributed Grid Computing • JMX™ API Repository • Grid in a Box • Enterprise Service Bus • SOA Mesh 2006 JavaOneSM Conference | Session TS-1595 | 23
  • 24. Middleware Replacement • Improvement over RPC • Loosely coupled • Built-in reliability • More scalable • More SOA-friendly • Pull model—naturally load-balancing • Improvement over CORBA/SOAP • Implicit retries • Higher performance • More scalable • Can easily work with SOAP and other WS 2006 JavaOneSM Conference | Session TS-1595 | 24
  • 25. Middleware Replacement • Improvement over Publish/Subscribe (Java Message Service, Tibco Rendezvous) • Peer-to-peer vs. hub-and-spoke • No single point of failure • Not ‘Fire and Forget’ (lighter-weight guaranteed delivery) • Formal specification for object notification • Distributed cache “side affect” benefits state • Scale up is straightforward • JavaSpaces technology is Functional Superset 2006 JavaOneSM Conference | Session TS-1595 | 25
  • 26. ¹Loosely Coupled Communication and Coordination in Next-Generation Java Middleware http://today.java.net/pub/a/today/2005/06/03/loose.html 2006 JavaOneSM Conference | Session TS-1595 | 26
  • 27. Distributed Grid Computing • Classical Master/Workers grid model • Transactional • Workers can have dynamic behaviors • Hey… they’re objects • Spring allows POJOs to be grid-enabled • From Enterprise JavaBeans™ (EJB) architecture to grid by configuration • Conventional compute grid or data grid • Scaling the grid by merely adding more workers or more Space servers 2006 JavaOneSM Conference | Session TS-1595 | 27
  • 28. Compute Grid or Data Grid or Both w m w Space m w p space p space p Space p p space Peer-to-peer grid of migrating objects 2006 JavaOneSM Conference | Session TS-1595 | 28
  • 29. JMX API Repository • JMX API: Java Management eXtensions • Match JMX Technology Events with Spaces reliable delivery • JMX Technology Events saved via Spaces- based repository • Can be distributed geographically • Replicated for robustness and performance • JMX API Containers with Spaces • To scale, just add more Space servers for increased monitoring loads 2006 JavaOneSM Conference | Session TS-1595 | 29
  • 30. Geographic JMX API Monitorability U.S. All news, all the time space space Space space space Space Europe Asia Space space space space space space 2006 JavaOneSM Conference | Session TS-1595 | 30
  • 31. Grid in a Box • Both OS and CPU are increasingly more parallel with threads and multi-cores • Blades on high-speed, low-latency bus • Grid in a box • Blades are grid nodes with fast shared memory • Sun’s Niagara/Project Rock, Azul Systems • Grid on a chip • Need an improved programming model—Spaces! [New heavily-threaded languages would help too] • Spaces model fits! 2006 JavaOneSM Conference | Session TS-1595 | 31
  • 32. Enterprise Service Bus • Services and queues • Loosely-coupled architectures with API’s (e.g., SOAP, JMS, RV) • Spaces enhances reliability/robustness • Extension of grid with state (data grid) • Spaces can accommodate non-Java language (C++, C#), SOAP, .NET, et al. • Gigaspaces Enterprise Application Grid • mule.codehaus.org—ESB with Spaces 2006 JavaOneSM Conference | Session TS-1595 | 32
  • 33. SOA Mesh/Fabric • Extension of ESB, borrowed from Telecom • Services grid—more ‘A’ in “SOA” • Services dynamically join federation • Multiple federations in the fabric • e.g., Can run “prod”, “staging”, “testing”, “dev”, “DR” in the same fabric • Scale up by adding machine/services • Services announce themselves • State always available 2006 JavaOneSM Conference | Session TS-1595 | 33
  • 34. Summary • Current tier based implementation cannot meet the business requirement • SOA and Grid provide a new architectural approach for addressing the above requirements Write Once Scale Anywhere” Simple!—“ through virtualization • SBA provides afor free—www.GigaSpaces.com high Try it out model for implementing performance and linearly scalable SOA/Grid applications • GigaSpaces is a pioneer in that field—providing a complete solution for dynamic scalability based on SBA in an evolutionary path 2006 JavaOneSM Conference | Session TS-1595 | 34
  • 35. Q&A Nati Shalom John Davies Frank Greco 2006 JavaOneSM Conference | Session TS-1595 | 35
  • 36. Scaling Out Tier Based Applications Nati Shalom CTO GigaSpaces www.gigaspaces.com TS-1595 2006 JavaOneSM Conference | Session TS-1595 |