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
Shipping code at PyConPL 2013
Search
antekpiechnik
October 17, 2013
Technology
0
72
Shipping code at PyConPL 2013
antekpiechnik
October 17, 2013
Tweet
Share
More Decks by antekpiechnik
See All by antekpiechnik
Base - A Customer Focused Company
antekpiechnik
1
47
Shipping code - DevDay '12
antekpiechnik
1
53
HackKRK
antekpiechnik
1
53
Constant Deployment Flow
antekpiechnik
3
150
Other Decks in Technology
See All in Technology
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
100
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
110
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
170
配列に見る bash と zsh の違い
kazzpapa3
1
150
超初心者からでも大丈夫!オープンソース半導体の楽しみ方〜今こそ!オレオレチップをつくろう〜
keropiyo
0
110
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
230
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
220
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
610
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
150
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.1k
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
140
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
140
Optimizing for Happiness
mojombo
379
71k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
RailsConf 2023
tenderlove
30
1.3k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
66
WCS-LA-2024
lcolladotor
0
450
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
[SF Ruby Conf 2025] Rails X
palkan
1
750
Transcript
None
None
null ’ ship it
ship code w w
architecture delivery ownership b architecture delivery ownership b
None
base r rails
base r rails DB b - authentication r r Everything
external public api rr w f features impractical f r
r w r b / api
dog food your apis all fr b public api
dog food your apis b r clients frontends
dog food your apis completness f r r r well
tested third party r
backbone.js event-driven b syncing r modularity v apis
separate fr massive fr backbone.js
separate fr massive fr backbone.js top-level fr w modules
backbone.js reports f necessary
auth system overloading r b universal api
auth system r r SERVICE
service-oriented architecture
soa r b modules SERVICEs design f r failure agnostic
fr Cost soa
fr Cost soa r services r storage f testing
f r calls soa FS::API::Tags::Tag. user_context(user.api_token). find(id) FS::API::Core::Account.find(id)
json f r w api-based staying agnostic
json responses staying agnostic
staying agnostic { "items": [ "10034", "10041", "10046" ], "metadata":
{ "total": 3 } }
absolutely no xml
f r development soa
bugs f r development soa
bugs f maintenance f r development soa
framework b interfaces / / q b serialization
growth > 30 r Services > 100 Aws b
360k / r w v r 150m 46ms v r
r 23.1ms performance
r f 1.4k r v 60M r rv performance
w w w soa what’s going on?
synchronous calls
message queues
rabbitmq
rabbitmq r b messages v r library
rabbitmq Dispatcher.start(opts) do |config| config.handle "deal.new", :with => Handlers::DealHandler end
rabbitmq class Handlers::DealHandler def process(event_data) # do stuff here end
end
rabbitmq r 10 million v
testing continuous integration rv r fully tested w
isolation r mirroring testing
mocking r versioning testing in isolation preserve r
errors whole requests testing in isolation v r f presence
of attributes
testing in isolation selenium
testing qa team r nothing b r
architecture delivery b architecture delivery b
STABLE b r all the time
architecture delivery b automation
architecture delivery b automation automation
architecture delivery b automation automation automation
setup testing delivery automation
setup automation stack f code r bootstrap r all else
nginx ` -fr `
setup automation vagrant + puppet v f next?
master branch w passing tests w deployable notifications
sandbox f production v r production-scaled ( ) r -r
testing
cautious deployments
cautious automated deployments
cautious ordinary automated deployments
grid
allocation r resources grid
predefined resources web w r r background job w r
r rabbit w r r
predefined resources tags = Service.find_by_name(“tags”) tags.web_workers = 8 tags.background_workers =
3 end
dynamic allocation master nodes mit star cluster slots r node
dynamic allocation
dynamic allocation r scaling
grid grid deploy tags production
check r r w ’ necessary routing grid
grid console grid console tags production
r r isolation r blacklisting grid
architecture delivery ownership b architecture delivery ownership b
ownership v r b owns r f product
ownership everyone r everyone
everyone deploys r r first week
influence r Familiarizes w r r v f anxiety deployment
r shipping r influencing customers r code ownership
20-40 r day w deploy
often stable b
fast often v
None
architecture delivery ownership b @antekpiechnik
[email protected]