No More Hops: Towards a linearly scalable application infrastructure. Owen Taylor Blog:

Slides:



Advertisements
Similar presentations
Forward Data Cache Integration Pattern
Advertisements

Shay Hassidim Deputy CTO Oct 2007
Introduction to Grid Application On-Boarding Nick Werstiuk
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Tableau Software Australia
Spring, Hibernate and Web Services 13 th September 2014.
A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
NETWORK LOAD BALANCING NLB.  Network Load Balancing (NLB) is a Clustering Technology.  Windows Based. (windows server).  To scale performance, Network.
Service Oriented Architecture Concepts March 27, 2006 Chris Armstrong
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
SOA with Progress Philipp Walther Consultant. © 2007 Progress Software Corporation2 Agenda  SOA  Enterprise Service Bus (ESB)  The Progress SOA Portfolio.
Java Parallel Processing Framework. Presentation Road Map What is Java Parallel Processing Framework JPPF Features JPPF Requirements JPPF Topology JPPF.
Seyed Mohammad Ghaffarian ( ) Computer Engineering Department Amirkabir University of Technology Fall 2010.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
Ch 12 Distributed Systems Architectures
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
IBM Research – Thomas J Watson Research Center | March 2006 © 2006 IBM Corporation Events and workflow – BPM Systems Event Application symposium Parallel.
Client/Server Architectures
© 2006 IBM Corporation SOA on your terms and our expertise Software Overview IBM WebSphere Message Broker Extender for TIBCO RV.
GOVERNMENT SERVICES INTEGRATION INDUSTRY SOLUTION.
SOA, BPM, BPEL, jBPM.
Building Scalable.NET Applications Guy Nirpaz, EVP R&D, GigaSpaces Technologies.
Word Wide Cache Distributed Caching for the Distributed Enterprise.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Presented by, MySQL & O’Reilly Media, Inc. Data Services: Mashing and Shredding Data Using XAware.
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Christopher Jeffers August 2012
PowerTier EJB in High-Performance Applications John Killoran European Technical Services Manager Persistence Software.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
DISTRIBUTED COMPUTING
IMDGs An essential part of your architecture. About me
Installation and Development Tools National Center for Supercomputing Applications University of Illinois at Urbana-Champaign The SEASR project and its.
Esri UC 2014 | Technical Workshop | Esri Roads and Highways: Integrating and Developing LRS Business Systems Tom Hill.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Service Oriented Architectures Presentation By: Clifton Sweeney November 3 rd 2008.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Michael Woods Sr. Technical Product Manager.
 2009 Calpont Corporation 1 Calpont Open Source Columnar Storage Engine for Scalable MySQL Data Warehousing April 22, 2009 MySQL User Conference Santa.
SOA-25: Data Distribution Solutions Using DataXtend ® Semantic Integrator for Sonic ™ ESB Users Jim Barton Solution Architect.
SC2012 Infrastructure Components Management Justin Cook (Data # 3) Principal Consultant, Systems Management Noel Fairclough (Data # 3) Consultant, Systems.
INNOV-10 Progress® Event Engine™ Technical Overview Prashant Thumma Principal Software Engineer.
Infrastructure for Data Warehouses. Basics Of Data Access Data Store Machine Memory Buffer Memory Cache Data Store Buffer Bus Structure.
REST By: Vishwanath Vineet.
Boost Developer Productivity with a 360- Degree View of Every Software Change by Using FinditEZ, Certified Microsoft Platform Ready for SQL Azure MICROSOFT.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
Christian Stiller Technical Account Manager SOA-23: Enterprise Integration Patterns in Sonic ™ ESB.
Background Computer System Architectures Computer System Software.
Data Services for Service Oriented Architecture in Finance
Enterprise Service Bus
LOCO Extract – Transform - Load
Open Source distributed document DB for an enterprise
Software Design and Architecture
Dynamic Updates for Videogames
Exploring Azure Event Grid
Design and Maintenance of Web Applications in J2EE
Inventory of Distributed Computing Concepts and Web services
Chapter 17: Database System Architectures
Azure Event Grid with Custom Events
Inventory of Distributed Computing Concepts
Computer Based Adaptive Testing
Cloud Web Filtering Platform
Spark and Scala.
Database System Architectures
DBOS DecisionBrain Optimization Server
Presentation transcript:

No More Hops: Towards a linearly scalable application infrastructure. Owen Taylor Blog:

About me... ORBs Containers Frustration “The Final Frontier”

Technical Target: Linear Scalability Process increasing volume of information –Scale out to get more processing power when volume increases Shorter time –Mostly through parallelizing of transactions Lower cost –Pooling low commodity resources Total TPS = X*N X TPS Processing unit 1 Processing unit 2 Processing unit 3 Processing unit N Incoming Transactions

4 Database-Based Architectures: scaling bottlenecks Data – I/O overhead, Contention Messaging – Complex workflows increase latencies Processing – CPU, Parallelization Silo approach, each tier has its own clustering model, lots of moving parts

Another Way of Looking at It: A Tightening Bottleneck Static Web Thousands of (concurrent) connections Web App Hundreds of connections Business components Dozens of connections Database Several connections

6 Services can be Java, C++,.Net Content-Based Routing Typical SOA model based on ESB Most ESB solutions do not address stateful services and often use a centralized database to share state between services

Pinpoint ‘That method call...’ [what about the app?] Presentation Logic Business Logic Integration Logic Data Tier Messaging Tier Client Tier If we just add a caching layer to the system...

TPC: Transparent Partitioning & Colocation The next wave of applications will scale in this manner –Because Gartner says so Many already scale one or two tiers in this way –Partitioned Databases with Triggers –Content-Based Routing though Messaging with coupled consumers –All-in one web applications using caching (IMDG) Space-Based Architecture offers an implementation of TPC using Spaces –GigaSpaces enables this architecture for.NET, C++, and Java

Space-Based Architecture is an Implementation of TPC Utilizing a single logical/virtual resource to share: –Data –Logic –Events Services: –Interact with each other through the space –Can be co-located with data/events for faster results –Are deployed and managed in an adaptive and fail-safe way } Objects! Data Provisioning Event Propagation Logic Processing

