SlideShare a Scribd company logo
No More Hops: Towards a linearly scalable application infrastructure. Owen Taylor Blog: http://www.jroller.com/owentaylor
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 X TPS X TPS X TPS Processing unit 1   Processing unit 2   Processing unit 3   Processing unit N   Incoming  Transactions
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
Typical SOA model based on ESB Services can be  Java, C++, .Net Content-Based  Routing 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 Request Request Proxy Proxy Proxy Write Write 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 Write Write Partitioned Spaces Request: Zoom-in Proxy Virtual  Table update stocks where …
Example: Algorithmic Trading  Client Registration Offer Driver Execution Engine Write Notify Register  Matching Engine Update Average Latency ~14 milliseconds (+ ~2 milliseconds for backup)
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]
[Demo] Excel With a Grid Backbone: 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 StockConverter Spring Bean StockConverter Spring Bean
Nuts and Bolts:  4 Verbs Write Take Read Write Notify Write + Read = IMDG Write + Notify = Messaging Write + Take = Parallel Processing Take Write Read Take Notify
SBA = Real-time SOA for Stateful Applications Services can be  Java, C++, .Net Content-Based  Routing Shared state to  enable stateful  services
Declarative Spring-SBA - Making Scalability Even Simpler Declarative Abstraction Space Bus Validation Service Service   Bean   Matching Service Service Bean  Take Write Notify Space Bus Validation Service  Service   Bean   Matching Service Service Bean  Take Write Notify Take/Notify Write Take/Notify Write Polling Event Container Notify Event Container Polling Event Container Notify Event Container
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
Linearly Scalable OrderProcessing: Deploy Again: 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 The throughput of the  application grows linearly as  the number of ordersystem  deployments increase.
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
Come To The “Let’s Code” BOF!!!  November 8 th  2007 @7:15 PM in “City Room” Everyone bring a laptop  Download GigaSpacesXAP6.0.1 http://www.gigaspaces.com/os_downloads.html Install Eclipse 3.3 Europa [ or Intellij ] Go to my blog and download: “projectcreator.jar” (it is a zip in hiding) http://www.jroller.com/resources/o/owentaylor/project-creator.jar
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
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.
Questions Please? Thank You! http://www.jroller.com/owentaylor

More Related Content

PDF
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture
PDF
The Data Dichotomy- Rethinking the Way We Treat Data and Services
PDF
What's New in Confluent Platform 5.5
PDF
Simplified Hybrid Cloud Migration with Confluent and Google Cloud
PDF
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture (ANZ)
PDF
Confluent Workshop Series: ksqlDB로 스트리밍 앱 빌드
PPTX
10 Principals for Effective Event Driven Microservices
PDF
How to Write Great Kafka Connectors
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture
The Data Dichotomy- Rethinking the Way We Treat Data and Services
What's New in Confluent Platform 5.5
Simplified Hybrid Cloud Migration with Confluent and Google Cloud
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture (ANZ)
Confluent Workshop Series: ksqlDB로 스트리밍 앱 빌드
10 Principals for Effective Event Driven Microservices
How to Write Great Kafka Connectors

What's hot (20)

PDF
Building Event-Driven Services with Apache Kafka
PPTX
Microservices in the Apache Kafka Ecosystem
PDF
Apache Kafka, Tiered Storage and TensorFlow for Streaming Machine Learning wi...
PPTX
10 Principals for Effective Event-Driven Microservices with Apache Kafka
PDF
Evolving from Messaging to Event Streaming
PPTX
Flink SQL in Action
PDF
Data Driven Enterprise with Apache Kafka
PDF
Build a Bridge to Cloud with Apache Kafka® for Data Analytics Cloud Services
PDF
Etl, esb, mq? no! es Apache Kafka®
PDF
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs
PPTX
Bank of China (HK) Tech Talk 1: Dive Into Apache Kafka
PPTX
Stream Processing Live Traffic Data with Kafka Streams
PDF
Bank of China Tech Talk 2: Introduction to Streaming Data and Stream Processi...
PDF
How did we move the mountain? - Migrating 1 trillion+ messages per day across...
PDF
Event Driven Services Part 2: Building Event-Driven Services with Apache Kafka
PPTX
BizTalk Mapping Patterns and Best Practices
PDF
From Batch to Streaming ET(L) with Apache Apex at Berlin Buzzwords 2017
PDF
Kafka Summit NYC 2017 - Building Advanced Streaming Applications using the La...
PDF
On Track with Apache Kafka®: Building a Streaming ETL Solution with Rail Data
PDF
Using Location Data to Showcase Keys, Windows, and Joins in Kafka Streams DSL...
Building Event-Driven Services with Apache Kafka
Microservices in the Apache Kafka Ecosystem
Apache Kafka, Tiered Storage and TensorFlow for Streaming Machine Learning wi...
10 Principals for Effective Event-Driven Microservices with Apache Kafka
Evolving from Messaging to Event Streaming
Flink SQL in Action
Data Driven Enterprise with Apache Kafka
Build a Bridge to Cloud with Apache Kafka® for Data Analytics Cloud Services
Etl, esb, mq? no! es Apache Kafka®
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs
Bank of China (HK) Tech Talk 1: Dive Into Apache Kafka
Stream Processing Live Traffic Data with Kafka Streams
Bank of China Tech Talk 2: Introduction to Streaming Data and Stream Processi...
How did we move the mountain? - Migrating 1 trillion+ messages per day across...
Event Driven Services Part 2: Building Event-Driven Services with Apache Kafka
BizTalk Mapping Patterns and Best Practices
From Batch to Streaming ET(L) with Apache Apex at Berlin Buzzwords 2017
Kafka Summit NYC 2017 - Building Advanced Streaming Applications using the La...
On Track with Apache Kafka®: Building a Streaming ETL Solution with Rail Data
Using Location Data to Showcase Keys, Windows, and Joins in Kafka Streams DSL...
Ad

