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
75
Developer Experience is User Experience
mbrevoort
1
330
Appbots Lightning Talk
mbrevoort
0
100
Testing and Debugging Slack Apps
mbrevoort
0
1.2k
What's all the noise a-bot?
mbrevoort
0
710
Why Bots, Why Now - OSCON
mbrevoort
1
280
Conversational Slack Bots with Javascript
mbrevoort
0
98
Natural Language Slack bots
mbrevoort
2
340
Thalassa - DenverJS
mbrevoort
1
990
Other Decks in Technology
See All in Technology
自動化の第一歩 -インフラ環境構築の自動化について-
smt7174
1
120
Part1 GitHubってなんだろう?その2
tomokusaba
2
730
さくらのクラウド開発の裏側
metakoma
PRO
1
650
雑に疎通確認だけしたい...せや!CloudShell使ったろ!
alchemy1115
0
210
Previewでもここまで追える! Azure AI Foundryで始めるLLMトレース
tomodo_ysys
2
640
OPENLOGI Company Profile for engineer
hr01
1
26k
Vibe Coding Tools
ijin
0
120
使えるデータ基盤を作る技術選定の秘訣 / selecting-the-right-data-technology
pei0804
5
1k
Cursorをチョッパヤインタビューライターにチューニングする方法 / how to tuning cursor for interview write
shuzon
2
160
計測による継続的なCI/CDの改善
sansantech
PRO
1
250
newmo の創業を支える Software Architecture と Platform Engineering
110y
5
460
AIによるコードレビューで開発体験を向上させよう!
moongift
PRO
0
420
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Music & Morning Musume
bryan
47
6.5k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
Building Applications with DynamoDB
mza
94
6.4k
Bash Introduction
62gerente
613
210k
The Invisible Side of Design
smashingmag
299
50k
RailsConf 2023
tenderlove
30
1.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Gamification - CAS2011
davidbonilla
81
5.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
790
A designer walks into a library…
pauljervisheath
205
24k
Thoughts on Productivity
jonyablonski
69
4.6k
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