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
20 Jan 2017 / This is Mercari, This is a SRE - ...
Search
Kenichi Sasaki
January 20, 2017
Technology
0
830
20 Jan 2017 / This is Mercari, This is a SRE - Mercari DAY
Presentation at #mercariday
Kenichi Sasaki
January 20, 2017
Tweet
Share
More Decks by Kenichi Sasaki
See All by Kenichi Sasaki
メルカリのAllforOneな開発と運用/MercariAllforOneDevAndOps
siroken3
0
710
AWS Lambdaで作るGitHub bot/GitHub bot made with AWS Lambda
siroken3
3
9.2k
20 Jan 2017 / This is Mercari, This is an SRE - Mercari DAY/mercariday2017sre
siroken3
0
5.5k
Other Decks in Technology
See All in Technology
Functional TypeScript
naoya
11
4.8k
eBPFのこれまでとこれから
yutarohayakawa
9
3.1k
たった1人からはじめる【Agile Community of Practice】~ソース原理とFearless Changeを添えて~
ktc_corporate_it
1
440
AI でアップデートする既存テクノロジーと、クラウドエンジニアの生きる道
soracom
PRO
2
550
エンジニア視点で見る、 組織で運用されるデザインシステムにするには
shunya078
1
300
アプリをリリースできる状態に保ったまま 段階的にリファクタリングするための 戦略と戦術 / Strategies and tactics for incremental refactoring
yanzm
6
1.3k
テスト”ケース”駆動開発 で手戻りをなくそう
ryohma0510
0
290
サーバレスでモバイルアプリ開発! NTTコム「ビジネスdアプリ」のアーキテクチャ / The architecture of business d app
nttcom
12
240
プログラム検証入門
riru
6
860
プロダクトエンジニアを支えるための開発生産性向上施策
tsukakei
0
140
AWS SAW を広めたい @四国クラウドお遍路
kazzpapa3
0
230
2024年のナビゲーション・フォーカス対応:Composeでキーボード・ナビゲーションをサポートしよう
tahia910
0
110
Featured
See All Featured
Teambox: Starting and Learning
jrom
131
8.7k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
How GitHub Uses GitHub to Build GitHub
holman
472
290k
Atom: Resistance is Futile
akmur
261
25k
Writing Fast Ruby
sferik
623
60k
How to Ace a Technical Interview
jacobian
274
23k
Navigating Team Friction
lara
183
13k
Designing with Data
zakiwarfel
98
5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
36
1.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
8.9k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
A designer walks into a library…
pauljervisheath
201
24k
Transcript
This is Mercari, This is an SRE Mercari DAY 2017
@AcademyHills Kenichi Sasaki
Introduce myself • Kenichi Sasaki (@siroken3) • Mercari, Inc (JOIN
at 2014/7) Site Reliability Engineering (SRE) Team • αʔόϓϩϏδϣχϯάɾσϓϩΠͷඋ • ։ൃڥͳͲͷඋ
Agenda • Site Reliability Engineering (SRE) ͱ • MercariͱMercariͷSRE •
Mercari SREͷࣄྫ • ·ͱΊ
SRE ͱ
4JUF3FMJBCJMJUZ&OHJOFFSJOH w (PPHMF͕ఏএ w (PPHMFͷ༷ʑͳϓϩμΫτɾ αʔϏεΛԣஅͯ͠ɺαΠτ ͷ৴པੑΛ্ͤ͞Δ 4PGUXBSF&OHJOFFS5FBN
SRE ͷ࠾༻(US) Facebook, Twitter, Apple, eBay, Microsoft.. 3,662
SRE in JP • 2015/11 Mercari Tech Blog ʹͯհͯ͠Ҏ߱ ͕ू·Δ
• “ΠϯϑϥνʔϜվΊ Site Reliability Engineering (SRE) νʔϜʹͳΓ·ͨ͠” http://tech.mercari.com/entry/2015/11/18/153421 • 2016/06 SRE Tech Talk#1 • https://connpass.com/event/34825/
SRE Tech Talk#2! • https://eventdots.jp/event/609456 • 2017/01/23 12:00 క
SREͷ࠾༻(JP) 40!
Mercari & Mercari SRE
Infrastructure UK ४උத JP US ͘͞ΒΠϯλʔωοτ ੴङDC AWS GCP
Architecture US nginx nginx nginx ©2011 Amazon Web Services LLC
or its affiliates. All rights reserved. Client Multimedia Corporate data center Traditional server Mobile Client IAM Add-on Example: IAM Add-on ence ) Assignment/ Task Requester Workers DNS-RR App App App App App App MySQL MySQL memcached memcached nginx nginx nginx ©2011 Amazon Web Services LLC or its affiliates. All rights reserved. User Users Client Multimedia C d Mobile Client Internet AWS Management Console IAM Add-on Example: IAM Add-on Human Intelligence Tasks (HIT) Assignment/ Task Requester Workers Amazon Mechanical Turk Non-Service Specific DNS-RR App App App App App App MySQL MySQL memcached memcached EC2 EC2 EC2 EC2 EC2 EC2 EC2 EC2 EC2 EC2 EC2 EC2 EC2 JP ΫϥυͰ ಉ͡ߏ util util cloud cloud util util EC2 EC2
Mercari SRE Team
Mercari SRE • 2015/11 ͔Β SRE ʹมߋ ͦΕ·ͰΠϯϑϥνʔϜ • ϝϯόʔ5ਓ
• શһ͕౦ژΦϑΟεۈ
SREʹมߋͨ͠ཧ༝ • ʮΠϯϑϥʯ͔ΒΠϝʔδ͢ΔۀͷΛ͑Δ • ϝϧΧϦΛ5ɾ10ͱ͍ͬͯͨͩͨ͘͘Ίͷʮ৴པੑʯ • εϚϗͰ24͖࣌ؒͳ࣌ʹɺ͖ͳॴ͔ΒΞΫηε͕དྷ Δɻ͍ͭͰշదʹΞΫηε͕Ͱ͖ΔʮՄ༻ੑʯͱ ʮύϑΥʔϚϯεʯ •
ιϑτΣΞΤϯδχΞϦϯάͰ͜ΕΒΛղܾ͍ͯ͘͠νʔϜ • (ւ֎/USͰ௨͡Δ໊শ)
Mercari SREͷۀ • APIαʔόɺϛυϧΣΞͷՄ༻ੑɺύϑΥʔϚϯεͷ ҡ࣋ɾ্ • OnCall (োରԠͷ൪) • ϩάऩूɾੳج൫ͷߏஙɺӡ༻
• αʔόϓϩϏδϣχϯάɾσϓϩΠͷඋ • ηΩϡϦςΟͷ୲อ
Mercari SREࣄྫ • Gaurun - push notification server • ngx_luaʹΑΔBalancer֦ு
• PHP daemon class preload • URL Shorten Service • ChatOpsˍZero DownTime Deploy • etc…
ChatOps Deploy
ChatOps Deploy • ϝϧΧϦ • SCMͱͯ͠GitHubΛ࠾༻ • IssueTrackerͰͷ༷ݕ౼ • GitHub
PullRequestͰͷϐΞϨϏϡʔ
Google Calendar + ChatOps
Inside ChatOps @jp-go-bold: yes check PullRequest check Issue Tracker exec
Ansible merge PR git clone git clone composer install deploy application preprocessing ϐΞϨϏϡʔࡁ Ϛωʔδϟঝೝࡁ
·ͱΊ
·ͱΊ • ϝϧΧϦC2CϚʔέοτϓϨΠεɺ৴པੑॏཁ • SRE৴པੑΛγεςϜ໘͔Βࢧ͑Δ • ۀΠϯϑϥʹཹ·Βͳ͍ɻ৴པੑΛٻ