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
67
Developer Experience is User Experience
mbrevoort
1
270
Appbots Lightning Talk
mbrevoort
0
89
Testing and Debugging Slack Apps
mbrevoort
0
1.1k
What's all the noise a-bot?
mbrevoort
0
650
Why Bots, Why Now - OSCON
mbrevoort
1
270
Conversational Slack Bots with Javascript
mbrevoort
0
87
Natural Language Slack bots
mbrevoort
2
310
Thalassa - DenverJS
mbrevoort
1
980
Other Decks in Technology
See All in Technology
データウェアハウス製品のSnowflakeでPythonが動くって知ってました?
foursue
1
150
AI でアップデートする既存テクノロジーと、クラウドエンジニアの生きる道
soracom
PRO
1
150
Binary Authorizationと友達になろう / Let's be friends with Binary Authorization
iselegant
2
130
すぐに始めるAWSコスト削減。短期でできる改善策と長期的な運用負荷軽減への取り組み方を解説
ncdc
1
330
[RSJ24] Object Segmentation from Open-Vocabulary Manipulation Instructions Based on Optimal Transport Polygon Matching with Foundation Models
keio_smilab
PRO
0
120
AWS版GitHub?Amazon CodeCatalystの全体像をまとめてみた
oshanqq
1
3.2k
歴史と背景から改めて振り返るVPC
shotashiratori
2
220
Evolving DevOps Teams and Flexible Organizational Culture
kakehashi
1
150
Oracle Database Backup Service:サービス概要のご紹介
oracle4engineer
PRO
0
4k
開発者体験を意識した開発チームの生産性向上の取り組み
ham0215
3
660
ことばをそろえる / Bridging the Terminology Gap
amaotone
5
1k
技術力あげたい
hisaichi5518
2
2.8k
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
125
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
41
6.4k
Done Done
chrislema
180
16k
Building Adaptive Systems
keathley
36
2.1k
What's new in Ruby 2.0
geeforr
340
31k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
354
29k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
34
1.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
27
1.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
190
16k
Thoughts on Productivity
jonyablonski
65
4.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
122
18k
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