top 10 ways to mess up your distributed system
DESCRIPTION
View On-Demand http://ecast.opensystemsmedia.com/331Learn how to avoid commonly made mistakes when designing your distributed system. Whether it's misunderstanding your data flow or underestimating scale – learn from and apply real-world technical experience to your project.RTI is the world's leading vendor of real-time middleware. We have direct experience with hundreds of teams building thousands of complex distributed systems. These range from a few computers to thousands, and soon, millions. We have seen, across the dozens of industries we engage, patterns of use, and critical mistakes, that even the best designers can make.This webinar targets chief engineers and software architects for high-performance distributed systems. It captures some of our experience with these types of systems.TRANSCRIPT
Your systems. Working as one.
Top 10 Ways to Mess Up your Distributed System
Stan Schneider, PhD
Distributed Systems Experience
Trend: Scale
• More things producing and consuming data
• Greater volume of data• System of systems
integrationSystem of systems
Problem
By the time you find out if your infrastructure is good, it’s too late
04/13/2023 4
Top 10 Ways to Mess Up Your Distributed System
04/13/2023 5
Gloss over your data model
04/13/2023 6
1
7
Who uses the FACE Data Model?
System IntegrationFACE Definition (Standards)
Software Development
OTS Portable
Components
Core Data Model
Compliant To
System Data Model
Integrator
Definitions
Associations
Data Descriptions
Packaging
Constraints
Proposed Updates
Supplier Develops
Use
s
Misunderstand your data flow
04/13/2023 8
2
Data Flow Models
Point-to-Point Client/Server Publish/Subscribe
BrokeredESB
Daemon
Pub/Sub Messaging
Data-CentricPublish/Subscribe (DCPS)
Data-Centric
9
Allow uncontrolled state
04/13/2023 10
3
Controlled State
• Data centric– Single source of truth– Known structure– Clear rules for access, changes, updates
• Technologies– Database– Data-centric middleware
04/13/2023 11
Ignore evolution
04/13/2023 12
4
Evolve Models & Behaviors
• Extensible infrastructure• Routing
– Connect data models: guarding, transformation• Service bus
– Match behaviors and patterns between components04/13/2023 13
Make all communications reliable
04/13/2023 14
5
Asset Tracking Example
Transactional design:• 12,000 tracks• 11 servers with 88 cores• Poor reliability and uptime• 1.5M SLOC• 2-8 years to develop• Custom, proprietary
DDS design:• 250,000 tracks• 80% of a single core• Full redundancy• 50k SLOC• Proof of concept in under a week• 100% standards based
04/13/2023 15
Save system integration strategy for the end
04/13/2023 16
6
Example: Naval Integration
• Systems of systems become exponentially complex
• Reduce coupling to reduce complexity
• Define interfaces early and carefully
04/13/2023 17
Think performance or scale isn’t important, or can be done “later”
04/13/2023 18
7
04/13/2023 19
• Tuning a slow system doesn’t work
• Building a fast system takes design
Don’t anticipate business drivers
04/13/2023 20
8
21
Wind Power
• Grid control– Continuous performance
tuning of turbines
• Business control– Predictive and preventive
maintenance– Smart diagnostics– Production planning
Assume all implementations of the standard are the same
04/13/2023 © 2012 RTI • COMPANY CONFIDENTIAL 22
9
04/13/2023 © 2012 RTI • COMPANY CONFIDENTIAL 23
Go it alone
04/13/2023 © 2012 RTI • COMPANY CONFIDENTIAL 24
10
• Hawaii warning signs
04/13/2023 25
Believe there are only 10 ways to mess up
04/13/2023 26
11
RTI Overview
• Market Leader– Over 70% DDS mw market share1
– Largest embedded middleware vendor2
• Standards Leader– Supported Standards: DDS, JMS, RTPS, SQL,
WSDL/SOAP, HTTP/Rest, C, Java, C++, .net– OMG Board of Directors
• Maturity Leader– 15+ years of commercial availability– Diverse industries: defense, finance, medical,
industrial control, power generation, communications
– 500+ design wins– 350,000+ licensed copies– TRL 9
1Embedded Market Forecasters2VDC Analyst Report
Top 10 Ways to Mess Up
• Gloss over your data model• Misunderstand your data flow• Allow uncontrolled state• Ignore evolution• Make all communications reliable• Save system integration strategy for the end• Think performance or scale isn’t important, or can be done
“later”• Don’t anticipate business drivers• Assume all implementations of the standard are the same• Go it alone
04/13/2023 28
04/13/2023 29
Summary
• Problem: By the time you find out if your infrastructure is good, it’s too late
• Solution: Proactively manage complexity– Complexity must exist somewhere; choose where– Data centric infrastructure pulls complexity out of
every application– Leverage proven technology & experience
Your Systems.Working as OneSM