Viewers also liked (7)

PDF
Http Status Report
PDF
Ruby V Ms A Comparison
PDF
Teamwork Is An Individual Skill How To Build Any Team Any Time
PDF
Agility Possibilities At A Personal Level
PDF
Gallio Crafting A Toolchain
PDF
Yellowpagescom Behind The Curtain
PPT
Clustered Architecture Patterns Delivering Scalability And Availability
Http Status Report
Ruby V Ms A Comparison
Teamwork Is An Individual Skill How To Build Any Team Any Time
Agility Possibilities At A Personal Level
Gallio Crafting A Toolchain
Yellowpagescom Behind The Curtain
Clustered Architecture Patterns Delivering Scalability And Availability
Ad

Similar to No More Hops Towards A Linearly Scalable Application Infrastructure (20)

PDF
Space-Based Architecture
PPT
The Next Generation Application Server – How Event Based Processing yields s...
PPSX
Microservices Architecture - Cloud Native Apps
PDF
ASAS 2013 - Space-based architecture: Linear scalability? High throughput? Lo...
PPTX
London Cloud Computing Meetup: From GigaSpaces to the Cloud - a demonstration...
PDF
Scaling Out Tier Based Applications
PPTX
Network Information Factories
PPT
GigaSpaces PAAS For Cloud Based Java Applications
PPTX
The "Why", "What" and "How" of Microservices
PPTX
SOA vs Microservices vs SBA
PPT
Giga Spaces Data Grid / Data Caching Overview
PDF
Microservices and Friends
PDF
Term paper 2073131
PDF
Full lifecycle of a microservice
PPTX
Pragmatic Approach to Microservices and Cell-based Architecture
PDF
Microservice pitfalls
PDF
Microservices for Java Architects (Indianapolis, April 15, 2015)
PPTX
Let's talk about... Microservices
PDF
An Introduction To Space Based Architecture
PPTX
vFabric - Ideal Platform for SaaS Apps
Space-Based Architecture
The Next Generation Application Server – How Event Based Processing yields s...
Microservices Architecture - Cloud Native Apps
ASAS 2013 - Space-based architecture: Linear scalability? High throughput? Lo...
London Cloud Computing Meetup: From GigaSpaces to the Cloud - a demonstration...
Scaling Out Tier Based Applications
Network Information Factories
GigaSpaces PAAS For Cloud Based Java Applications
The "Why", "What" and "How" of Microservices
SOA vs Microservices vs SBA
Giga Spaces Data Grid / Data Caching Overview
Microservices and Friends
Term paper 2073131
Full lifecycle of a microservice
Pragmatic Approach to Microservices and Cell-based Architecture
Microservice pitfalls
Microservices for Java Architects (Indianapolis, April 15, 2015)
Let's talk about... Microservices
An Introduction To Space Based Architecture
vFabric - Ideal Platform for SaaS Apps

More from ConSanFrancisco123 (19)

