Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Thalassa - LXJS
Mike Brevoort
October 02, 2013
Technology
1
110
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
57
Developer Experience is User Experience
mbrevoort
1
230
Appbots Lightning Talk
mbrevoort
0
54
Testing and Debugging Slack Apps
mbrevoort
0
940
What's all the noise a-bot?
mbrevoort
0
530
Why Bots, Why Now - OSCON
mbrevoort
1
240
Conversational Slack Bots with Javascript
mbrevoort
0
65
Natural Language Slack bots
mbrevoort
2
270
Thalassa - DenverJS
mbrevoort
1
960
Other Decks in Technology
See All in Technology
How to start with DDD when you have a Monolith
javujavichi
0
280
スタートアップと技術選定と AWS
track3jyo
PRO
2
330
Power AutomateでのAdaptive Cards-基本編
miyakemito
1
280
複数のスクラムチームをサポートするエンジニアリングマネジメントの話
okeicalm
0
1.1k
マネージャーからみたスクラムと自己管理化
shibe23
0
1k
#JP_Stripes Sapporo Stripeの活用例を色々ご紹介します!
miu_crescent
0
110
組織の崩壊と再生、その中で何を考え、感じたのか。 そして本当に必要だったもの
kosako
10
4k
2024卒_freee_エンジニア職(ポテンシャル採用)_説明資料
freee
0
220
アジャイル推進活動におけるBeAgileへの変化の兆し/Signs_of_Change_to_"Be_Agile"_in_Agile_Promotion_Activities
m_iyama
0
170
機械学習システムアーキテクチャ入門 #1
asei
3
1.2k
Data in Google I/O - IO Extended GDG Seoul
kennethanceyer
0
150
さいきんのRaspberry Pi。 / osc22do-rpi
akkiesoft
5
5.1k
Featured
See All Featured
Support Driven Design
roundedbygravity
86
8.5k
Raft: Consensus for Rubyists
vanstee
126
5.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
5
2.2k
Building Applications with DynamoDB
mza
83
4.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
238
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
27
1.5k
The Art of Programming - Codeland 2020
erikaheidi
32
11k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
29
4.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
10
3.4k
What's in a price? How to price your products and services
michaelherold
229
9.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
236
1M
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
19
1.4k
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