Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Thalassa - LXJS
Search
Mike Brevoort
October 02, 2013
Technology
1
130
Thalassa - LXJS
Continuous Deployment System
http://www.youtube.com/watch?v=k6QkNt4hZWQ&hd=1
Mike Brevoort
October 02, 2013
Tweet
Share
More Decks by Mike Brevoort
See All by Mike Brevoort
Enterprise Messaging Workflows
mbrevoort
0
72
Developer Experience is User Experience
mbrevoort
1
320
Appbots Lightning Talk
mbrevoort
0
99
Testing and Debugging Slack Apps
mbrevoort
0
1.2k
What's all the noise a-bot?
mbrevoort
0
700
Why Bots, Why Now - OSCON
mbrevoort
1
270
Conversational Slack Bots with Javascript
mbrevoort
0
94
Natural Language Slack bots
mbrevoort
2
340
Thalassa - DenverJS
mbrevoort
1
990
Other Decks in Technology
See All in Technology
Reactを段階的に覗いてみる
ytaisei
2
860
Explainable Software Engineering in the Public Sector
avandeursen
0
290
バクラクでのSystem Risk Records導入による変化と改善の取り組み/Changes and Improvement Initiatives Resulting from the Implementation of System Risk Records
taddy_919
0
180
頻繁リリース × 高品質 = 無理ゲー? いや、できます!/20250306 Shoki Hyo
shift_evolve
0
130
製造業の会計システムをDDDで開発した話
caddi_eng
3
800
Alpine.js を活用した Laravel MPA フロントエンド最適化戦略 / Alpine.js MPA
tzmfreedom
1
760
PHPStan をできる限り高速化してみる
colopl
0
240
年末調整プロダクトの内部品質改善活動について
kaomi_wombat
0
130
SpannerとAurora DSQLの同時実行制御の違いに想いを馳せる
masakikato5
0
480
みんなで育てるNewsPicksのSLO
troter
4
1k
Why Go?
xpmatteo
0
120
KCD Brazil '25: Enabling Developers with Dapr & Backstage
salaboy
1
120
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Making Projects Easy
brettharned
116
6.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
176
52k
Site-Speed That Sticks
csswizardry
4
450
Designing Experiences People Love
moore
140
23k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
The Cult of Friendly URLs
andyhume
78
6.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
RailsConf 2023
tenderlove
29
1k
We Have a Design System, Now What?
morganepeng
51
7.5k
Building Applications with DynamoDB
mza
94
6.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
320
Transcript
THALASSA A System for Continuous Deployment Mike Brevoort 2 October
2013 @mbrevoort
¡OLÉ!
BACKGROUND
1.21 GIGAWATTS!?
CONTINUOUS DEPLOYMENT
PUSH AND RESTART? http://alt.coxnewsweb.com/cnishared/tools/shared/mediahub/05/22/00/slideshow_1002253082_Irene.JPEG-06e19.JPG
UPGRADE WITH ZERO DOWNTIME http://devopsreactions.tumblr.com/post/61486552902/upgrade-with-zero-downtime
EFFORT(DEPLOY N → ∞ ) = 0 http://supercompleto.files.wordpress.com/2010/03/ushuaia-sea-lion.jpg
HOW?
LOAD BALANCER http://klrc.files.wordpress.com/2009/06/traffic_barrel_monster.jpg
A/B DEPLOYMENTS http://www.flickr.com/photos/madbuster75/1859045541/
THALASSA
THREE NODE.JS MODULES + HAPROXY •Thalassa •Server registry & client
•Aqueduct •API and manages HAProxy process •Crowsnest •Realtime dashboard
THALASSA •Lightweight service registry •Client as node.js module, daemon or
just periodic HTTP •Formerly build on top of @substack’s Seaport •Ping and expire over HTTP •Built on Redis, axon for pub-sub
AQUEDUCT •REST API for HAProxy •Manage HAProxy process (now via
@3rdEden’s HAProxy module) •Dynamically generates config from handlebars.js template •Streams HAProxy live status •Configuration as a CRDT •Enables peering of Aqueduct servers
CROWSNEST •Visualize what’s happening in the system •Streams, streams and
more streams •CRDT, LevelDB, Hapi, AngularJS, Rickshaw
Thalassa Server Aqueduct HAProxy Crowsnest A@1 A@1 A@1 A@1 80
FE streaming stats axon socket BE
Thalassa Server Aqueduct HAProxy Crowsnest A@1 A@1 A@1 80 A@2
A@2 A@2 FE streaming stats axon socket BE
Thalassa Server Aqueduct HAProxy Crowsnest A@1 A@1 A@1 80 A@2
A@2 A@2 FE streaming stats axon socket A@2 BE
Thalassa Server Aqueduct HAProxy Crowsnest A@1 A@1 A@1 80 A@2
A@2 A@2 FE streaming stats axon socket BE
registrations config stats stats config stats Aqueduct Aqueduct config Crowsnest
Server Aqueduct Thalassa Server control stream MUXDEMUX STREAMS
DEMO
commutative data > 9:00 MONDAY AUGUST 26TH
WHERE •https://github.com/PearsonEducation/thalassa npm install thalassa •https://github.com/PearsonEducation/thalassa-aqueduct npm install thalassa-aqueduct •https://github.com/PearsonEducation/thalassa-crowsnest
npm install thalassa-crowsnest
@mbrevoort