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
GoとGCPとkubernetesを使った MF KESSAIの歴史
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
shinofara
January 30, 2018
Technology
3.6k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GoとGCPとkubernetesを使った MF KESSAIの歴史
golang.tokyo #12
shinofara
January 30, 2018
More Decks by shinofara
See All by shinofara
コーポレートも管掌するCTOを経験した事で見えてきた課題 / 組織の信頼性を高める 〜SRE/情シス/セキュリティの領域を超えて〜
shinofara
1
680
MF KESSAIが、技術的挑戦を繰り返しながら サービス価値と開発のIKIOIを上げ続けてる話
shinofara
1
2.3k
マネーフォワードの子会社MF KESSAIが選択したアーキテクチャ
shinofara
18
5.7k
酔いどれGCPUG 2018/03/02 / PubSubとGAE/FEでサクッと大量にPDF生成出来るようにしたお話
shinofara
0
380
Other Decks in Technology
See All in Technology
2026TECHFRESH畢業分享會 - Lightning Talk - 打造精準高效的 MCP 設計模式與測試實務
line_developers_tw
PRO
0
1.3k
When Platform Engineering Meets GenAI
sucitw
0
130
iOS アプリの「これって不具合ですか?」を AI に調べてもらう
miichan
0
100
自分が詳しくない領域でAIを使う #プロヒス2026
konifar
13
5.3k
FPGAの開発コンペでZephyrを使ってみた
iotengineer22
0
140
失敗を資産に変えるClaude Code
shinyasaita
0
720
AIチャット検索改善の3週間
kworkdev
PRO
2
140
【2026年版】 ベクトル検索とEmbedding最前線
mocobeta
17
4.6k
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
280
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
230
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
攻撃者視点で考えるDetection Engineering
cryptopeg
3
2k
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
How to build a perfect <img>
jonoalderson
1
5.7k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
How STYLIGHT went responsive
nonsquared
100
6.2k
The Curse of the Amulet
leimatthew05
1
13k
エンジニアに許された特別な時間の終わり
watany
107
250k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
850
How to Ace a Technical Interview
jacobian
281
24k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Everyday Curiosity
cassininazir
0
230
Transcript
HPMBOHUPLZP (Pͱ($1ͱLVCFSOFUFTΛͬͨ .',&44"*ͷྺ࢙ !TIJOPGBSB
ࠓ͢ࣄ ࣗݾհ .',&44"*͍ͭͯ ձࣾʹ͍ͭͯ αʔϏεʹ͍ͭͯ HPMBOHUPLZPͰຊ ;Γ͔͑Γ ʒ
ࠓ͢ࣄ ࣗݾհ .',&44"*͍ͭͯ ձࣾʹ͍ͭͯ αʔϏεʹ͍ͭͯ HPMBOHUPLZPͰຊ ;Γ͔͑Γ ʒ
·ͣ ୭ʁ
୭ʁ ࣰݪ༞و !TIJOPGBSB w (Pྺ"84ྺ($1ྺ%PDLFSྺ w &NBDT(PMBOE w ৽ଔͰ:BIPP+"1"/ʹೖࣾɺͦͷޙస৬Λ܁Γฦ͢
w ݄ΫϥυίϯςφԽͤͯԼ͍͞ʂͱ.'ʹೖࣾ ͔݄͠͠ʹ.',&44"*גࣜձࣾͷٕज़ऀͱͳΔ
ࠓ͢ࣄ ࣗݾհ .',&44"*͍ͭͯ ձࣾʹ͍ͭͯ αʔϏεʹ͍ͭͯ HPMBOHUPLZPͰຊ ;Γ͔͑Γ ʒ
.',&44"*ͱ .',&44"*ͱ͍͏ձࣾΛ͝ଘͰ͔͢ʁ
.',&44"*ͱ w ݄ઃཱ w ϚωʔϑΥϫʔυͷࢠձࣾ w σʔλͷՄࢹԽʹΑΔʮۀޮԽʯ͚ͩͰ ͳ͘ɺʮࢿۚ܁ΓվળʯʹϑΥʔΧεͨ͠ ձࣾ
.',&44"*Ͳ͏͍͏αʔϏεͳͷ͔ ٻۀΛߦͬͨࣄ͋Δਓ͍·͔͢
.',&44"*Ͳ͏͍͏αʔϏεͳͷ͔ ചΓख ങ͍ख ༩৴ௐࠪ ٻॻൃߦ ೖۚཧ ಜଅɾ࠵ଅ ۚճऩ ٻۀϓϩηε ͜ͷϓϩηεͷͯ͢Λߦ
.',&44"*Ͳ͏͍͏αʔϏεͳͷ͔ ؆୯ʹݴ͏ͱɺٻߦ
ࠓ͢ࣄ ࣗݾհ .',&44"*͍ͭͯ ձࣾʹ͍ͭͯ αʔϏεʹ͍ͭͯ HPMBOHUPLZPͰຊ ;Γ͔͑Γ ʒ
HPMBOHUPLZPͰ͓͢Δࣄ ͯ͞ɺຊ
HPMBOHUPLZPͰ͓͢Δࣄ .',&44"*ͷΛৼΓฦͬͯɺ(PΞ ϓϦέʔγϣϯɺपลͷΞʔΩςΫνϟ ͕Ͳͷ༷ʹมΘ͖͔ͬͯͨΛ͓͠·͢ɻ
HPMBOHUPLZPͰ͓͢Δࣄ .',&44"*ͷྺ࢙
.',&44"*ͷྺ࢙ ۀॳظ ಋೖاۀ͚αʔϏε։ൃظ ݱࡏ
ۀॳظ ΤϯδχΞ໊̎ 10݉ΤϯδχΞ Πϯϑϥ݉ΤϯδχΞ ։ൃͰ͏ٕज़ΛܾΊͨ (PMBOHΛ͏ࣄ %PDLFSΛ͏ࣄ ($1Λ͏ࣄ ࣾπʔϧͷ։ൃ
(PMBOHΛ͏ࣄʹͨ͠ཧ༝ ࣮ࡍʹ͓ۚʹؔΘΔࣄͳͷͰɺܕݫ֨ʹ͍ͨ͠ .'3VCZ3BJMTͷϝϯόʔ͕ଟ͍ͷͰɺ৽͍͠ ݴޠͷҠߦίετՄೳͳݶΓগͳ͘ ୭͕ॻ͍ͯ͋Δఔಉ༷͡ͳίʔυ͕͔͚Δɻ
(PMBOHͰͲͷΑ͏ʹ։ൃ͔ͨ͠ &DIP(JOͱ͍ͬͨϑϨʔϜϫʔΫΘͳͣ ඞཁʹԠͯ͡ɺHPDIJDIJɺHPSJMMBDTSGͳͲ Λબͯ͠ɺ֦େ͍ͯ͘͠ํ (PΒ͘͠ॻ͘ UFTUMJOUWFU࠷ॳ͔Βಋೖ
(PMBOHΞϓϦέʔγϣϯͷঢ়گ w ϦϙδτϦ̍ w (P w ґଘཧ(MJEF (Pͱґଘཧ ར༻ύοέʔδ HJUIVCDPNVOSPMMFESFOEFS
HPVCFSPSH[BQ HJUIVCDPNHPSJMMBTDIFNB HJUIVCDPNHPSJMMBDPOUFYU HJUIVCDPNHPSJMMBTFTTJPOT HJUIVCDPNHPSJMMBDTSG HJUIVCDPNQSFTTMZDIJ HJUIVCDPNKJO[IVHPSN
%PDLFSΛ͏ࣄʹͨ͠ཧ༝ ڥͷಉҰੑͷ୲อ ͩΕ͕Ͳ͜Ͱ࡞ͬͯಉ͡ڥΛ࠶ݱ͍ͨ͠ ΧϓηϧԽ ΞϓϦέʔγϣϯຖʹಈ࡞ڥΛͯ͠ཧ
SVOUJNFڥͷҰ؏ੑ εςʔδϯάͳͲͰݕূͨ͠ڥΛɺಉ͡Πϝʔ δΛ͍·Θ͢ࣄͰɺݕূࡁΈͷڥΛຊ൪ʹ దԠͰ͖Δ
($1Λ͏ࣄʹͨ͠ཧ༝ (4VJUFͱ࿈ܞ͢ΔࣄͰɺ༰қʹݖݶཧ͕ग़དྷΔࣄʢ*".ʣ ҙࣝ͠ͳͯ͘σʔλ͕ੵ͞ΕΔ4UBDLESJWFSͷଘࡏ ,VCFSOFUFTαʔϏε͕ଘࡏͨ͠ࣄ ࠓ"84ɺ#MVF.JYɺ"[VSFʹଘࡏ͍ͯ͠Δ
ΠϯϑϥΤϯδχΞෆࡏͰӡ༻͍͢͠
ࣾπʔϧʹઐ೦͢Δࣄʹͨ͠ཧ༝ ࠷ݶҎԼͷػೳ͕͋ΕɺϏδωεΛ։࢝͢Δࣄ ͕Ͱ͖ͨͷͰɺࣾπʔϧͷ։ൃ͔Βணख w اۀ৹͕ࠪग़དྷΔࣄ w औҾใͷཧ͕ग़དྷΔࣄ w ৼࠐͷҝʹܭࢉ͕Ͱ͖Δࣄ
͜ͷ࣌Ͱͷ($1ͷߏ ࣾཧ༻ 8*
.',&44"*ͷྺ࢙ ۀॳظ ಋೖاۀ͚αʔϏε։ൃظ ݱࡏ
ಋೖاۀ͚αʔϏε։ൃظ (PQIFS໊̎ ϑϩϯτΤϯυΤϯδχΞ໊̍ೖࣾ ಋೖاۀ͚8&#αʔϏεͷ։ൃ ಋೖاۀ͚3&45"1*ͷ։ൃ ෦"1*ͱͯ͠H31$"1*ͷ։ൃ
H31$"1*։ൃ H31$Λ࠾༻ ݩʑͷϩδοΫࣾπʔϧͰ։ൃ ࡁΈͳͷ͕ଟ͔ͬͨͷͰɺΠϯλʔ ϑΣʔε෦͕ओʹ։ൃͨ͠
3&45"1*։ൃ 3&45"1*ͷ։ൃʹ HJUIVCDPNHPBEFTJHOHPBΛ࠾༻ "1*,&:ೝূɺήʔτΣΠͱͯ͠ "1*"HHSFHBUPSͷ,POHΛ࠾༻
(PMBOHΞϓϦέʔγϣϯͷঢ়گ w ϦϙδτϦ̐ w (P w ґଘཧ(MJEF (Pͱґଘཧ ར༻ύοέʔδ HJUIVCDPNVOSPMMFESFOEFS
HPVCFSPSH[BQ HJUIVCDPNHPSJMMBTDIFNB HJUIVCDPNHPSJMMBDPOUFYU HJUIVCDPNHPSJMMBTFTTJPOT HJUIVCDPNHPSJMMBDTSG HJUIVCDPNQSFTTMZDIJ HJUIVCDPNKJO[IVHPSN HJUIVCDPNHSQDHSQDHP HJUIVCDPNHPMBOHQSPUPCVG HJUIVCDPNHPBEFTJHOHPB HJUIVCDPNKJO[IVDPOpHPS
͜ͷ࣌Ͱͷ($1ͷߏ ಋೖاۀ͚ 8* ಋೖاۀ͚ 3&45"1* ࣾཧ༻ 8* ܾࡁ H31$"1* "1*"HHSFHBUPS
4FSWJDF.FTI %BUB%PH"HFOU &UD
.',&44"*ͷྺ࢙ ۀॳظ ಋೖاۀ͚αʔϏε։ൃظ ݱࡏ
ݱࡏ (PQIFS͕ߋʹ໊̍ೖࣾͯ͠߹ܭ໊̒ʹ εέʔϥϒϧͳ1%'ੜαʔϏεͷ։ൃ ϞχλϦϯάɺΤϥʔτϥοΩϯάݟ͠ 4FSWJDF.FTIಋೖ
εέʔϥϒϧͳ1%'ൃߦͷΈ ٻॻൃߦʹؔ͢ΔࣝΛΞϓϦέʔγϣϯΒͳͯ͘ྑ͘ͳΔ QVCTVC ("&Λ༻͍ΔࣄͰɺδϣϒͷฒྻ࣮ߦ͕ՄೳʹͳΓɺ࣌ؒͰେྔʹੜͰ͖Δ
(PMBOHΞϓϦέʔγϣϯͷঢ়گ w ϦϙδτϦ̑ w (P w ґଘཧ%FQ (Pͱґଘཧ ར༻ύοέʔδ HJUIVCDPNVOSPMMFESFOEFS
HPVCFSPSH[BQ HJUIVCDPNHPSJMMBTDIFNB HJUIVCDPNHPSJMMBDPOUFYU HJUIVCDPNHPSJMMBTFTTJPOT HJUIVCDPNHPSJMMBDTSG HJUIVCDPNQSFTTMZDIJ HJUIVCDPNKJO[IVHPSN HJUIVCDPNHSQDHSQDHP HJUIVCDPNHPMBOHQSPUPCVG HJUIVCDPNHPBEFTJHOHPB HJUIVCDPNKJO[IVDPOpHPS (PPHMF$ISPNF%FCVHHFS HJUIVCDPNXJSFQBJSHDE
ݱࡏͷ($1ͷߏ
($1ͷߏ ($1શମͷNPOJUPSJOHɺ4UBDL%SJWFS (,&ͷதͷNPOJUPSJOHɺ%BUB%PH (,&ͷதͰൃੜ͢ΔΤϥʔɺ4FOUSZͰཧ
($1ͷߏ ϚΠΫϩαʔϏεͷͦΕͧΕͷαʔϏε୯ҐͰ1PETԽ͠ ͍ͯ·͢ɻ (,&ͷதͷߏ͋ͱͷεϥΠυͰઆ໌
($1ͷߏ ٻॻ໌ࡉॻ1%'ͷൃߦΛ݅ෛՙʹԠͯ͡εέʔ λϒϧʹੜͰ͖ΔΈΛߏங͍ͯ͠·͢ɻ
,VCFSOFUFTͷؔਤ
,VCFSOFUFTͷؔਤ Ϣʔβ͕ར༻͢Δ6*ຖʹ1PETΛ͚ ͍ͯ·͢ɻ w ಋೖاۀ͚6* w ಋೖاۀ͚3&45"1* w ࣾ༻ཧ6* w
,POHʢ044ʣ ฐࣾͰՄೳͳݶΓࣗࣾ։ൃͤͣ͋Γ ͕͋Ε͏ํͳҝɺ(BUFXBZ 0BVUI&OEQPJOUͷΛ,POHʹ· ͔͍ͤͯ·͢ɻ
,VCFSOFUFTͷؔਤ ࠓޙΑΓϚΠΫϩαʔϏεԽ͕ਐΉࣄͰɺH31$"1*͕૿͍͑ͯ͘ࣄ͕༧ ͞ΕΔҝɺݱࡏ༷ʑͳ"1*ͷ4FSWJDF%JTDPWFSZ3PVUJOH1SPYZ͕ߦ ͑Δ4FSWJDF.FTIͷ-JOLFSEΛಋೖ͓ͯ͠Γ·͢ɻ *TUJPʹ৺ऒ͔ΕͨΓ͍ͯ͠·͕͢ʣ
,VCFSOFUFTͷؔਤ H31$"1*͕υϝΠϯͷίΞϩδοΫ ෦ͳͲΛ୲͍ͯ͠·͢ɻ
ࠓ͢ࣄ ࣗݾհ .',&44"*͍ͭͯ ձࣾʹ͍ͭͯ αʔϏεʹ͍ͭͯ HPMBOHUPLZPͰຊ ;Γ͔͑Γ ʒ
;Γ͔͑Γ ৽نࣄۀʹHPMBOHΛબΜͰΈͯ 1SPT$POT
৽نࣄۀʹ(PMBOHΛબΜͰΈͯ1SPT ৽نαʔϏε্ཱͪ͛࣌ಛʹɺ༷มߋɺ్த͔Β࠷దԽͳͲߦ͏ࣄ͓͓͍ҝ ίϯύΠϧ͕͋Δ͓ӄͰɺେنͳϦϑΝΫλΛߦͬͨ࣌ʹɺग़͔ͯ͠ΒյΕ͍ͯΔ ࣄʹؾ͘ͳͲͷͳ͘ͳͬͨͷͰΑ͔ͬͨ HPGNU HPWFUͳͲͷ੩తνΣοΫπʔϧͷ͓͔͛ͰϨϏϡʔͰࠣͳࢦఠΛ͠ͳͯ͘ ࡁΉ ϨϏϡʔίετݮ
ݴޠࣗମͷ࣭ΤίαΠΫϧͷվળ DPOUFYUͷඪ४Խͱ͔ɺEFQͱ͔ ͕ʑߦΘΕ ͍ͯͯɺ͜Ε͔Βઌ҆৺ͯ͑ͦ͠͏ νʔϜ։ൃʹ͍͍ͯΔɻ ݴޠతʹઃܭ͕ૄ݁߹ʹͳΓ͕ͪ ྫJOUFSGBDFͬͨΓͱ͔ɺDIBOOFMͰͷϝοηʔ δϯάͱ͔ ͳͷͰɺෳਓͰฒߦͯ͠։ൃ͢ΔͷࣗવʹͰ͖ɺ։ൃ্͕Δ
৽نࣄۀʹ(PMBOHΛબΜͰΈͯ$POT ੩తܕ͚ݴޠ৽͍͠ݴޠɺະܦݧऀ͕ډͯΔ߹ɺࠓ·Ͱग़དྷ͍ͯͨࣄ͕ग़དྷ ͳ͍ɺ͍ͨ͠ͱ͍ͬͨײ͡Ͱҙݟͷিಥى͖Δ తʹϦονͳ6*Λఏڙ͢Δͱ͔ʹ͍ͯͳ͍ 8FCΞϓϦͳͲɻόοΫΤϯυ ͱಉ͡ϊϦͰཧը໘ͱ͔(PͰ࡞Ζ͏ͱ͢Δͱख͕͔͔ؒͬͨ
ΤϥʔϋϯυϦϯάͳͲͰ هड़ྔ͕ͦΕͳΓʹଟ͘ͳΓ͕ͪɻαΫοͱ࡞Δʹ*%& ͱ͔ͦΕͳΓʹ͍ࠐΜͰͳ͍ͱݫ͍͔͠ ྫ֎͕ແ͍͕Ώ͑ʹɺ*GFSSOJM\^͕େྔʹඞཁʹͳΔखؒΛײ͡Δࣄଟ͍
ࠓ͢ࣄ ࣗݾհ .',&44"*͍ͭͯ ձࣾʹ͍ͭͯ αʔϏεʹ͍ͭͯ HPMBOHUPLZPͰຊ ;Γ͔͑Γ ʒ
࠷ޙʹ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