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
74
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Shipping code at PyConPL 2013
antekpiechnik
October 17, 2013
More Decks by antekpiechnik
See All by antekpiechnik
Base - A Customer Focused Company
antekpiechnik
1
53
Shipping code - DevDay '12
antekpiechnik
1
55
HackKRK
antekpiechnik
1
54
Constant Deployment Flow
antekpiechnik
3
160
Other Decks in Technology
See All in Technology
SONiCのLinuxベースを活かしたZabbix監視
sonic
0
180
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
570
【Snowflake Summit 2026 Recap!!】Snowflake Summit Deep Dive: Security & Governance
civitaspo
1
220
SONiC Scale-Up Working Group から探る Scale-UpやUltraEthernet機能の実装方法
ebiken
PRO
2
350
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
6
5.3k
Android の公式 Skill / Android skills
yanzm
0
150
AIのReact習熟度を測る
uhyo
2
600
2026TECHFRESH畢業分享會 - Lightning Talk - 打造精準高效的 MCP 設計模式與測試實務
line_developers_tw
PRO
0
1.1k
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
130
エラーバジェットのアラートのタイミングを考える.pdf
kairim0
0
150
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
110
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
310
YesSQL, Process and Tooling at Scale
rocio
174
15k
Everyday Curiosity
cassininazir
0
230
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Writing Fast Ruby
sferik
630
63k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
The Limits of Empathy - UXLibs8
cassininazir
1
360
It's Worth the Effort
3n
188
29k
Why Our Code Smells
bkeepers
PRO
340
58k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
Navigating Team Friction
lara
192
16k
Become a Pro
speakerdeck
PRO
31
6k
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]