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
120
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
66
Developer Experience is User Experience
mbrevoort
1
270
Appbots Lightning Talk
mbrevoort
0
72
Testing and Debugging Slack Apps
mbrevoort
0
1.1k
What's all the noise a-bot?
mbrevoort
0
600
Why Bots, Why Now - OSCON
mbrevoort
1
260
Conversational Slack Bots with Javascript
mbrevoort
0
85
Natural Language Slack bots
mbrevoort
2
300
Thalassa - DenverJS
mbrevoort
1
980
Other Decks in Technology
See All in Technology
GraphQLに入門してみた
chiroruxx
2
130
Azureコストは水道代/The_47th_Tokyo_Jazug
aeonpeople
3
370
データ品質をコード化! LINEヤフーのMLOpsを最適化する "ACP Data Quality" の紹介
lycorptech_jp
PRO
2
220
戦略的DDDを実践するための跳躍力 / OOC 2024
pictiny
6
4.1k
統計的学習理論読み Chapter 2
kmatsui
1
250
長文から長文を生成するLLMツールをオープンソースで作ってみた。
tomohisa
2
150
中学生でもわかる深層学習
e869120
7
1.2k
コードレビューを支援するAI技術の応用
akkie76
2
140
Autify Company Deck
autifyhq
1
30k
統計的学習理論読み Chapter 1
kmatsui
3
900
8週連続ウェビナー_イチから学ぶFivetran
cmsuzu
0
170
MongoDB Atlas Vectorsearchではじめる生成AIアプリ開発
chie8842
3
510
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
35
2.4k
Code Review Best Practice
trishagee
54
15k
What's in a price? How to price your products and services
michaelherold
236
11k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
How STYLIGHT went responsive
nonsquared
92
4.7k
The Cost Of JavaScript in 2023
addyosmani
13
3.7k
The Invisible Customer
myddelton
114
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
272
12k
Music & Morning Musume
bryan
39
5.5k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.8k
Principles of Awesome APIs and How to Build Them.
keavy
119
16k
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