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
FiNCでの5年間に渡る マイクロサービスの育て方 / microservices at ...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shinozuka Fumiya
December 08, 2018
Technology
4
8.4k
FiNCでの5年間に渡る マイクロサービスの育て方 / microservices at FiNC
Shinozuka Fumiya
December 08, 2018
Tweet
Share
More Decks by Shinozuka Fumiya
See All by Shinozuka Fumiya
プログラミング未経験の学生をエンジニアにしてきたノウハウを公開
shinofumijp
0
2.3k
FiNCのサービスライフサイクルに応じた施策の振り返り
shinofumijp
1
170
Other Decks in Technology
See All in Technology
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
AWS Network Firewall Proxyを触ってみた
nagisa53
1
240
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
220
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
450
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
470
20260204_Midosuji_Tech
takuyay0ne
1
160
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
190
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
170
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
230
Agent Skils
dip_tech
PRO
0
110
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
200
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
What does AI have to do with Human Rights?
axbom
PRO
0
2k
Building AI with AI
inesmontani
PRO
1
700
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
420
YesSQL, Process and Tooling at Scale
rocio
174
15k
First, design no harm
axbom
PRO
2
1.1k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
200
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
100
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
What's in a price? How to price your products and services
michaelherold
247
13k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
Transcript
FiNCͰͷ5ؒʹΔ ϚΠΫϩαʔϏεͷҭͯํ Manager / Server side engineer @shinofumijp
FiNCͱ͍͏ΞϓϦΛ͝ଘͰ͔͢?
iOS/Android FiNC APP ϞόΠϧωΠςΟϒͷϔϧεέΞΞϓϦ
4,000,000DOWNLOAD iOS/Android FiNC APP
όοΫΤϯυϚΠΫϩαʔϏεͰߏ iOS/Android FiNC APP
iOS/Android FiNC APP MICROSERVICES 40
iOS/Android FiNC APP ENGINEERS 50
ࣰ௩ೖࣾ࣌(2014)ͷFiNC
2014 - FiNC @shinofumijp MICROSERVICES 0
2014 - FiNC @shinofumijp ENGINEERS 0
- 2014 - աڈ - 2018 - ݱࡏ
- 2014 - աڈ - 2018 - ݱࡏ
ࠓ͞ͳ͍͜ͱ RailsͷςοΩʔͳ ϚΠΫϩαʔϏεͷཁૉٕज़ͷ Ϛωδϝϯτͷ
RailsςοΩʔͳ ϚΠΫϩαʔϏεͷཁૉٕज़ͷ Ϛωδϝϯτͷ FiNCΞϓϦͷੜ
ͷ্
גࣜձࣾFiNC Technologies (Ҏ߱FiNCͱදه) — αʔόʔαΠυΤϯδχΞ — Ϛωʔδϟʔ ࣰ௩࢙ @shinofumijp #ϫΠϯΤΩεύʔτ
#Ϊλʔ #εέϘʔ FiNCΞϓϦͷੜ ͷ্
FiNCΞϓϦͷੜ ͷ্ ɾFiNCͱผͷձࣾ ɾϝϯόʔ ɹɹɾ (ݱFiNCදऔకCTO) ɹɹɾ (ݱFiNCΤϯδχΞ) ɹɹɾ (ಉ্)
ɹɹɾ (ಉ্) ɾࣄۀ༰ ɹɹɾҩༀྲྀ௨ͷ࠷దԽ ɹɹɾडୗ։ൃ ҙࣝͷߴֶ͍ੜͱֶͯ͠ੜ࣌ʹىۀ
FiNCΞϓϦͷੜ ͷ্ 2013ʹೆ͕1݅ͷ։ൃҊ݅Λड FiNC͍ͬͯ͏μΠΤοτͬͯΔ͓Ζ͍ϕϯνϟʔ͕ ͋ΜͶΜ͚ͲɺΒΜʁ
։ൃ
FiNCΞϓϦͷੜ ։ൃ LINE্Ͱߦͳ͍ͬͯͨμΠΤοτࢦಋΛ WebΞϓϦέʔγϣϯԽ ɾFiNCμΠΤοτՈఉڭࢣ ɹɹɾ࣌FiNC͕ఏڙ͍ͯͨ͠αʔϏε ɹɹɾμΠΤοτΛ͍ͨ͠Ϣʔβʔʹରͯ͠ɺ ɹɹɹઐՈͷઌੜ͕LINE্ͰΞυόΠεΛ͢ΔαʔϏε
FiNCΞϓϦͷੜ ։ൃ
FiNCΞϓϦͷੜ ։ൃ 20143݄ʹϦϦʔε
FiNCΞϓϦͷੜ ։ൃ 20143݄࣌ͷΞʔΩςΫνϟ ɾσϓϩΠࣰ௩͕ϩʔΧϧ͔Βcap production deploy ɹɾࣰ௩ͷ৺ଁʹ͋·Γʹѱ͍ͷͰςετΛ͔͘จԽͱCIͷಋೖΛߦ͏
FiNCΞϓϦͷੜ ։ൃ ΞϓϦέʔγϣϯ։ൃͷํ ɾ12 factor appsʹଇΔ ɾςʔϒϧͷਖ਼نԽݫີʹߦ͏ ɾߏཧπʔϧΛ͍Πϯϑϥͷߏங࠶ݱੑ͕͋ΔΑ͏ʹ
FiNCΞϓϦͷੜ ։ൃ ΞϓϦέʔγϣϯ։ൃͷํ → ͜ΕΒͷํ͕ɺ ޙͷϚΠΫϩαʔϏεͷΓग़͢͠͞ʹͭͳ͕ͬͨ ɾ12 factor appsʹଇΔ ɾςʔϒϧͷਖ਼نԽݫີʹߦ͏
ɾߏཧπʔϧΛ͍Πϯϑϥͷߏங࠶ݱੑ͕͋ΔΑ͏ʹ
FiNCΞϓϦͷੜ ೖࣾ ϦϦʔεͱಉ࣌ʹFiNCʹೖࣾ ɾೲͰͳ͘ɺ ͷ3ਓɺ ɹFiNCʹೖࣾ͠αʔϏεͷܧଓతͳ։ൃΛߦ͏͜ͱΛܾҙ ɾΓͷϝϯόʔ( )ݩͷΦϑΟεͷཹक൪Λ͍͕ͤͯͨɺ ɹ࣍ୈʹڐՄͳ͘ΦϑΟεʹ্ΓࠐΉΑ͏ʹͳΓͦͷ··δϣΠϯ
FiNCΞϓϦͷੜ ೖࣾ ͳͥࣗͷձࣾΛΜͰ·Ͱೖࣾͨ͠ͷ͔ ɾҩྍඅͷߴಅͱੜ׆श׳ප ɾ༧ྖҬͰͷ৽Ϗδωεͷ಄ ɾFiNCදߔޱͷਓฑͱϏδϣϯ ɹɹɾFiNCͰ͔͠ٹ͑ͳ͔ͬͨਓΛ1ਓͰଟ͘ٹ͍͍ͨ ɹɹɾҰੜʹҰͷ͔͚͕͑ͷͳ͍ਓੜͷޭΛαϙʔτ͢Δ
RailsςοΩʔͳ ϚΠΫϩαʔϏεͷཁૉٕज़ͷ Ϛωδϝϯτͷ FiNCͷΞʔΩςΫνϟͷมભ
- 2014ޙ~2015 - ظ 02 - 2016~2017~ - Ճظ 03
- 2018~ - άϩʔεظ 04 FiNC MICROSERVICES PERIOD - 2014 લ - ։࢝ 01
- 2014 લ - ։࢝ 01 - 2014ޙ~2015 - ظ
02 - 2016~2017~ - Ճظ 03 - 2018~ - άϩʔεظ 04 FiNC MICROSERVICES PERIOD
- 2014 લ - ։࢝ 01 - 2014ޙ~2015 - ظ
02 - 2016~2017~ - Ճظ 03 - 2018~ - άϩʔεظ 04 FiNC MICROSERVICES PERIOD
FiNCͷΞʔΩςΫνϟͷมભ ࣌ͬͯ20141݄ ɾFiNCμΠΤοτՈఉڭࢣͷ։ൃ͕ॱௐʹਐΜͰ͍ͨࠒʹFiNCදͷߔޱͱձ͏ 01 ϚΠΫϩαʔϏεԽͷ։࢝
FiNCͷΞʔΩςΫνϟͷมભ μΠΤοτՈఉڭࢣͷઌੜʹͳΔࢿ֨ͷൃߦͱEϥʔχϯάΛ ఏڙ͍ͨ͠ μΠΤοτՈఉڭࢣʹਃ͠ࠐΉਓͱઌੜͷϚονϯά͕Ͱ͖Δ Έ΄͍͠ ͋ͱμΠΤοτՈఉڭࢣͷଔۀੜͱઌੜΛத৺ʹͨ͠ ίϛϡχςΟΛ࡞Γ͍ͨ 01 ϚΠΫϩαʔϏεԽͷ։࢝ ๏ਓͷརްੜͱ͍͏ܗͰಋೖ͍͖͍ͯͨ͠
֤छδϜͱͷఏܞΛͯ͠ɺձһূͱͯ͠ͷར༻ɺτϨʔχϯά༰ ͷه͕Ͱ͖ΔΑ͏ʹ͍ͨ͠ ݈߁ʹྀ͚ͨͩ͠ΛऔΓѻ͏ECΛ࡞ͬͯɺFiNCΛ ͬͯ͘Ε͍ͯΔਓʹ͓ಘʹར༻Ͱ͖ΔΑ͏ʹ͍ͨ͠ μΠΤοτ͚ͩ͡Όͳ͘ϔϧεέΞιϦϡʔγϣϯͷ ϓϥοτϑΥʔϜʹ͍ͨ͠
FiNCͷΞʔΩςΫνϟͷมભ ߟ͑ͨ͜ͱ ɾ͜Ε͚ͩଟ͘ͷҟͳΔυϝΠϯΛ ɹ1ͭͷΞϓϦέʔγϣϯͰ։ൃ͢Δͷ͍͠ͱײͨ͡ ɹɾ։ൃମ੍ɺ৫ͱͯ͠ͷεέʔϧ ɹɾΞϓϦέʔγϣϯͷෳࡶ͞ 01 ϚΠΫϩαʔϏεԽͷ։࢝
FiNCͷΞʔΩςΫνϟͷมભ 01 ϚΠΫϩαʔϏεԽͷ։࢝ ҨࢠݕࠪͷӾཡػೳΛ৽͍͠ RailsΞϓϦέʔγϣϯͱͯ͠࡞ ɾ͜Ε͕FiNCͷϚΠΫϩαʔϏεͷ࢝·Γ ɹɹɾ࣮࣌ɺࣰ௩ϚΠΫϩαʔϏεͱ͍͏ݴ༿Βͳ͔ͬͨ ɹɹɾΞϓϦέʔγϣϯ͕ࣗతʹৼΔ͍ɺ݁Ռ߹ͰσʔλΛಉظ͠߹͏͕࢟ ɹɹɹͳΜͱͳ͘૾͍ͭͨ
FiNCͷΞʔΩςΫνϟͷมભ ΞʔΩςΫνϟ ɾΤϯδχΞ3ਓ 01 ϚΠΫϩαʔϏεԽͷ։࢝
- 2014 લ - ։࢝ 01 - 2014ޙ~2015 - ظ
02 - 2016~2017~ - Ճظ 03 - 2018~ - άϩʔεظ 04 FiNC MICROSERVICES PERIOD
- 2014 લ - ։࢝ 01 - 2014ޙ~2015 - ظ
02 - 2016~2017~ - Ճظ 03 - 2018~ - άϩʔεظ 04 FiNC MICROSERVICES PERIOD
FiNCͷΞʔΩςΫνϟͷมભ 02 ϚΠΫϩαʔϏεͷظ Ϗδωεల։ʹݺԠͨ͠ ϚΠΫϩαʔϏεͷՃ ɾ๏ਓ͚αʔϏε ɹɹɾຊͷޕޙͷηογϣϯͰొஃ͢Δਗ਼ਫ͕ೖࣾ͠ɺ ɹɹɹϦʔυΤϯδχΞͱͯ͠։ൃ ɾઐՈͷࢿ֨ൃߦࣄۀͱEϥʔχϯά৴αʔϏε ɾECαʔϏε
αʔϏεͷ୯Ґ ɾൺֱతେཻ͖͍ͷαʔϏε ɾ1ࣄۀʹ1,2αʔϏε ɾ1νʔϜʹΤϯδχΞ0.5~1໊ FiNCͷΞʔΩςΫνϟͷมભ 02 ϚΠΫϩαʔϏεͷظ
FiNCͷΞʔΩςΫνϟͷมભ 02 ϚΠΫϩαʔϏεͷظ ϏδωεԣஅػೳͱͳΔ ج൫ܥαʔϏεͷ։ൃߦ͏ ɾϨίϝϯσʔγϣϯج൫ ɾೝূج൫
Ϩίϝϯσʔγϣϯج൫ͷࣦഊ ɾ։ൃ։࢝ॳͳ͔ͬͨ ɾޙʹϨίϝϯσʔγϣϯج൫Λ൚༻Խ͠Α͏ͱͯ͠Ϩίϝϯσʔγϣϯͱ ɹ໊͕͘ͷશͯͷΛෛΘͤͯ͠·ͬͨ FiNCͷΞʔΩςΫνϟͷมભ 02 ϚΠΫϩαʔϏεͷظ ɾྫ ɹɹɾϑΥϩʔ͢ΔϢʔβΛϨίϝϯυ͍ͨ͠ ɹɹɾECͷΛϨίϝϯυ͍ͨ͠
ɹɹɾهࣄͷϨίϝϯυΛ͍ͨ͠
൚༻Ϩίϝϯσʔγϣϯج൫ͷಈػ ɾϨίϝϯσʔγϣϯج൫FiNCͷશαʔϏεͷϢʔβߦಈσʔλΛԣஅతʹ ɹѻͬͯɺϨίϝϯσʔγϣϯΛߦ͏αʔϏε FiNCͷΞʔΩςΫνϟͷมભ 02 ϚΠΫϩαʔϏεͷظ ɾϚΠΫϩαʔϏεͰσʔλΛԣஅͯ͠ѻ͏͜ͱ͕͍͠ͷͰɺ ɹϨίϝϯσʔγϣϯج൫Λ൚༻Խͯ͋͠ΒΏΔ ɹϨίϝϯσʔγϣϯΛߦ͍͍ͨͱ͍͏ಈػࣗମೲಘͰ͖Δ
൚༻ϨίϝϯσʔγϣϯͷԿ͕͔? ɾϨίϝϯσʔγϣϯج൫ʹ֤αʔϏεͷυϝΠϯ͕ࣝඞཁͱͳΓɺ ɹਆαʔϏεͱͳͬͯ͠·ͬͨ ɹɹɾϨίϝϯυϩδοΫ֤αʔϏεͷυϝΠϯϩδοΫ FiNCͷΞʔΩςΫνϟͷมભ 02 ϚΠΫϩαʔϏεͷظ ※ਆαʔϏεͷޙड़ ※2018ʹϨίϝϯσʔγϣϯج൫ͷϦΞʔΩςΫτΛߦͬͨ Ϩίϝϯσʔγϣϯج൫
ϑΥϩʔϨίϝϯσʔγϣϯ هࣄϨίϝϯσʔγϣϯ ECϨίϝϯσʔγϣϯ
ΞʔΩςΫνϟ FiNCͷΞʔΩςΫνϟͷมભ 02 ϚΠΫϩαʔϏεͷظ ɾΤϯδχΞ10~30ਓ ೝূαʔϏε ϨίϝϯυαʔϏε
- 2014 લ - ։࢝ 01 - 2014ޙ~2015 - ظ
02 - 2016~2017~ - Ճظ 03 - 2018~ - άϩʔεظ 04 FiNC MICROSERVICES PERIOD
- 2014 લ - ։࢝ 01 - 2014ޙ~2015 - ظ
02 - 2016~2017~ - Ճظ 03 - 2018~ - άϩʔεظ 04 FiNC MICROSERVICES PERIOD
2016 ɾňFiNCμΠΤοτՈఉڭࢣʯΛμΠΤοτʹࢭ·Βͣ ɹ݈߁ཧશൠʹରԠ͘͢ϦχϡʔΞϧΛ։࢝ ɹɹɾΤϯδχΞ࠾༻ͷຊ֨Խ ɹɹɾػೳՃʹ͏৽نϚΠΫϩαʔϏε࡞ ɹɹɾຊମαʔϏε͔ΒͷαʔϏεΓग़͠ FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ ※͜ͷลΓͰRubyք۾ͰإΛग़͢@ota42yͱ@qsona͕ೖࣾ
ɾαʔόΛEC2͔ΒDocker+ECSʹҠߦ
2017 ɾ3݄ʹFiNCΞϓϦͷਖ਼ࣜϩʔϯν FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ
ϚΠΫϩαʔϏεͷ୯Ґ ɾجຊٕज़୯ҐͰͳ͘υϝΠϯ୯ҐͰׂ FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ ɾνʔϜͱαʔϏευϝΠϯͷҰக ɾྫ ɹɹɾϥΠϑϩάαʔϏε ɹɹɹɹɾาɺମॏɺ৯ࣄɺਭͷهΛߦ͏αʔϏε ɹɹɾϝσΟΞαʔϏε
ɹɹɹɹɾ݈߁ؔ࿈هࣄͷ৴Λߦ͏αʔϏε ɹɹɾαϒεΫϦϓγϣϯαʔϏε ɹɹɹɹɾαϒεΫϦϓγϣϯͷཧͱαʔϏεఏڙΛߦ͏αʔϏε
ϚΠΫϩαʔϏεԽͷՃʹ͍ ༷ʑͳϚΠΫϩαʔϏε՝͕ݦࡏԽ FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ
ϚΠΫϩαʔϏε՝1 ɾຊମαʔϏε͕ਆαʔϏεʹͳΔ FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ ຊମαʔϏε αʔϏε1 αʔϏε2 αʔϏε3 αʔϏεN
…
ਆαʔϏεͷഎܠ ɾΫϥΠΞϯτΞϓϦଆͰ֤αʔϏεͷAPIϦιʔεΛू͢Δͷ͕େม FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ ɾUI੍ޚϑϥάཧΛߦ͏ࡍʹຊମαʔϏε͕ศར
ਆαʔϏεͷରԠ ɾAPIͷϦιʔεࢦΛڧΊΔͨΊͷٕज़બఆ FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ ɾϦιʔεࢦͷAPIΛू͢ΔͨΊͷBFF(Backends For Frontends)
APIϦιʔεࢥߟΛڧΊΔͨΊͷٕज़બఆ ɾBefore ɹɹɾgrape ɹɹɾrabl FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ ɾAfter ɹɹɾActionController ɹɹɾActiveModelSerializer
ɹɹɾjson_schema + committee
ϦιʔεࢦͷAPIΛू͢ΔͨΊͷBFF ɾόοΫΤϯυͷAPIΛू͠ϑϩϯτΤϯυ͕ར༻͍͢͠Α͏ʹՃ͢ΔϨΠϠʔ FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ ɾUI੍ޚ౷߹BFF͕ߦ͏͜ͱʹΑΓ֤αʔϏε ɹυϝΠϯʹ࣮ͳAPI͕ఏڙՄೳʹ BFF αʔϏε1 αʔϏε2
αʔϏε3 αʔϏεN … ຊମαʔϏε
ϦιʔεࢦͷAPIΛू͢ΔͨΊͷBFF FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ ※͜ͷ࣮࣌ͨ͠BFFʹผͷ͕ൃੜ͠2018ʹϦΞʔΩςΫτ BFF αʔϏε1 αʔϏε2 αʔϏε3 αʔϏεN
… ຊମαʔϏε
ϚΠΫϩαʔϏε՝2 ɾΞϓϦέʔγϣϯؒͷσʔλಉظͷґଘؔ FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ
ى͖ͨ͜ͱ ɾຊମαʔϏεͰϢʔβʔͷୀձ͕͋ͬͨ࣌ʹຊମαʔϏε͔Βɺ ɹ๏ਓɾECɾೝূج൫ͷୀձAPIΛݺͼग़͍ͯͨ͠ FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ ୀձ ຊମαʔϏε EC ๏ਓ
ೝূج൫ ୀձ ୀձ ୀձ
ݩͷσʔλߋ৽ϑϩʔͷ ɾߋ৽͞ΕΔαʔϏε͕Ͳ͜ͷαʔϏεʹӨڹΛ༩͑Δ͔ΛΒͳ͍ͱ͍͚ͳ͍ FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ ɾߋ৽Λड͚औΔαʔϏε͕૿͑Δͱɺߋ৽ͷ௨ΛՃ࣮͠ͳ͍ͱ͍͚ͳ͍
ରԠ ɾΠϕϯτυϦϒϯΞʔΩςΫνϟͷมߋ ɹɹɾAWS SNS/SQSΛ༻͍ͨPub/Sub ɹɹɾมߋͷ௨Λड͚औΓ͍ͨαʔϏε͕ΩϡʔΛτϐοΫʹαϒεΫϥΠϒ͢Δ FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ ຊମαʔϏε EC
๏ਓ ೝূج൫ AWS SQS AWS SQS AWS SQS AWS SNS
ରԠ FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ ຊମαʔϏε EC ๏ਓ ೝূج൫ AWS SQS
AWS SQS AWS SQS AWS SNS ɾࢀߟ ɹɹɾϚΠΫϩαʔϏεʹ͓͚ΔඇಉظΞʔΩςΫνϟ @ota42y ɹɹɹhttps://www.slideshare.net/ota42y/ss-80254350
ϚΠΫϩαʔϏε՝3 ɾશମؒͷѲ͕ࠔʹͳΔ FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ
ձࣾͷํੑͱ αʔϏε։ൃͷؔੑ͕Θ͔ΓͮΒ͘ͳΔ FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ ɾ݁ՌɺΤϯδχΞͷϞνϕʔγϣϯͷԼʹͭͳ͕Δ
ରԠ ɾϚωδϝϯτ՝ͱͯ͠औΓΉ ɹɹɾৄ͘͠ޕޙͷηογϣϯͰਗ਼ਫ͕͢༧ఆ FiNCͷΞʔΩςΫνϟͷมભ 03 ϚΠΫϩαʔϏεԽͷՃظ
- 2014 લ - ։࢝ 01 - 2014ޙ~2015 - ظ
02 - 2016~2017~ - Ճظ 03 - 2018~ - άϩʔεظ 04 FiNC MICROSERVICES PERIOD
- 2014 લ - ։࢝ 01 - 2014ޙ~2015 - ظ
02 - 2016~2017~ - Ճظ 03 - 2018~ - άϩʔεظ 04 FiNC MICROSERVICES PERIOD
FiNCͷΞʔΩςΫνϟͷมભ 04 άϩʔεظ άϩʔε͕ඞཁͳػೳΛத৺ʹ ϚΠΫϩαʔϏεԽͱϦΞʔΩςΫτ ɾྫ ɹɹɾΞϓϦͷνϡʔτϦΞϧͷϚΠΫϩαʔϏε ɹɹɾϢʔβؒίϛϡχςΟͷϚΠΫϩαʔϏε ɹɹɾϨίϝϯσʔγϣϯج൫ͷϦΞʔΩςΫτ ɹɹɾBFFͷϦΞʔΩςΫτ
FiNCͷΞʔΩςΫνϟͷมભ 04 άϩʔεظ ݱࡏ BFF ECαʔϏε܈ ೝূج൫ ๏ਓ͚αʔϏε܈ Ϩίϝϯσʔγϣϯج൫ ΞϓϦαʔϏε܈
ɾΤϯδχΞ50ਓ
FiNCͷΞʔΩςΫνϟͷมભ 04 άϩʔεظ ݱࡏͷϚΠΫϩαʔϏε՝ͱऔΓΈ ɾService Mesh ɾԣஅ՝ͱΦʔφʔγοϓ ɾϢʔβମݧΛ࣠ʹͨ͠ϓϩμΫτ։ൃ
FiNCͷΞʔΩςΫνϟͷมભ 04 άϩʔεظ Service Mesh ɾׂѪ
FiNCͷΞʔΩςΫνϟͷมભ 04 άϩʔεظ ԣஅ՝ͱΦʔφʔγοϓ ɾαʔϏεؒΛ·͕ͨΔʹରͯ͠୲ऀཱ͕ͯͮΒ͘ղܾ͕͞ΕͮΒ͍
FiNCͷΞʔΩςΫνϟͷมભ 04 άϩʔεظ ରԠ ɾԣஅ՝ʹରͯ͠ΦʔφʔγοϓΛ࣋ͪ͘͢͢Δ৫ઃܭΛࡧத
FiNCͷΞʔΩςΫνϟͷมભ 04 άϩʔεظ ෦׆ͱশͯ͠ ɾɹɹɹɹ͕༗ࢤΛืΓͳ͕Βղܾͱਚྗ
FiNCͷΞʔΩςΫνϟͷมભ 04 άϩʔεظ ׆ಈྫͷҰ෦հ ɾશϚΠΫϩαʔϏεͷϥΠϒϥϦΞοϓσʔτ ɹɹɾશαʔϏεͷϥΠϒϥϦΞοϓσʔτΛఆظతʹߦ͏ͷŧŔŕŪŸƃŪƄř
FiNCͷΞʔΩςΫνϟͷมભ 04 άϩʔεظ ߦͬͨ͜ͱ ɾϥΠϒϥϦͷΞοϓσʔτঢ়گͷՄࢹԽ ɾΞοϓσʔτ࡞ۀ ɾΞοϓσʔτ࡞ۀͷޙ͍ ɾdependabotͷશࣾಋೖͷಇ͖͔͚ˠಋೖ͕ܾ·ͬͨ
FiNCͷΞʔΩςΫνϟͷมભ 04 άϩʔεظ ࢯᐌ͘
FiNCͷΞʔΩςΫνϟͷมભ 04 άϩʔεظ ϢʔβʔମݧΛ࣠ͱͨ͠ϓϩμΫτ։ൃ
FiNCͷΞʔΩςΫνϟͷมભ 04 άϩʔεظ FiNCͰػೳɾυϝΠϯ୯ҐͰ αʔϏεΛׂ͖ͯͨ͠ ɾ։ൃମ੍ϓϩμΫτʹӨڹΛ༩͑ɺ ɹΞϓϦͷϢʔβʔମݧ͕ػೳ࣠Ͱஅ͞Εͯ͠·͍͍͢
FiNCͷΞʔΩςΫνϟͷมભ 04 άϩʔεظ ରԠ ɾҰ؏ͨ͠ϢʔβʔମݧΛఏڙ͢ΔͨΊͷΞʔΩςΫνϟมߋ ɹɹɾ։ൃνʔϜͷମ੍มߋ ɹɹɾϑϩϯτΤϯυɾόοΫΤϯυαʔϏεͷϦΞʔΩςΫτ
RailsςοΩʔͳ ϚΠΫϩαʔϏεͷཁૉٕज़ͷ Ϛωδϝϯτͷ ϚΠΫϩαʔϏεͷྺ࢙ΛৼΓฦͬͯ
ϚΠΫϩαʔϏεͷྺ࢙ΛৼΓฦͬͯ ϓϩμΫτʹߩݙ ॳظ͔ΒϚΠΫϩαʔϏεԽΛߦͳͬͨ͜ͱʹΑΓɺ ػೳՃɾάϩʔεɾΤϯδχΞ૿ʹ͑ΒΕΔ։ൃ৫ͱͳΓ ϓϩμΫτͷʹߩݙͰ͖ͨ
ϚΠΫϩαʔϏεͷྺ࢙ΛৼΓฦͬͯ πϥϛΛΓӽ͑ ϚΠΫϩαʔϏεͷπϥϛɾ᠘ʹ࣌ʑͰ໘͕ͨ͠ɺ ඞཁʹԠͯ͡ΞʔΩςΫνϟͷมߋΛߦ͏͜ͱͰ Γӽ͑Δ͜ͱ͕Ͱ͖ͨ
ϚΠΫϩαʔϏεͷྺ࢙ΛৼΓฦͬͯ ΑΓྑ͍αʔϏεఏڙΛࢦͨ݁͠Ռ ΤϯδχΞ͚ͩͰͳ͘ اըɺσβΠφʔɺQAɺΧελϚʔαϙʔτؚΊɺ શһ͕ΑΓΑ͍αʔϏεͷఏڙΛࢦͨ݁͠Ռ͕ ݱࡏͷFiNCͷΞʔΩςΫνϟͱϓϩμΫτ (ͨͩਖ਼ ͕ߩݙͨ͜͠ͱͳΜͯ΄ͱΜͲͳ͍Ͱ͢)
ࠓޙΞʔΩςΫνϟͷվળɺܧଓͯ͠ߦ͏
ϚΠΫϩαʔϏεͷྺ࢙ΛৼΓฦͬͯ ࠓޙΞʔΩςΫνϟͷվળɺܧଓͯ͠ߦ͏ ΑΓྑ͍αʔϏεΛఏڙ͢ΔͨΊ ͦͯ͠FiNCͰ͔͠ٹ͑ͳ͔ͬͨਓΛ1ਓͰଟ͘ٹ͏ͨΊ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ - Thank You - ϚΠΫϩαʔϏε՝Λࠀ͠ 'J/$ͷάϩʔεʹߩݙͯ͘͠ΕΔΤϯδχΞΛืू͍ͯ͠·͢