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
76
Developer Experience is User Experience
mbrevoort
1
330
Appbots Lightning Talk
mbrevoort
0
110
Testing and Debugging Slack Apps
mbrevoort
0
1.2k
What's all the noise a-bot?
mbrevoort
0
720
Why Bots, Why Now - OSCON
mbrevoort
1
280
Conversational Slack Bots with Javascript
mbrevoort
0
99
Natural Language Slack bots
mbrevoort
2
350
Thalassa - DenverJS
mbrevoort
1
1k
Other Decks in Technology
See All in Technology
Digitization部 紹介資料
sansan33
PRO
1
3.8k
What's Next in OpenShift Q2 CY2025
redhatlivestreaming
1
830
SmartHRの複数のチームにおけるMCPサーバーの活用事例と課題
yukisnow1823
2
1.2k
[zh-TW] DevOpsDays Taipei 2025 -- Creating Awesome Change in SmartNews!(machine translation)
martin_lover
1
650
Introduction to Bill One Development Engineer
sansan33
PRO
0
240
Cursor Meetup Tokyo
iamshunta
2
730
令和最新版TypeScriptでのnpmパッケージ開発
lycorptech_jp
PRO
0
110
面接を通過するためにやってて良かったこと3選
sansantech
PRO
0
140
Swiftは最高だよの話
yuukiw00w
2
290
Machine Intelligence for Vision, Language, and Actions
keio_smilab
PRO
0
500
Javaアプリケーションの配布とパッケージング / Distribution and packaging of Java applications
hogelog
1
270
AIの電力問題を概観する
rmaruy
1
220
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
It's Worth the Effort
3n
184
28k
Adopting Sorbet at Scale
ufuk
76
9.4k
Raft: Consensus for Rubyists
vanstee
137
7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Agile that works and the tools we love
rasmusluckow
329
21k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.3k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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