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
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
700
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
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
3
380
[しろおび夏祭り2026] チャットするAIから、作業するAIへ - 使われ方の変化と、その裏側で起きていること
kk0n
0
1.6k
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.4k
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
0
820
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
250
SmartHR Engineering Team Deck
smarthr
0
190
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
190
AIが自社のTableauを操作する世界へ:Tableau MCP超入門
tbtykk
0
110
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
[MIRU26] Open-Vocabulary Intention-Guided Object Detection in Diverse Scenes
keio_smilab
PRO
0
140
Pavlokで始める電撃駆動開発
sgrsn
0
170
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
360
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
420
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
450
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
200
Designing for Timeless Needs
cassininazir
1
430
Designing for Performance
lara
611
70k
How GitHub (no longer) Works
holman
316
150k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Being A Developer After 40
akosma
91
590k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.1k
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Ͱຊ ;Γ͔͑Γ ʒ
࠷ޙʹ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