Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
月間数千億リクエストをさばく技術 (ArchitectureNight公開用)
Kurochan
June 22, 2018
Technology
5
4.3k
月間数千億リクエストをさばく技術 (ArchitectureNight公開用)
https://architecture-night.connpass.com/event/90666/
Kurochan
June 22, 2018
Tweet
Share
More Decks by Kurochan
See All by Kurochan
サイバーエージェントの実践×実験Snowflake 導入の経緯から最新機能のトライアルまで / How Snowflake Is Used In CyberAgent - Go To the Future
kurochan
0
230
入門Open Policy Agent: Policy as Codeを目指して / introduction-to-open-policy-agent
kurochan
0
260
WireGuardとOpenID Connectの連携をGoで実装してみた
kurochan
3
1.4k
140兆円の巨大市場、小売業界の再発明に挑む開発プロジェクト #ca_base_next / retail-dx-project
kurochan
1
1.3k
SnowflakeにMySQLとJOINする機能を 実装する
kurochan
0
180
CyberAgentでのSlack 活用事例紹介
kurochan
0
5.8k
入門Envoy
kurochan
4
7.4k
広告配信プロダクトのSnowflakeへの移行
kurochan
2
6.1k
SnowflakeとRedshiftの比較検証
kurochan
1
10k
Other Decks in Technology
See All in Technology
オンラインでのサーバー切替事例紹介/ColoplTech-05-01
colopl
0
170
要約 "Add Live Text interaction to your app"
ushisantoasobu
0
140
DOM Invader - prototype pollution対応の衝撃 - / DOM Invader - prototype pollution
okuken
0
110
2022年度新卒技術研修「良いコードの書き方」講義
excitejp
PRO
0
290
誰が正解を知っているのか / Who knows the right answer
takaking22
1
230
ログ基盤をCloudWatchLogからNewRelic Logs + S3に変えたら 利便性も上がってコストも下がった話
onohiroshi1
0
220
Target SDK Versionを上げない Notification runtime permission対応
napplecomputer
0
130
Retca Cloud
bau
0
450
UIKitのアップデート #WWDC22
akatsuki174
4
240
IoTLT88-NTKanazawa-laundry-dry
yukima0707
0
210
Data in Google I/O - IO Extended GDG Seoul
kennethanceyer
0
150
What's new in Vision
satotakeshi
0
190
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
315
19k
The MySQL Ecosystem @ GitHub 2015
samlambert
238
11k
Three Pipe Problems
jasonvnalue
89
8.7k
Support Driven Design
roundedbygravity
86
8.5k
Building Your Own Lightsaber
phodgson
94
4.6k
Documentation Writing (for coders)
carmenhchung
48
2.5k
Keith and Marios Guide to Fast Websites
keithpitt
404
21k
Mobile First: as difficult as doing things right
swwweet
213
7.5k
Designing for humans not robots
tammielis
241
23k
What the flash - Photography Introduction
edds
62
10k
Why Our Code Smells
bkeepers
PRO
324
55k
Navigating Team Friction
lara
175
11k
Transcript
݄ؒઍԯϦΫΤετΛٕ͘͞ज़ גࣜձࣾαΠόʔΤʔδΣϯτΞυςΫຊ෦%ZOBMZTU ࠇ࡚༏ଠ!LVSP@N
ࣗݾհ w ࠇ࡚༏ଠ !LVSP@N w גࣜձࣾαΠόʔΤʔδΣϯτ ΞυςΫຊ෦%ZOBMZTUόοΫΤϯυΤϯδχΞ w ৽ଔೖࣾ
w ೖࣾҎདྷ%ZOBMZTUͷೖࡳ ৴ ܭଌ ूܭ෦ͷ։ൃ ΠϯϑϥΛ୲ w ˞ࡱӨԻߘېࢭͷϖʔδʹࠨ্ʹˣͷΞΠίϯΛೖΕͯ͋Γ·͢
%ZOBMZTUͱ
Πϯλʔωοτࠂͱ
αΠόʔΤʔδΣϯτʹ͓͚ΔΞυςΫ
35#ͷ͘͠Έ w 35#3FBM5JNF#JEEJOH 441 %41T
35#ͷ͘͠Έ w 8FCϖʔδ͕ϩʔυ͞Εɺࠂλά͕ൃՐ 441 %41T
35#ͷ͘͠Έ w ใϢʔβใͱͱʹCJESFRVFTU͕͘Δ 441 %41T CJESFRVFTU
35#ͷ͘͠Έ w ೖࡳֹͱදࣔ͢ΔࠂΛܾఆ 441 %41T "% "% "% CJESFRVFTU ԁ
ԁ ԁ
35#ͷ͘͠Έ w 0QFO35#ͱ͍͏ϓϩτίϧͰೖࡳ 441 %41T "% "% "% ԁ ԁ
ԁ
35#ͷ͘͠Έ w ೖࡳֹ͕Ұ൪ߴ͍ࣄۀऀ͕উར͢Δ 441 %41T "% "% "% ԁ ԁ
ԁ XJO
35#ͷ͘͠Έ w 441ʹࠂΫϦΤΠςΟϒ͕ૹΒΕΔ 441 %41T "% "% "% ԁ ԁ
ԁ "% XJO
35#ͷ͘͠Έ w 441ܦ༝Ͱམࡳͨ͠ࣄۀऀͷࠂ͕ల։͞ΕΔ 441 %41T "% "% "% ԁ ԁ
ԁ "% XJO "%
35#ͷ͘͠Έ w ͜ΕΛߴʹ܁Γฦ͢ 441 %41T "% "% "% ԁ ԁ
ԁ "% XJO "% औҾNTҎʹྃ͠ͳ͚ΕͳΒͳ͍
%ZOBMZTUͱ w %ZOBNJD3FUBSHFUJOHGPS(BNFT w εϚϗήʔϜ͚ࠂ৴ϓϥοτϑΥʔϜ w τοϓηʔϧε!ຊͷεϚϗήʔϜͷதͰߴ͍γΣΞ w ຊɺΞϝϦΧΛؚΉΧࠃʹ৴த w
Ϣʔβ͝ͱʹ࠷దԽͨ͠ࠂΛ৴ IUUQXXXEZOBMZTUJP
ࠂΫϦΤΠςΟϒྫ ࡱӨԻߘېࢭ
݄ؒઍԯϦΫΤετΛٕ͘͞ज़
w "MM"84 w ओཁར༻ίϯϙʔωϯτ %ZOBMZTUͷΞʔΩςΫνϟ Amazon EC2 Amazon ECR Amazon
ECS AWS Lambda Elastic Load Balancing Amazon S3 Amazon RDS Amazon DynamoDB Amazon ElastiCache Amazon Redshift Amazon CloudFront Amazon Route 53 AWS Direct Connect Amazon VPC Amazon CloudWatch AWS OpsWorks AWS Trusted Advisor IAM AWS Certificate Manager Amazon Athena Amazon EMR Amazon Kinesis AWS Data Pipeline Amazon SQS Amazon SNS Amazon SES Amazon WorkMail
%ZOBMZTUͷΞʔΩςΫνϟ w "MM"84 w BQOPSUIFBTU VTFBTUʹల։ w ॳΑΓάϩʔόϧͳϓϩμΫτΛࢦ͍ͯͨ͠ͷͰ"84Λબ w ݸͷΞϓϦέʔγϣϯίϯϙʔωϯτͰߏ
%ZOBMZTUͷΞʔΩςΫνϟ ུ֓ BQOPSUIFBTU VTFBTU ೖࡳ৴ܥ ೖࡳ৴ܥ ܭଌܥ DBDIFDMVTUFS ूܭܥ DSPTTSFHJPOSFQMJDBUJPO
DSPTTSFHJPOSFQMJDBUJPO DSPTTSFHJPOSFQMJDBUJPO ཧը໘ DBDIFDMVTUFS όονܥ όονܥ
τϥϑΟοΫ֓گ ຊͷೖࡳϦΫΤετඵ ΞϝϦΧͷೖࡳϦΫΤετඵ ຊΞϝϦΧͷϨεϙϯελΠϜ NTFD
ͪͳΈʹ ࡱӨԻߘېࢭ ͋ΔͷτϥϑΟοΫ
ͪͳΈʹ
ΠϯλʔωοττϥϑΟοΫ͍͍ͩͨ͜Μͳײ͡ IUUQXXXNGFFEDPKQTFSWJDFUSB⒏DIUNM
τϥϑΟοΫ֓گ w ͱ͋Δϲ݄ؒͷCJEϦΫΤετͷ߹ܭ
w DYMBSHF $( Y ϐʔΫ 64 +1 w DΠϯελϯε˕
େྔͷτϥϑΟοΫΛड͚ΔͨΊʹ DBDIF 3%# TMBWF DBDIF 3%# TMBWF BQOPSUIFBTUB BQOPSUIFBTUD ,74 3%# NBTUFS BQOPSUIFBTU
4DBMBͱ͍͏બ w %ZOBMZTUͰ΄΅શͯͷΞϓϦέʔγϣϯʹ4DBMBΛ࠾༻ w ΠϯλϏϡʔهࣄ͋Γ·͢ http://gihyo.jp/dev/serial/01/cyberagent/0063
4DBMBͱ͍͏બ w 4DBMBΛબͨ͠ཧ༝ w νϟϨϯδ ࠓͱͳͬͯී௨ʁ w Մಡੑɺϝϯςφϯεੑ͕ߴ͍ w
ϋΠύϑΥʔϚϯε w +BWBͷࢿ࢈͕͑Δ w ΞυςΫελδΦ4DBMBͷݟͷմ X
4DBMBʹΑΔฒྻॲཧ w ฒྻॲཧ͕ॻ͖͍͢ w 'VUVSFͱ͍͏֓೦
4DBMBʹΑΔฒྻॲཧ w ฒྻॲཧ͕ॻ͖͍͢ w 'VUVSFͱ͍͏֓೦ w ྫ3%#͔ΒෳͷςʔϒϧΛҾ͖ͭͭɺ%ZOBNP%#Ҿ͘ ಉ࣌ʹ͍߹Θͤͯ ฒྻʹϨεϙϯεΛड͚Δ NT
NT NT ྻॲཧNT ฒྻॲཧNT
ϩάશͯ,JOFTJTʹྲྀ͢ w ೖࡳܭଌͷϩάશͯ,JOFTJT4USFBNTʹྲྀ͢ w 8"1αʔόϨεϙϯεΛฦ͢͜ͱ͚ͩʹूத w ֦ுੑোੑͷ্ %#VQEBUFDPOTVNFS MPHBSDIJWFDPOTVNFS VQEBUF
BSDIJWF ,JOFTJT4USFBNT DPOTVNF QSPEVDFMPHT BQQTFSWFS %ZOBNP%# 4 1SPEVDFS 4USFBN $POTVNFS
1SPEVDFS w ΞϓϦέʔγϣϯαʔό͕ు͍֤ͨछϩάΛ,JOFTJTʹ͛Δ ,JOFTJT4USFBNT qVFOUQMVHJOLJOFTJT BQQTFSWFS 1SPEVDFS 4USFBN
,JOFTJT1SPEVDFS-JCSBSZ w ,1-ͰτϥϑΟοΫઅ w ,JOFTJTͷ੍γϟʔυ͋ͨΓ SFDPSE165TFDPS.#T w ,#ͷϩάΛେྔʹసૹ͢Δʹ͍ͬͨͳ͍ w ,1-Ͱ,JOFTJTϨίʔυʹෳϝοηʔδΛ٧ΊࠐΉ
QSPUPDPMCV⒎FST https://speakerdeck.com/kanny/logging-architecture-at-cookpad
$POTVNFS w ,JOFTJT͔ΒϨίʔυΛऔΓग़͢ w DPOTVNFSΛ૿ͤεέʔϧΞτՄೳ ,JOFTJT4USFBN BQQTFSWFS $POTVNFS 4USFBN %ZOBNP%#
,JOFTJT$POTVNFS-JCSBSZ w ,1-Ͱूͨ͠ϨίʔυΛల։ͯ͘͠ΕΔ w XPSLFSຖͷ୲γϟʔυͷௐఀػೳ %ZOBNP%#Λར༻ ,JOFTJT4IBSET BQQTFSWFS $POTVNFS 4USFBN
%ZOBNP%#
,JOFTJT$POTVNFS-JCSBSZ w ,1-Ͱूͨ͠ϨίʔυΛల։ͯ͘͠ΕΔ w XPSLFSຖͷ୲γϟʔυͷௐఀػೳ %ZOBNP%#Λར༻ ,JOFTJT4IBSET BQQTFSWFS $POTVNFS 4USFBN
%ZOBNP%# োൃੜ
,JOFTJT$POTVNFS-JCSBSZ w ,1-Ͱूͨ͠ϨίʔυΛల։ͯ͘͠ΕΔ w XPSLFSຖͷ୲γϟʔυͷௐఀػೳ %ZOBNP%#Λར༻ ,JOFTJT4IBSET BQQTFSWFS $POTVNFS 4USFBN
%ZOBNP%# ࣗಈ࠶ׂΓͯ
Ϣʔβσʔλͷѻ͍ w ࠂ༻*% *%'" "EWFSUJTJOH*% ͱϢʔβσʔλͷΈ߹Θͤ w ྫ࠷ޙʹϩάΠϯͨ࣌͠ˠະϩάΠϯظ͕ؒΘ͔Δ w ࠂೖࡳ࣌ʹେྔʹSFBE͕͞ΕΔͷͰਫฏεέʔϧͯ͠ཉ͍͠
w ϨίʔυඦԯϨίʔυ w αϯϓϧςʔϒϧ ؆ུԽ %&7*$&@*% "%7&35*4&3@*% %&7*$&@5:1& -"45@-0(*/@"5 015065@"5 ʜʜ %&7*$&@ "OESPJE ʜʜ %&7*$&@ "OESPJE ʜʜ %&7*$&@ J04 ʜʜ %&7*$&@ "OESPJE ʜʜ
Ϣʔβσʔλͷѻ͍ w ,74ͱͯ͠%ZOBNP%#Λ࠾༻ w )BTI,FZͱ3BOHF,FZΛΈ߹ΘͤΔ w )BTI,FZͰҾ͚3BOHF,FZͰιʔτ͞ΕͨෳϨίʔυ͕ฦΔ %&7*$&@*% "%7&35*4&3@*% %&7*$&@5:1&
-"45@-0(*/@"5 015065@"5 ʜʜ %&7*$&@ "OESPJE ʜʜ %&7*$&@ "OESPJE ʜʜ %&7*$&@ J04 ʜʜ %&7*$&@ "OESPJE ʜʜ )BTI,FZ 3BOHF,FZ
ϗοτύʔςΟγϣϯ w ಛఆͷύʔςΟγϣϯʹΞΫηε͕ภΓɺύϑΥʔϚϯε͕ग़ͳ͍
ϗοτύʔςΟγϣϯ w ,74ͷ໋॓ w ಛఆͷύʔςΟγϣϯʹ3FBE8SJUF͕ภΔͱੑೳ͕ग़ͳ͍ w ϗοτσʔλͱίʔϧυσʔλΛࠞͥͳ͍ w ৽͍͠σʔλΞΫηε͞Ε͍͢ ݹ͍σʔλΞΫηε͞Εʹ͍͘
w ରࡦ w σʔλ͕ొ͞Εͨ࣌ظ͝ͱʹςʔϒϧΛ͚Δ w ҰఆظؒΞΫηε͞Εͳ͍σʔλআ͢Δ OPEF OPEF OPEF ৽͍͠σʔλ ݹ͍σʔλ ଟ͍ গͳ͍ ී௨ ΞΫηεྔ
%ZOBNP%#ͷΩϟογϡ w Ωϟογϡͷಋೖ w ϨΠςϯγͷݮ w %ZOBNP%#3FBE$BQBDJUZͷݮ w ϗοτύʔςΟγϣϯͷ؇ w
&MBTUJ$BDIF NFNDBDIFE Λ࠾༻ w γϯϓϧɾߴ w ϚϧνεϨουͰಈ͘ w SܥΠϯελϯεωοτϫʔΫଳҬ͕(CQT·ͰόʔετՄೳ w IUUQTEFWDMBTTNFUIPEKQDMPVEBXTFDSOFUXPSLJOH %ZOBNP%# NFNDBDIFE BQQ
%ZOBNP%#ͷΩϟογϡ w Ωϟογϡظ͕͍ؒͱϢʔβͷঢ়ଶมԽ͕͙͢ʹө͞Εͳ͍ w Ϣʔβͷঢ়ଶΛར༻ͨ͠ࠂ͕ϦͳͷͰଈ࣌ө͍ͤͨ͞ w %ZOBNP%#4USFBNT -BNCEB'VODUJPOͰΩϟογϡͷআ w %ZOBNP%#"DDFMFSBUPSΫΤϦΩϟογϡࣗಈߋ৽͞Εͳ͍
w ݱঢ়ࣗલͰ࣮͢Δ͔͠ͳ͍ %ZOBNP%# 61%"5& %ZOBNP%#4USFBNT %&-&5&
w ϦΫΤετΛड͚͚ͨͩͰμϝɺूܭ͕ඞཁ w ϩάͷྔ5#EBZ w "QBDIF4QBSLPO"NB[PO&.3 w ΫϥελίϯϐϡʔςΟϯάϑϨʔϜϫʔΫ w ࢄڞ༗ϝϞϦϞσϧ
w ϊʔυΛ૿͢͜ͱͰεέʔϧ͢Δ w 4QBSL.-JCͱ͍͏ػցֶशϥΠϒϥϦ &.3$MVTUFS .BTUFS 4MBWF 4MBWF 4MBWF 4MBWF ϩάूܭ
ϩάूܭ w "QBDIF4QBSLPO&.3 w ෳࡶͳूܭॲཧ͕ॻ͚Δ w ྫ୯७ͳ࣌ؒYࠂओͷ ΫϦοΫूܭ 42-Ͱॻ͍ͨ߹ 4QBSLͰॻ͍ͨ߹
ϋΠύϑΥʔϚϯεͰ৴པੑͷඞཁͳ γεςϜΛӡ༻͢ΔͨΊʹ
ͳͥ৴པੑ͕ٻΊΒΕΔͷ͔ w ҰൠతͳαʔϏε ϝσΟΞ ήʔϜ w αʔϏεఏڙ͕Ͱ͖ͳ͍ˠϢʔβͷ ऩӹԼ w
ࠂ৴αʔϏε w ࠂ͕৴Ͱ͖ͳ͍ˠػձଛࣦ ࠂओͷ ऩӹԼ w ࠂ͕৴͞Εͳͯ͘Ϣʔβʹରͯ͠Өڹ͕ͳ͍ %ZOBMZTU Ϣʔβ ࠂओ ൃ ৴
ͳͥ৴པੑ͕ٻΊΒΕΔͷ͔ w αʔϏε͕͠ച্ͷن͕͕͖͋ͬͯͨˠച্ͷॏཁมΘΒͳ͍ w ച্ສԁͰ࣌ؒ৴ఀࢭສԁͷଛࣦ w ച্ ສԁͰ࣌ؒ৴ఀࢭ ສԁͷଛࣦ w
γεςϜنେ͖͘ͳΔͱ w োͷӨڹେ͖͘ͳ͖ͬͯͨ w ҰํίετΧοτͷҖྗେ͖͘ͳ͖ͬͯͨ
ߴ͍৴པੑઃܭ͕શͯ w ୯ҰোΛ࡞Βͳ͍ w ΫϥυΛͬͯΔͳΒΫϥυωΠςΟϒͳϕετϓϥΫςΟεʹدͤΔ w ΞϓϦͰ͖Δ͚ͩεςʔτϨεʹ w εςʔτΛ࣋ͭ෦ΛϚωʔδυαʔϏεʹدͤΔ w
ιϦϡʔγϣϯΞʔΩςΫτʹ૬ஊ͢Δ w ͱ͍͑ෆଌͷࣄଶى͜Δʜ w ෮چ؇ͷͨΊͷखஈ༻ҙ͢Δ͖
ࢹ w %ZOBMZTUͰࢹʹ%BUBEPHΛར༻ w l%ZOBMZTU%BUBEPHzͰݕࡧ
ࢹ
ࢹ w ࠂओ͝ͱͷ৴ϝτϦΫε
ϦΫΤετ͕٧·ͬͯ͠·ͬͨ࣌ w Ұ࣌తʹϨεϙϯε͕٧·Δͱʜ w αʔόʹϦΫΤετ͕ཷ·Δ w ಉ࣌ॲཧϦΫΤετ͕രൃ͢Δ w εϨουϓʔϧΛաʹ͏ w
Ϩεϙϯεͷେ෯ѱԽ w ॲཧΛ࢝Ί͔ͯΒҰఆ࣌ؒܦաͨ͠ॲཧΛதஅͯ͠ೖࡳ͠ͳ͍ w ೖࡳ͠ͳ͍)551 /P$POUFOU Λฦ͢ w 4DBMBͳΒͦ͏͍͏ॲཧॻ͖͍͢ʂ
ύϑΥʔϚϯεௐࠪ w :PVS,JU ༻+BWBϓϩϑΝΠϥ ΛѪ༻
ࠓޙ
ࠓޙ͍͖͍ͬͯͨ͜ͱ w 4DIFEVMFE4DBMJOH"VUP4DBMJOH w "LLB)551 w "LLB4USFBNΛར༻ͨ͠ॲཧ #BDL1SFTTVSFͱ͔ w
Ωϟογϡ %#ͷ"VUP4DBMJOH w ϏϧυϦϦʔεͷߴԽ w &&ςετͷಋೖ w ͳͲͳͲʜ
͋Γ͕ͱ͏͍͟͝·ͨ͠