This presentation on architecture strategies for information networks aims to:
- Present case studies to bring out Architecture Patterns/approach to implement information Networks/Exchanges
- Compare the Architecture decisions.
Living in the information age we are witness to the constant innovation in strategies to provide and source information in a more timely, orderly, and usable manner; and this is applicable to both individuals and Enterprises alike.
One of the challenges for Enterprises today is to devise efficient mechanisms and means to aggregate information from multiple sources (be it across multiple supplier organizations, or individual experts), in real time, and in a scalable manner.
Valtech has worked closely with its clients to help address this challenge using approaches as: ‘Information Exchange Hubs’ and ‘Information Networks’
2. Information Networks
An Information Network (IN) facilitates collaboration of disparate
information sources, across: people, organizations and
applications
• Types of applications that INs • Benefits of INs
are built on: • Higher value to the customers-
• Transactional systems convenience, turnaround time,
value for money
• Repositories
• Expands the reach of business
• Infotainment channels
• Catalyst in fueling new business
possibilities
2
3. History of Information Networks
Number & complexity of
Information Networks
Pre-1980 1980 1990 2000 Present Day
Sabre SFTI
ITS NYSE
B2B Networks ARPANET
Direct+ NHIN
B2C Networks
&
Marketplaces
Social
Networks Usenet
3
4. Outline
• Problem Statement with the help of a Case Study
• Understanding of the business
• Architectural Challenges identified
• Architecture Strategies & Experiences
• Common pitfalls
• Solution Considerations
• Application of solution considerations for the case study
4
6. The itinerary
Flight to
Malaysia
Stay at
Island #1
Cruise to
island #2
Stay at
island #2
Flight back
to India
6
7. Players involved
Stay at island Stay at island
• Airlines #1 • Cruise Liner #2 • Airlines
• Onboard
• Hotel service • Hotel
• Local taxi providers • Taxi Service
services • Restaurants
• Sightseeing
Operators
Flight to Cruise to Flight back to
Malaysia island #2 India
Complexity for • Managing multiple direct service providers
• Coordinating the itinerary, e.g. rescheduling /
the consumer cancellations
7
8. Solving the complexity: The Travel Hub
Customers
Consumers
Agents
Travel Information
Services Hub
Suppliers
Other
service
providers
Airlines Car Rentals / Taxis Hotels
8
12. Travel Hub: Building Blocks
Information Hub
Application 1 Providers
Provider 1
Application 2 Internet End Point Business Integration Internet
Adapters Service Layer Infrastructure Provider 2
Application n Provider N
Data
Access
Database
12
13. Focus areas for this Talk
Scalability Interoperability Performance
13
15. Understanding Scalability
Realistic Scalability Curve
Scaling threshold
Response Time
Infinite scalability
(ideal)
# of users
15
16. Understanding Scalability
Realistic Scalability Curve
New scaling threshold
Revised
Scalability
Scaling threshold Curve
Response Time
Infinite scalability
(ideal)
# of users
16
17. Top factors hindering scalability
#1: Contention for
Centralized Resources
Data
Repository
Multiple requests for same
record / data causes a
bottleneck for an
information network to scale
17
18. Top factors hindering scalability
#1: Contention for #2 Replication
Centralized Resources Overheads
1 2
4 3
Cluster of 4 systems
Replication Overhead = 6x
Data
Repository
1 2 3
8 4
Multiple requests for same
record / data causes a
bottleneck for an 7 6 5
information network to scale
Cluster of 8 systems
Replication Overhead = 28x!
18
19. Top factors hindering scalability
#1: Contention for #2 Replication #3 Statefulness
Centralized Resources Overheads
1 2 Load Balancer
Active
4 3 Server
#1
Cluster of 4 systems
Replication Overhead = 6x Active
Data Server
Repository #2
1 2 3
Active
Server
8 4 #3
Multiple requests for same
record / data causes a Load balancing is more
bottleneck for an 7 6 5
effective with
information network to scale statelessness
Cluster of 8 systems
Replication Overhead = 28x!
19
20. Factoring Scalability in the HUB Architecture
REST based state-less
service layer
Information Hub
Providers
Application 1
Provider 1
End Point Business Integration
Clustered Internet
Application 2 Internet Business
Adapters Service Layer Infrastructure
Integration Provider 2
Service Layer
Infrastructure
Provider N
Application n
Data
Access
Flexible MOM
1. Partitioning & Replicating clustering
2. NOSQL or Hybrid model Partitioned Partitioned
Database Database
20
21. Interoperability
Agreements!
• Protocol
What does it take to • Interface
make applications • Data
talk with each • Service levels
other?
• Performance
• Reliability
• Throughput
21
22. Interoperability Premise for HUB Architecture
Provider Specific
Business OTA Message Broker Message
Services Request Request
Layer Message
Gateway Provider
1
Endpoint Response
Translator
Aggregator
Faults
OTA
Response
Message Adaptor Provider
2 2
22
23. Applying Interoperability agreements in the Hub
Inbound interface: REST Outbound interface:
based services Provider-specific
Information Hub
Application 1 Providers
Provider 1
Application 2 Internet End Point Business Integration Internet
Adapters Service Layer Infrastructure Provider 2
Application n Provider N
Data
Access
Outbound protocol:
Inbound protocol:
Data standard: Database Provider-specific
HTTP
OTA specified
(XML Based)
23
24. Performance
How much time does the server get to process requests?
Information Hub
Application 1 Providers
Provider 1
Application 2 Internet End Point Business Integration Internet
Adapters Service Layer Infrastructure Provider 2
Application n Provider N
Data
Access
Total Latency = Server Latency + N/W latency
N/W Latency Server Latency
Bandwidth constraint and latency are Control server latency, data size
constant and out of control!
24
26. Principal Performance Construct for HUB Architecture
Parallel Processing: Employed parallel processing to process interactions
with multiple providers
Business Message Broker
Services Request Request Adaptor Provider
Layer Message 1 1
Response Adaptor Provider
Client 2 2
Endpoint
Adaptor Provider
Faults
Response 3 3
Message
26
27. Why a Message Broker?
Loose coupling
• Can add end points dynamically
• Originator does not need to know the
consumer
Asynchronous Model
• Asynchronous model enabled by
default
Container Managed Services
• Container managed service such as Alternatives to
reliability & availability
Message Broker:
Additional Features • Map Reduce
• Support for monitoring and diagnostics • Concurrency API
27
28. Other performance strategies used
• Employed a distributed caching provider,
Caching • To cache: personalization information, configuration, static/invariant
immutable, and any frequently accessed data: Look-ups, masters etc.
• DB Connections, Queue connections,
Pooling • Temporary Queue (used to receive responses)
• Data Transfer Object pooling
Asynchronous • Updating of history
Processing • Audit trail
Aggregation & Pre- • Offers and Campaigns applicability
• Various complex report calculations were pre computed into materialized
Computing views
28
29. Conclusion
• Why are architectural considerations different for Information
Networks from traditional enterprise or standalone
applications?
• Traditional approaches for enterprise applications may fail quite
severely for Information Networks – need for more innovative
approaches
29
SABRE: Semi-Automatic Business-Related Environment), a computer reservation system or GDS which was developed to automate the way American Airlines booked reservations. Experimental system went online in 1960, full fledged launch in 1964.ITS: Intermarket Trading System (ITS). ITS provided an electronic link between the NYSE and competing exchanges, enabling brokers to access all markets nation- wide to find the best purchase or sale price for a security. Launched in 1978.NYSE Direct+: Automatic Execution Service for execution of limit trading orders at NYSE. Launched in 2000.SFTI: NYSE’s Secure Financial Transaction Infrastructure – Enabledtechnology providers to offer products to trading firms via a hosted environment. Launched in 2008.Usenet: distributed Internet discussion system, established in 1980Sample usenet newsgroups:Comp dotosdotunixdot shellAlt dot arts dot poetry
Share insights from Financial Industry
Onboard (aboard the cruise liner) service providers would include spa, entertainment services, restaurant services, etc.Essentially, this slide needs to establish that even for a simple holiday, there can be almost a dozen parties involved for the consumer to enjoy a seamless experience.
Typical use cases for the holiday consumerSearch servicesReserve/block services Book servicesReview & change reservationsCancel reservationsSolving this complexity: The “Travel Hub”TravelocityMakeMyTrip.comNeither hub is a customer of Valtech. These names have been provided only for reference.
linear scalability - the ability to maintain a consistent throughput rate proportionally as resources are added to the system. Adding resources incurs additional overheadthis is the "scalability factor", Types of scalability:- This is called linear scalability - If the scalability factor stays constant as you scale. A scalability factor below 1.0 is called sub-linear scalability.Though rare, its possible to get better performance (scalability factor) just by adding more components (i/o across multiple disk spindles in a RAID gets better with more spindles). This is called supra-linear scalability.- negative scalability - If the application is not designed for scalability, its possible that things can actually get worse as it scales..
linear scalability - the ability to maintain a consistent throughput rate proportionally as resources are added to the system. Adding resources incurs additional overheadthis is the "scalability factor", Types of scalability:- This is called linear scalability - If the scalability factor stays constant as you scale. A scalability factor below 1.0 is called sub-linear scalability.Though rare, its possible to get better performance (scalability factor) just by adding more components (i/o across multiple disk spindles in a RAID gets better with more spindles). This is called supra-linear scalability.- negative scalability - If the application is not designed for scalability, its possible that things can actually get worse as it scales..
linear scalability - the ability to maintain a consistent throughput rate proportionally as resources are added to the system. Adding resources incurs additional overheadthis is the "scalability factor", Types of scalability:- This is called linear scalability - If the scalability factor stays constant as you scale. A scalability factor below 1.0 is called sub-linear scalability.Though rare, its possible to get better performance (scalability factor) just by adding more components (i/o across multiple disk spindles in a RAID gets better with more spindles). This is called supra-linear scalability.- negative scalability - If the application is not designed for scalability, its possible that things can actually get worse as it scales..
Other factors affecting scalability are:Overuse of DB SP’s, Synchronization/Locking, I/O
Other factors affecting scalability are:Overuse of DB SP’s, Synchronization/Locking, I/O
Other factors affecting scalability are:Overuse of DB SP’s, Synchronization/Locking, I/O
250 KB will take about 2 Sec over a B/W of 1 Mbps and 100ms latencyWe would typically get less than one second of server processing time!