PDF
Open Ap Is State Of The Market
PDF
Yahoo Pipes Middleware In The Cloud
PDF
Res Tful Enterprise Development
PDF
10 Ways To Improve Your Code
PDF
Behind The Scenes At My Spacecom
PDF
Building Blueprint With Gwt
PDF
Security Cas And Open Id
PDF
Soa And Web Services Security
PDF
Making Threat Modeling Useful To Software Development
PDF
Secure Programming With Static Analysis
PDF
Agile Software Development In The Large
PDF
Introduction Challenges In Agile And How To Overcome Them
PDF
Business Natural Languages Development In Ruby
PDF
Orbitz World Wide An Architectures Response To Growth And Change
PDF
Introduction Architectures Youve Always Wondered About
PDF
Linked In Lessons Learned And Growth And Scalability
PDF
Yahoo Communities Architecture Unlikely Bedfellows
PDF
Designing Res Tful Rails Applications
PDF
Second Life How It Works And How It Doesnt
Open Ap Is State Of The Market
Yahoo Pipes Middleware In The Cloud
Res Tful Enterprise Development
10 Ways To Improve Your Code
Behind The Scenes At My Spacecom
Building Blueprint With Gwt
Security Cas And Open Id
Soa And Web Services Security
Making Threat Modeling Useful To Software Development
Secure Programming With Static Analysis
Agile Software Development In The Large
Introduction Challenges In Agile And How To Overcome Them
Business Natural Languages Development In Ruby
Orbitz World Wide An Architectures Response To Growth And Change
Introduction Architectures Youve Always Wondered About
Linked In Lessons Learned And Growth And Scalability
Yahoo Communities Architecture Unlikely Bedfellows
Designing Res Tful Rails Applications
Second Life How It Works And How It Doesnt

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPT
Teaching material agriculture food technology
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
A Presentation on Artificial Intelligence
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Approach and Philosophy of On baking technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Machine learning based COVID-19 study performance prediction
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Electronic commerce courselecture one. Pdf
PDF
cuic standard and advanced reporting.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Teaching material agriculture food technology
Reach Out and Touch Someone: Haptics and Empathic Computing
Mobile App Security Testing_ A Comprehensive Guide.pdf
Review of recent advances in non-invasive hemoglobin estimation
Building Integrated photovoltaic BIPV_UPV.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
A Presentation on Artificial Intelligence
Unlocking AI with Model Context Protocol (MCP)
Approach and Philosophy of On baking technology
Network Security Unit 5.pdf for BCA BBA.
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Encapsulation theory and applications.pdf
Encapsulation_ Review paper, used for researhc scholars
Machine learning based COVID-19 study performance prediction
Spectral efficient network and resource selection model in 5G networks
Electronic commerce courselecture one. Pdf
cuic standard and advanced reporting.pdf
The AUB Centre for AI in Media Proposal.docx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...

No More Hops Towards A Linearly Scalable Application Infrastructure

  • 1. No More Hops: Towards a linearly scalable application infrastructure. Owen Taylor Blog: http://www.jroller.com/owentaylor
  • 2. About me. . . ORBs Containers Frustration “ The Final Frontier”
  • 3. 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 X TPS X TPS 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
  • 5. 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. Typical SOA model based on ESB Services can be Java, C++, .Net Content-Based Routing Most ESB solutions do not address stateful services and often use a centralized database to share state between services
  • 7. 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...
  • 8. 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
  • 9. 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
  • 10. Parallel Processing: Divide and Scale out Request Feed Proxy Request Request Request Proxy Proxy Proxy Write Write Write Service1 Service2 Service3 Partitioned Spaces Request: Zoom-in update stocks where … Proxy Virtual Table
  • 11. Colocation: Dramatically Reduce Latency Request Feed Proxy Request Requests Request Proxy Write Write Write Partitioned Spaces Request: Zoom-in Proxy Virtual Table update stocks where …
  • 12. Example: Algorithmic Trading Client Registration Offer Driver Execution Engine Write Notify Register Matching Engine Update Average Latency ~14 milliseconds (+ ~2 milliseconds for backup)
  • 13. 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]
  • 14. [Demo] Excel With a Grid Backbone: 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 StockConverter Spring Bean StockConverter Spring Bean
  • 15. Nuts and Bolts: 4 Verbs Write Take Read Write Notify Write + Read = IMDG Write + Notify = Messaging Write + Take = Parallel Processing Take Write Read Take Notify
  • 16. SBA = Real-time SOA for Stateful Applications Services can be Java, C++, .Net Content-Based Routing Shared state to enable stateful services
  • 17. Declarative Spring-SBA - Making Scalability Even Simpler Declarative Abstraction Space Bus Validation Service Service Bean Matching Service Service Bean Take Write Notify Space Bus Validation Service Service Bean Matching Service Service Bean Take Write Notify Take/Notify Write Take/Notify Write Polling Event Container Notify Event Container Polling Event Container Notify Event Container
  • 18. Reaching Scalability with Space Based SOA Write Take Read Write Notify
  • 19. 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
  • 20. 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
  • 21. Linearly Scalable OrderProcessing: Deploy Again: 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 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 2007 @7:15 PM in “City Room” Everyone bring a laptop Download GigaSpacesXAP6.0.1 http://www.gigaspaces.com/os_downloads.html Install Eclipse 3.3 Europa [ or Intellij ] Go to my blog and download: “projectcreator.jar” (it is a zip in hiding) http://www.jroller.com/resources/o/owentaylor/project-creator.jar
  • 24. 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! http://www.jroller.com/owentaylor