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
How Square Stays Up
Search
pui
July 18, 2012
Technology
280
3
Share
How Square Stays Up
I talk I gave on the tools and processes Square uses to stay stable and available
pui
July 18, 2012
Other Decks in Technology
See All in Technology
QGISプラグイン CMChangeDetector
naokimuroki
1
390
Master Dataグループ紹介資料
sansan33
PRO
1
4.6k
ARIA Notifyについて
ryokatsuse
1
120
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
16k
AWS Agent Registry の基礎・概要を理解する/aws-agent-registry-intro
ren8k
3
370
最近の技術系の話題で気になったもの色々(IoT系以外も) / IoTLT 花見予定会(たぶんBBQ) @都立潮風公園バーベキュー広場
you
PRO
1
230
小説執筆のハーネスエンジニアリング
yoshitetsu
0
650
え!?初参加で 300冊以上 も頒布!? これは大成功!そのはずなのに わいの財布は 赤字 の件
hellohazime
0
160
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
260
AIエージェントの権限管理 2: データ基盤の Fine grained access control 編
ren8k
0
120
Rapid Start: Faster Internet Connections, with Ruby's Help
kazuho
2
200
AIでAIをテストする - 音声AIエージェントの品質保証戦略
morix1500
1
100
Featured
See All Featured
Done Done
chrislema
186
16k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
160
A Soul's Torment
seathinner
6
2.7k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
ラッコキーワード サービス紹介資料
rakko
1
3M
From π to Pie charts
rasagy
0
160
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
180
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Prompt Engineering for Job Search
mfonobong
0
270
[SF Ruby Conf 2025] Rails X
palkan
2
960
Transcript
How Square Stays Up Tools and Processes Square Uses to
Maintain Stability and Availability
@pui_ling Erica Kwan
1 2 3 4 Developing Deploying Monitoring On-calling
Developing 1
We pair program (sometimes)
We solo, then get a code review (other times)
Why?
PCI Compliance Read all about it: http://en.wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard
It is also good practice
git checkout -b topic-branch do work* git checkout master git
merge --no-ff topic-branch
A clean commit history helps
A super good git workflow: http://sandofsky.com/blog/git-workflow.html
git rebase --interactive
git rebase protip: config rebase.autosquash = true
git commit -m “squash! Monkeys”
pick 8374d8e Monkeys squash 8374d8e squash! Monkeys pick 259a7e6 Better
monkeys
Deploying 2
We deploy lots
but there are processes around deploys
Some history
We do canary deploys
None
Our full deploys do rolling restarts
And automatically run integration tests
Monitoring 3
We use common monitoring tools
We have application level checks
We have custom metrics dashboards
Graphite (whisper) + Cubism.js http://square.github.com/cubism/ http://d3js.org/ More info:
Horizon Graph http://vis.berkeley.edu/papers/horizon/
None
On-Calling 4
Engineers are responsible for their work
Ad-hoc at first
First real on-call rotations were simple
Original escalation path:
Engineer 1
Engineer 2
@jack
General on-call could not be responsible for everything
Now, every engineering team has an on-call rotation
Process is still evolving
Do these 4 things well all the time
@pui_ling /pui