https://commons.host @sebdeckers Commons Host
2017
Contributing to
require('http2')
Slide 6
Slide 6 text
https://commons.host @sebdeckers Commons Host
2018
Building a
100% FOSS CDN
Slide 7
Slide 7 text
https://commons.host @sebdeckers Commons Host
20+ PoPs in 6 months
all hosted by sponsors
Slide 8
Slide 8 text
https://commons.host @sebdeckers Commons Host
Open hardware:
Odroid ARM µ-servers
Slide 9
Slide 9 text
https://commons.host @sebdeckers Commons Host
Deploy a Static Site
npx @commonshost/cli deploy
Slide 10
Slide 10 text
https://commons.host @sebdeckers Commons Host
Slide 11
Slide 11 text
https://commons.host @sebdeckers Commons Host
Let's Encrypt for
Custom Domains
npx @commonshost/cli deploy
--domain example.com
(Point the DNS record for "example.com" to "commons.host")
Slide 12
Slide 12 text
https://commons.host @sebdeckers Commons Host
HTTP/2 Server Push
npx @commonshost/manifest generate
https://commons.host @sebdeckers Dawn of the Hybrid CDN
FTTx
"73% of the world’s FTTx subscribers
[...] in the Asia-Pacific region."
Slide 25
Slide 25 text
https://commons.host @sebdeckers Commons Host
Fibre installed by default
in new property developments.
FTTH available in most cities
in CJK, SEA, and India
Slide 26
Slide 26 text
https://commons.host @sebdeckers Commons Host
DCs and IXs still expensive.
Slide 27
Slide 27 text
https://commons.host @sebdeckers Commons Host
BKK SGN JKT MNL
KUL
RGN
SIN HKG TYO
Not enough glass in the water.
Traffic mostly via peering in SIN/HKG/TYO.
Slide 28
Slide 28 text
https://commons.host @sebdeckers Commons Host
The Internet is a concept, not a thing.
Slide 29
Slide 29 text
https://commons.host @sebdeckers Commons Host
What is peering?
Networks talking directly to each other.
Internet: Interconnected Networks
Slide 30
Slide 30 text
https://commons.host @sebdeckers Commons Host
Free vs Paid Peering
Not all networks are created equal.
https://commons.host @sebdeckers Commons Host
The real world is lumpy.
Just way too many networks
De facto/jure monopolies
Systemic barriers to entry
Slide 33
Slide 33 text
https://commons.host @sebdeckers Commons Host
UTH - BKK - SIN
vs
UTH - BKK - SIN - SJC - SIN
Slide 34
Slide 34 text
https://commons.host @sebdeckers Commons Host
Internet Exchanges (IX)
Middlemen between networks
Carrier neutral
Network effect
Slide 35
Slide 35 text
https://commons.host @sebdeckers Commons Host
Traditional Approach:
Put a cache at every IX.
Slide 36
Slide 36 text
https://commons.host @sebdeckers Commons Host
Ideal Solution:
Put a cache at every ISP.
Slide 37
Slide 37 text
https://commons.host @sebdeckers Commons Host
Think
big.
561 urban agglomerations
>1,000,000 population
63,483 BGP-active ASNs,
upper bound of ISPs in the world
1,064 urban areas
>500,000 population 53% of
the world
Slide 38
Slide 38 text
https://commons.host @sebdeckers Commons Host
Start
small.
$200 per server
affordable by individuals
Static Sites
low CPU/RAM/IO requirements
1 Gbps per server
enough to saturate FTTH
Slide 39
Slide 39 text
https://commons.host @sebdeckers Commons Host
Move
fast.
20+ locations
in first 6 months
Automation
deploy a new server in minutes
Slide 40
Slide 40 text
https://commons.host @sebdeckers Commons Host
Leverage 3 major
commoditised technologies:
JavaScript
FTTH
ARM
Slide 41
Slide 41 text
https://commons.host @sebdeckers Commons Host
1. JavaScript
Node.js: fast low-level internals for
HTTP/2, crypto, compression, I/O, ...
NPM: Standing on the shoulders of giants.
https://commons.host @sebdeckers Commons Host
20 years ago,
in 1998...
Slide 48
Slide 48 text
https://commons.host @sebdeckers Commons Host
Slide 49
Slide 49 text
https://commons.host @sebdeckers Commons Host
Commodity Hardware
Intel Pentium II
Donated by Intel
Big Idea:
"Not absolute performance,
but best performance per dollar."
Slide 50
Slide 50 text
https://commons.host @sebdeckers Commons Host
Today,
in 2018...
Slide 51
Slide 51 text
https://commons.host @sebdeckers Commons Host
Slide 52
Slide 52 text
https://commons.host @sebdeckers Commons Host
Intel Xeon is the
expensive,
power-hungry,
king of absolute
server performance
ARM is the
new commodity hardware
thanks to a huge
mobile processor market
Slide 53
Slide 53 text
https://commons.host @sebdeckers Commons Host
Best price/performance:
Last year's mobile CPU!
Considered obsolete,
unsellable in consumer market.
Slide 54
Slide 54 text
https://commons.host @sebdeckers Commons Host
Solid state chip inventory does
not wear out, nor expire.
Due to huge volumes,
production surplus can be large.
Slide 55
Slide 55 text
https://commons.host @sebdeckers Commons Host
Bunnie Huang: Individual Shenzhen electronics mall shops
with more chip inventory than all of North America.
Slide 56
Slide 56 text
https://commons.host @sebdeckers Commons Host
Market Trends
Servers Desktops Mobile
https://commons.host @sebdeckers Commons Host
Marketplace
Content Publishers pay — Server Hosts earn.
Incentives for hosts worldwide to invest in hardware and networks.
Large content publishers can reach otherwise impossible audiences.
Slide 69
Slide 69 text
https://commons.host @sebdeckers Commons Host
One more thing...
Slide 70
Slide 70 text
https://commons.host @sebdeckers Commons Host
DNS over HTTPS
New way to secure DNS against tampering,
censorship, snooping, etc.
Slide 71
Slide 71 text
https://commons.host @sebdeckers Commons Host
DNS over HTTPS
DNS over long-lived, low bandwidth, HTTP/2
connections.
Slide 72
Slide 72 text
https://commons.host @sebdeckers Commons Host
DNS over HTTPS
More servers = lower latency
More users = better cache hit ratio
Slide 73
Slide 73 text
https://commons.host @sebdeckers Commons Host
DNS over HTTPS
Playdoh & Dohnut
Slide 74
Slide 74 text
https://commons.host @sebdeckers Commons Host
"How hard can it be?"
Kenny Shen
@machinesung
Overnight implementation based on require('dns-packet')
Zero to production in 10 days.
Slide 75
Slide 75 text
https://commons.host @sebdeckers Commons Host
Playdoh
Public DoH on all Commons Host CDN edge servers.
Independent, no censorship, no logging.
Slide 76
Slide 76 text
https://commons.host @sebdeckers Commons Host
Try DoH with Firefox:
Slide 77
Slide 77 text
https://commons.host @sebdeckers Commons Host
Dohnut
DNS to DNS over HTTPS
Slide 78
Slide 78 text
https://commons.host @sebdeckers Commons Host
Slide 79
Slide 79 text
https://commons.host @sebdeckers Commons Host
Use HTTP/2 AltSvc to announce
nearby DoH servers.
Use HTTP/2 PING to measure
fastest DoH servers.
Slide 80
Slide 80 text
https://commons.host @sebdeckers Commons Host
2nd Tier
DoH-only edge servers
No storage required.
Run on Raspberry Pi?
Slide 81
Slide 81 text
https://commons.host @sebdeckers Commons Host
I need your help...
Slide 82
Slide 82 text
https://commons.host @sebdeckers Commons Host
I need your help...
Use
Publish websites
Translate documentation
Report bugs
Request features
Slide 83
Slide 83 text
https://commons.host @sebdeckers Commons Host
I need your help...
Use
Publish websites
Translate documentation
Report bugs
Request features
Host
Deploy an edge PoP,
at your home or office.
Especially in developing
urban areas.
Slide 84
Slide 84 text
https://commons.host @sebdeckers Commons Host
Use
Publish websites
Translate documentation
Report bugs
Request features
Host
Deploy an edge PoP,
at your home or office.
Especially in developing
urban areas.
Fund
Buy a PoP server,
for yourself or
for placement at
a willing remote host.
Slide 85
Slide 85 text
https://commons.host @sebdeckers Commons Host
Use
Publish websites
Translate documentation
Report bugs
Request features
Host
Deploy an edge PoP,
at your home or office.
Especially in developing
urban areas.
Fund
Buy a PoP server,
for yourself or
for placement at
a willing remote host.
Share
Tell
a
Friend