Parallel Processing: Divide and Scale out Request Feed Proxy Request Proxy Write Service1 Service2 Service3 Partitioned Spaces Request: Zoom-in update stocks where … Proxy Virtual Table

Colocation: Dramatically Reduce Latency Request Feed Proxy Request Requests Request Proxy Write Partitioned Spaces Request: Zoom-in Proxy Virtual Table update stocks where …

Client Registration Offer Driver Execution Engine Write Notify Register Matching Engine Update Average Latency ~14 milliseconds (+ ~2 milliseconds for backup) Example: Algorithmic Trading

Reduced Latency Due To Colocation Offer Driver Execution Engine Write Notify Matching Engine Average Latency ~600 microseconds (+ ~2 milliseconds for backup) Client Registration Register Update Write [TradingStrategy]

RTD topic GSC 1 Embedded Space Processing Unit 1 StockConverter Spring Bean GSC 2 Embedded Space Processing Unit 2 GSC 3 Embedded Space Processing Unit 3 One Logical Space (Partitioned) GSC 4 Space Proxy Processing Unit 4 MarketFeed Spring Bean [Demo] Excel With a Grid Backbone: } StockConverter Spring Bean StockConverter Spring Bean

15 Nuts and Bolts: 4 Verbs WriteTakeReadWriteNotify Write + Read = IMDG Write + Notify = Messaging Write + Take = Parallel Processing Take  Write  Read  Take  Notify

16 Services can be Java, C++,.Net Content-Based Routing Shared state to enable stateful services SBA = Real-time SOA for Stateful Applications

17 Space Bus Validation Service Service Bean Matching Service Service Bean TakeWriteNotify Declarative Spring-SBA - Making Scalability Even Simpler Space Bus Validation Service Service Bean Matching Service Service Bean TakeWriteNotify Take/Notify Write Take/Notify Write Polling Event Container Notify Event Container Polling Event Container Notify Event Container Declarative Abstraction

18 Reaching Scalability with Space Based SOA Write Take Read Write Notify

Order Processing Demo: Logical Workflow Write new Orders (Feed) Client Accounting BrokenOrderCleaner Logistics Take Orders(new) Write Orders (approved) Take Orders (approved) Write Orders (shipped) Take Orders (shipped, unshipped, unapproved) Write new Orders (once cleaned) OrderSystem

Linearly Scalable OrderProcessing: Deploy Once: GSC 1 Space Proxy Processing Unit 1 orderfeed Spring Bean GSC 2 Embedded Space Processing Unit 2 ordersystem Spring Bean

GSC 1 Embedded Space Processing Unit 1 ordersystem Spring Bean GSC 2 Embedded Space Processing Unit 2 ordersystem Spring Bean GSC 3 Embedded Space Processing Unit 3 ordersystem Spring Bean One Logical Space (Partitioned) GSC 4 Space Proxy Processing Unit 4 orderfeed Spring Bean Linearly Scalable OrderProcessing: Deploy Again: The throughput of the application grows linearly as the number of ordersystem deployments increase. }

22 Building SBA Application – How it works.. Step 1: –Implement POJO domain model Step 2: –Implement the POJO Services Step 3: –Wire the services through spring Step 4: –Packaging –Deploy to Grid (Scale-Out) Register

23 Come To The “Let’s Code” BOF!!! November 8 th PM in “City Room” Everyone bring a laptop Download GigaSpacesXAP6.0.1 – Install Eclipse 3.3 Europa [ or Intellij ] Go to my blog and download: “projectcreator.jar” (it is a zip in hiding) –

Code Time: The project-creator Demo This example shows –Rapid development of two simple projects Processor Publisher –Integration with IDE Run projects in eclipse to test quickly –Fail-safe behavior without code awareness Run projects in Service Containers for transparent: –Failover –Scaling

25 So, Why use a Declarative SBA? Simple! –Building a fully fledged distributed application becomes just a matter of wiring simple local beans It’s all declarative through annotation or XML Non intrusiveness through abstraction –High level abstraction provides higher degree of flexibility to plug-in different solutions from different topologies, technologies and standards without compromising on the least common denominator Extremely Extensible –Very easy to extend the model and the underlying implementation without changing the application Reduced learning curve – It’s just Spring –If you already know Spring – you are ready to begin Fits natively to the existing Spring model Utilizes common practices such as annotation, IoC etc.

26 Questions Please? Thank You!