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
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
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
2
680
Oracle Cloud Infrastructure:2026年6月度サービス・アップデート
oracle4engineer
PRO
0
130
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
4
2.3k
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
270
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
110
SONiCの統計情報を取得したい
sonic
0
230
SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク ~実装編~
sonic
0
280
コミュニティの有益性 ~JAWS Days 2026 での体験を通して~ / The Benefits of a Community ~Through My Experience at JAWS Days 2026~
seike460
PRO
0
180
FPC(フレキシブル)基板にZephyr実装してみた。
iotengineer22
0
120
PostgreSQL 19 新機能概要 OSC Hokkaido 2026
nori_shinoda
0
140
2026年6月23日 Syncable Tech + Start Python Club にて
hamukazu
0
140
自分が詳しくない領域でAIを使う #プロヒス2026
konifar
13
5.3k
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.2k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
160
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.7k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
460
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
220
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
How to Ace a Technical Interview
jacobian
281
24k
Six Lessons from altMBA
skipperchong
29
4.3k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
240
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
210
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Ͱຊ ;Γ͔͑Γ ʒ
࠷ޙʹ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