![Page 1: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/1.jpg)
Your systems. Working as one.
Top 10 Ways to Mess Up your Distributed System
Stan Schneider, PhD
![Page 2: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/2.jpg)
Distributed Systems Experience
![Page 3: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/3.jpg)
Trend: Scale
• More things producing and consuming data
• Greater volume of data• System of systems
integrationSystem of systems
![Page 4: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/4.jpg)
Problem
By the time you find out if your infrastructure is good, it’s too late
04/13/2023 4
![Page 5: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/5.jpg)
Top 10 Ways to Mess Up Your Distributed System
04/13/2023 5
![Page 6: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/6.jpg)
Gloss over your data model
04/13/2023 6
1
![Page 7: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/7.jpg)
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
![Page 8: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/8.jpg)
Misunderstand your data flow
04/13/2023 8
2
![Page 9: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/9.jpg)
Data Flow Models
Point-to-Point Client/Server Publish/Subscribe
BrokeredESB
Daemon
Pub/Sub Messaging
Data-CentricPublish/Subscribe (DCPS)
Data-Centric
9
![Page 10: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/10.jpg)
Allow uncontrolled state
04/13/2023 10
3
![Page 11: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/11.jpg)
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
![Page 12: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/12.jpg)
Ignore evolution
04/13/2023 12
4
![Page 13: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/13.jpg)
Evolve Models & Behaviors
• Extensible infrastructure• Routing
– Connect data models: guarding, transformation• Service bus
– Match behaviors and patterns between components04/13/2023 13
![Page 14: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/14.jpg)
Make all communications reliable
04/13/2023 14
5
![Page 15: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/15.jpg)
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
![Page 16: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/16.jpg)
Save system integration strategy for the end
04/13/2023 16
6
![Page 17: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/17.jpg)
Example: Naval Integration
• Systems of systems become exponentially complex
• Reduce coupling to reduce complexity
• Define interfaces early and carefully
04/13/2023 17
![Page 18: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/18.jpg)
Think performance or scale isn’t important, or can be done “later”
04/13/2023 18
7
![Page 19: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/19.jpg)
04/13/2023 19
• Tuning a slow system doesn’t work
• Building a fast system takes design
![Page 20: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/20.jpg)
Don’t anticipate business drivers
04/13/2023 20
8
![Page 21: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/21.jpg)
21
Wind Power
• Grid control– Continuous performance
tuning of turbines
• Business control– Predictive and preventive
maintenance– Smart diagnostics– Production planning
![Page 22: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/22.jpg)
Assume all implementations of the standard are the same
04/13/2023 © 2012 RTI • COMPANY CONFIDENTIAL 22
9
![Page 23: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/23.jpg)
04/13/2023 © 2012 RTI • COMPANY CONFIDENTIAL 23
![Page 24: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/24.jpg)
Go it alone
04/13/2023 © 2012 RTI • COMPANY CONFIDENTIAL 24
10
![Page 25: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/25.jpg)
• Hawaii warning signs
04/13/2023 25
![Page 26: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/26.jpg)
Believe there are only 10 ways to mess up
04/13/2023 26
11
![Page 27: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/27.jpg)
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
![Page 28: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/28.jpg)
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
![Page 29: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/29.jpg)
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
![Page 30: Top 10 Ways to Mess Up Your Distributed System](https://reader033.vdocument.in/reader033/viewer/2022060116/5581087ed8b42a05558b48bc/html5/thumbnails/30.jpg)
Your Systems.Working as OneSM