SlideDeck.io – A repository of great HTML presentations
https://www.github.com/No9 – @antonwhalley
View Github Repository
Open presentation in a new window
No9
See all presentation from No9
https://www.github.com/No9 – @antonwhalley
0
5
peerconf-2013
Slides From PeerConf
On Github
No9 / peerconf-2013
https://www.github.com/No9
@antonwhalley
Peer to Peer in Production
Cinema Content Distribution
Content is adverts and films
Traditionally couriers with DVDs
12000+ machines can be in a distribution network
Hybrid network topology
Large Files (> 1Gb)
Baseline Solution
Bit Torrent to parse file and seed network
Content metadata(Torrent Descriptor) replication provided by CRDT (Commutative Replicated Data Types)
Management UI provided by a node.js,express and seneca
Further Requirements
(Not all peers are equal)
Authentication and Authorisation
Management Application to partition content (even adverts)
System Monitoring (Wot no tests)
Further Solutions?
User Authentication and Authorisation provided by a central datastore.
Content Partitioning dealt with by a kerberosesque cache token based system.
Application Level Authorisation provided by keys signed by a certificate authority
Monitoring was simply each node reporting status at a given interval with the results aggregated over a time period as a mongo map reduce.
Lessons
Unix philosophy FTW!
Mongo disappears. (Deal With It?)
LevelDB not remember on the nodes (Why u no windows)
Some funnies with reconnect using http fell back to TLS
No continuous deployment :( NPM makes you lazy.
Performance Driven Development? Yes Please
Would love to revisit the central certificate authority and non-repudiation problem