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
900
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
780
AWS Lambdaで作るGitHub bot/GitHub bot made with AWS Lambda
siroken3
3
9.6k
20 Jan 2017 / This is Mercari, This is an SRE - Mercari DAY/mercariday2017sre
siroken3
0
5.7k
Other Decks in Technology
See All in Technology
見てわかるテスト駆動開発
recruitengineers
PRO
6
2.4k
モダンフロントエンド 開発研修
recruitengineers
PRO
10
6.2k
制約理論(ToC)入門
recruitengineers
PRO
9
3.7k
DDD集約とサービスコンテキスト境界との関係性
pandayumi
2
230
【 LLMエンジニアがヒューマノイド開発に挑んでみた 】 - 第104回 Machine Learning 15minutes! Hybrid
soneo1127
0
250
実運用で考える PGO
kworkdev
PRO
0
130
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
2
1.2k
Nstockの一人目エンジニアが 3年間かけて向き合ってきた セキュリティのこととこれから〜あれから半年〜
yo41sawada
0
180
Automating Web Accessibility Testing with AI Agents
maminami373
0
380
Bye-Bye Query Spaghetti: Write Queries You'll Actually Understand Using Pipelined SQL Syntax
tobiaslampertlotum
0
120
「魔法少女まどか☆マギカ Magia Exedra」での負荷試験の実践と学び
gree_tech
PRO
0
440
モバイルアプリ研修
recruitengineers
PRO
5
1.7k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Agile that works and the tools we love
rasmusluckow
330
21k
Practical Orchestrator
shlominoach
190
11k
What's in a price? How to price your products and services
michaelherold
246
12k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Optimizing for Happiness
mojombo
379
70k
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৴པੑΛγεςϜ໘͔Βࢧ͑Δ • ۀΠϯϑϥʹཹ·Βͳ͍ɻ৴པੑΛٻ