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
kosen12sLT_4.pdf
Search
Shintani Teppei
March 30, 2019
Technology
260
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
kosen12sLT_4.pdf
Shintani Teppei
March 30, 2019
More Decks by Shintani Teppei
See All by Shintani Teppei
すべてがオンボーディングタスクになる / Everything becomes an onboarding task
euglena1215
0
130
「地続き」の技術面接 / "Continuous" technical interview
euglena1215
0
71
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
310
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
290
ISUCONで型をつける
euglena1215
1
160
3年でバックエンドエンジニアが5倍に増えても破綻しなかったアーキテクチャ そして、これから / Software architecture that scales even with a 5x increase in backend engineers in 3 years
euglena1215
11
5.7k
モジュラモノリス、その前に / Modular monolith, before that
euglena1215
8
1.2k
いつか使える ObjectSpace / Maybe useful ObjectSpace
euglena1215
2
280
rbs-inlineを導入してYARDからRBSに移行する
euglena1215
1
980
Other Decks in Technology
See All in Technology
EventBridge Connection
_kensh
5
700
【Cyber-sec+】経営層を"動かす"ための考え方
hssh2_bin
0
150
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
210
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
5
1.4k
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.3k
AGENTS.mdとSkillsで始めるAIエージェント活用
sonoda_mj
3
200
爆速でマルチプロダクトを立ち上げる時 事業・CTO目線で大事にしたい事
miyatakoji
0
110
LLMと共に進化するプロセスを目指して
ymatsuwitter
13
4.1k
Snowflakeと仲良くなる第一歩
coco_se
4
440
連合学習と機密コンピューティング
lycorptech_jp
PRO
0
110
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
260
RSA暗号を手計算したくなること、ありますよね?? (20260615_orestudy6_rsa)
thousanda
0
310
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.2k
Embracing the Ebb and Flow
colly
88
5.1k
Un-Boring Meetings
codingconduct
0
310
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
230
Ethics towards AI in product and experience design
skipperchong
2
310
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
130
Thoughts on Productivity
jonyablonski
76
5.2k
Transcript
ϞϊϦεΛখ͘͢͞ΔͭΒΈ kosen12s LT#4 Shintani Teppei (@euglena1215)
͍͑ͨ͜ͱ ϞϊϦγοΫαʔϏε͔ΒͷϚΠΫϩαʔϏεԽ ࢮ͵΄Ͳߟ͑Δ͜ͱ͋Δ͔ΒؾΛ͚ͭΑ͏ͳ Ͱ͏·͘ར༻͢Ε αʔϏεͷण໋ΛԆ͢͜ͱ͕Ͱ͖Δ(͔)
ͭΒΈΛ͢લʹ •ɹͦͦͳͥਓྨϚΠΫϩαʔϏεԽΛ͕ͨ͠Δͷ͔ʁ •ɹͦͦϚΠΫϩαʔϏεͱʁ
What is microservices? • ༧ݴऀ Martin Fowler͕ఏএ • ϚΠΫϩαʔϏεΞʔΩςΫνϟελΠϧ୯ҰͷΞϓϦέʔγϣϯΛখ ͞ͳαʔϏε܈ͷΈ߹Θͤͱͯ͠ߏங͢Δख๏
ref: https://martinfowler.com/articles/microservices.html
ref: https://martinfowler.com/articles/microservices.html
ϚΠΫϩαʔϏεԽͷϝϦοτ • ։ൃ࣌ʹߟ͑ͳ͍ͱ͍͚ͳ͍είʔϓ͕ڱ͘ͳΔ • “ਖ਼͘͠αʔϏεͷΓ͚͕Ͱ͖Ε” ࣗͷαʔϏεͷ͜ͱ͚ͩΛߟ͑ΕΑ͘ͳΔ • োͷൖͷ࠷খԽ • αʔϏε͝ͱʹαʔόʔΛىಈͤ͞ΔͷͰෆྀͷࣄނʹΑΓαʔόʔ͕ͪΐͬ͜ͱαʔόʔ͕མͪͨͱ
ͯ͠”ਖ਼࣮͍ͯ͘͠͠Ε”αʔϏεશମͷμϯ͕໔ΕΔ • αʔόʔεϖοΫͷ࠷దԽ • αʔϏε͝ͱʹཁٻ͞ΕΔύϑΥʔϚϯε͕ҧͬͨΓ͢ΔͷͰ”ͪΌΜͱΠϯϑϥΛཧͰ͖ͯΕ” ʮ͜ͷαʔϏεϝϞϦϚγϚγͰʯ͕؆୯ʹͰ͖Δ • CIͷߴԽ • ଞαʔϏεͷॲཧmockͯ͠ςετΛॻ͘ͷͰঢ়ଶͷֻ͚ࢉ͕ݮͬͯςετ͕؆ܿʹͳΔ • ਖ਼͘͠mock͢ΔͷΊͪΌେม • Ϟμϯͳ։ൃΛͯͦ͠͏ͳงғؾ͕ग़Δ • ຊ͔ͳΓటष͍
લఏ ྫͱͯ͠ԫ৭ΞΠίϯͷϓϩάϥϚͷͨΊͷ ٕज़ใڞ༗αʔϏεΛϚΠΫϩαʔϏεԽΛఆ ※ தΛݟͨ͜ͱͳ͍ͷͰશʹໝͰ͢ • ϚΠΫϩαʔϏε࠷ߴʂͬͯΛΑ͘ฉ͘ͷͰͬͯΈΔ͜ͱʹͨ͠ • ͱ͍͑ػೳ։ൃΛࢭΊΔΘ͚ʹ͍͔ͳ͍ͷͰ2νʔϜʹ͚ͯ ฒߦͯ͠ਐΊ͍ͯ͘
ঢ়گ
None
Ϣʔβʔ هࣄ Organization λά ετοΫ γεςϜ֓ཁਤɹʙݱࡏʙ
Ϣʔβʔ هࣄ Organization λά ετοΫ γεςϜ֓ཁਤɹʙ֬ఆ͍ͯ͠Δະདྷʙ Job ػೳ։ൃνʔϜʹΑΔʮJobػೳʯͷՃ
Ϣʔβʔ هࣄ Organization λά ετοΫ γεςϜ֓ཁਤɹʙ֬ఆ͍ͯ͠Δະདྷʙ Job ϚΠΫϩαʔϏεԽ͠Α͏ʂʂʂ
Α͏ͦ͜ࠈ
ࠈͷ͓ॻ͖ ᶃ ཧ͢Δαʔό૿͑Δࠈ ᶄ ϩάऩूͲ͏͢ΔΜͩࠈ ᶅ ࠷దͳݴޠͰ࣮ͨ͘͠ͳͬͯ͘Δࠈ ᶆ JOIN, τϥϯβΫγϣϯ,
֎෦ࢀর੍͑ͳ͍ࠈ ᶇ ϙϦϞʔϑΟοΫςʔϒϧࠈ ᶈ Ϩίʔυอଘ࣌ͷؔ࿈ςʔϒϧߋ৽callback֎͢ࠈ ᶉ Ҡߦظؒͷίʔυڞ༗Ͳ͏͢Δ͔ࠈ ᶊ ΫϥΠΞϯταΠυԿͱ௨৴͢Ε͑͑Μࠈ ᶋ ͦͦυϝΠϯڥքมΘΔࠈ ᶌ ϚΠΫϩαʔϏε͚͗ͯ͢͠·ͬͨࠈ and many more…
ᶃ ཧ͢Δαʔό૿͑Δࠈ • ͍··Ͱ1ͭͰ͍݁ͤͯͨ͞αʔόΛෳʹ͚Δ • Ͳ͔͜ͰҰݩཧ͢Δඞཁੑ͕ग़ͯ͘Δ • ΠϯϑϥͳΜͰͬͯΔchigita͞Μ͕શͯख࡞ۀͰཧͯͨ͠Β • →
chigita͞Μͷୀ৬ = αʔϏεऴྃͷ͓Βͤ
ᶃ ཧ͢Δαʔό૿͑Δࠈ ͦΜͳ͋ͳͨʹɿInfrastructure as Code(IaC) • ϓϩϏδϣχϯάɺ֤αʔόͷཁٻੑೳΛશͯίʔυͰཧ͢Δ • →ଐਓԽΛͳ͘͢ •
࠷ۙΑ͘ฉ͘ͷTerraformΛͬͯk8s(GKE/EKS)ECSΛཧ͢Δ • ͜ͷลͷಋೖҰேҰ༦Ͱ·ͣແཧ • αʔόཧʹΦʔφʔγοϓΛ࣋ͭΠϯϑϥΤϯδχΞඞਢ Terraform ɾɾɾ༗໊ͳΫϥυαʔϏεΛڞ௨ͷॻ͖ํͰίʔυԽͰ͖Δπʔϧ k8s(kubernetes)ɾɾɾͨ͘͞Μͷdocker containerΛ͍͍ײ͡ʹཧ͢ΔϑϨʔϜϫʔΫ(OSS) GKE/EKSk8sͷSaaS ECS ɾɾɾEKSͱҧ͍͕͔ΒΜɻ୭͔ڭ͑ͯ΄͍͠
ᶄ ϩάऩूͲ͏͢ΔΜͩࠈ • هࣄϚΠΫϩαʔϏε͕όάͬͯΔ͜ͱ͜ͱ͕໌ • όάͷݪҼΛಥ͖ࢭΊ͍ͨ • ࠓ·ͰstacktraceΛݟΕϝιουͷݺͼग़͠ݩ͕͔ΔͷͰ͙͢ݪҼ Λಥ͖ࢭΊΔ͜ͱ͕Ͱ͖͍ͯͨ •
αʔϏε͕͔ΕΔͱstacetraceʹදࣔ͞Εͳ͘ͳΔͷͰ stacktraceʹରԠ͢ΔͷΛ࠶࣮͢Δඞཁ͕͋Δ
ᶄ ϩάऩूͲ͏͢ΔΜͩࠈ ͦΜͳ͋ͳͨʹɿؤு࣮ͬͯ or ۚͷؙ • ؤு࣮ͬͯ • ֤ϚΠΫϩαʔϏεؒͷϦΫΤετʹUUIDΛ༩ͯ͠௨৴Λߦ͏͜ͱʹΑΓ ͋ͱͰ௨৴ܦ࿏ΛௐΒΕΔΑ͏ʹ͢Δ
• ۚͷؙ • ্هͷػೳΛఏڙͯ͘͠ΕͯΔSaaS(AWS X-Ray)Λ͏
ᶅ ࠷దͳݴޠͰ࣮ͨ͘͠ͳͬͯ͘Δࠈ ͦΜͳ͋ͳͨʹɿզຫ͢Δ ࠷దͳݴޠͰͷ࠶࣮ϚΠΫϩαʔϏεԽ͕ࡁΜͰ͔Β ϚΠΫϩαʔϏεԽͱ࠶࣮ͱಉ࣌ʹߦ͏ͱઈରʹऴΘΒͳ͍ ʮRuby͍͠ܕͳ͍͠GoͰॻ͖͑ͨ͘ͳ͍ʁʯ
ᶆ JOIN, τϥϯβΫγϣϯ, ֎෦ࢀর੍͑ͳ͍ࠈ • DBΛ͚Δͱ͍͏͜ͱࠓ·ͰͷਓྨͷӥஐΛࣺͯΔͱ͍͏͜ͱ • ҟͳΔDBಉ࢜ͷJOINͰ͖ͳ͍͠ɺτϥϯβΫγϣϯషΕͳ͍ɺ ֎෦ࢀর੍͑ͳ͍ •
ͱ͍͑σʔλෆ߹Λى͜͢Θ͚ʹ͍͔ͳ͍ͷͰαʔϏεؒ௨৴ͷҝͷผͷΈ Λ༻ҙ͢Δඞཁ͕͋Δ • API callʁ HTTPԆͯͳ͘ͳ͍ʁ • ඇಉظॲཧʁ σʔλෆ߹ͷՄೳੑ͋ΔΑͶʁ • ͜͜ཁ݅ͱʹΒΊͬͯ͜͠ͲͪΒ͕ྑ͍ͷ͔அ͢Δඞཁ͕͋Δ • Ԇͤ͞ΒΕͳ͍͠ෆ߹ࠔΔ௨৴͕͋Δ߹ಉҰαʔϏεʹ ஔ͍͓͔ͯ͘͠ͳ͍
ᶆ JOIN, τϥϯβΫγϣϯ, ֎෦ࢀর੍͑ͳ͍ࠈ ͦΜͳ͋ͳͨʹɿؤு࣮ͬͯ • ͜͜ؤுΔ͔͠ͳ͍ • ࣗͷͱ͜Ζͷ߹ •
API call → ϨεϙϯεJSONܗࣜͰͳ͘protobufܗࣜͰ௨৴ • ඇಉظॲཧ → Cloud Pub/SubΛͬͯpub/subͰΓऔΓ • payloadͷserializeAPI callͱಉ༷ͷprotobufܗࣜͰߦͳ͍ͬͯΔ pub/subɾɾɾ1ݸͷpublisherͱNݸͷsubscriber͕ඇಉظతʹΓͱΓΛ͢ΔΈɻCloud Pub/SubͦͷSaaS protobufɾɾɾσʔλࣗମόΠφϦͰૹ৴࣌/ड৴࣌ʹserialize/deserializeΛߦ͏ɻJSONͱͷҧ͍ܕ͕͍ͭͯΔ
ᶇ ϙϦϞʔϑΟοΫςʔϒϧࠈ • ϚΠΫϩαʔϏεΓग़͕࢝͠·ͬͯޙ… • ʮ͋Εɺλά͕هࣄ͚ͩ͡Όͳͯ͘Ϣʔβʔʹඥ͍ͮͯΔͧ…ʁʯ ࣌ؒͳ͚Εskip
Ϣʔβʔ هࣄ Organization λά ετοΫ γεςϜ֓ཁਤɹʙ֬ఆ͍ͯ͠Δະདྷʙ Job
Ϣʔβʔ هࣄ Organization λά ετοΫ γεςϜ֓ཁਤɹʙ֬ఆ͍ͯ͠Δະདྷʙ Job
ᶇ ϙϦϞʔϑΟοΫςʔϒϧࠈ • Ϣʔβʔొ͢Δͱ͖ʹهࣄαʔϏεϦΫΤετ͠ͳ͍ͱ͍͚ͳ͍σΟετϐΞͷੜ • ʮهࣄλάʯςʔϒϧͱʮϢʔβʔλάʯςʔϒϧʹ͚ͯɺͦΕͧΕͷϚΠΫϩαʔϏ εʹ࣋ͨͤΔ • ݱ࣮ͷαʔϏεͰେͳʹͳΔͷͰશ෦͚Δͷۤߦofۤߦ •
͚Δඞཁͷ͋Δσʔλͱ͚ͳ͍͍ͯ͘σʔλΛਫ਼ࠪ͠ͳ͕ΒਐΊ͍͖ͯ͘
ᶇ ϙϦϞʔϑΟοΫςʔϒϧࠈ • Ϣʔβʔొ͢Δͱ͖ʹهࣄαʔϏεϦΫΤετ͠ͳ͍ͱ͍͚ͳ͍σΟετϐΞͷੜ • ʮهࣄλάʯςʔϒϧͱʮϢʔβʔλάʯςʔϒϧʹ͚ͯɺͦΕͧΕͷϚΠΫϩαʔϏ εʹ࣋ͨͤΔ • ݱ࣮ͷαʔϏεͰେͳʹͳΔͷͰશ෦͚Δͷۤߦofۤߦ •
͚Δඞཁͷ͋Δσʔλͱ͚ͳ͍͍ͯ͘σʔλΛਫ਼ࠪ͠ͳ͕ΒਐΊ͍͖ͯ͘ ͦΜͳ͋ͳͨʹɿؤு࣮ͬͯ
ᶈ Ϩίʔυอଘ࣌ͷؔ࿈ςʔϒϧߋ৽callback֎͢ࠈ • ͦΕͧΕͷϚΠΫϩαʔϏε͕ࣗΦʔφʔγοϓΛ͍࣋ͬͯΔςʔϒϧ͚ͩૢ࡞ͯ͠΄ ͍͠ • Ϩίʔυ͕আ͞ΕͨΒࢠϨίʔυҰॹʹআ͢Δ or ֎෦Ωʔͷͱ͜ΛNULLʹ͢Δ •
Φʔφʔγοϓ֎ͷϨίʔυΛมߋ͍ͨ͠߹ଟʑ͋Δ • ී௨Ͱ͋ΕO/R mapperwebϑϨʔϜϫʔΫ͕͍͍ײ͡ʹͬͯ͘ΕΔػೳΛ ࠶࣮͢Δඞཁ͕͋Δ ࣌ؒͳ͚Εskip
ᶈ Ϩίʔυอଘ࣌ͷؔ࿈ςʔϒϧߋ৽callback֎͢ࠈ • ͦΕͧΕͷϚΠΫϩαʔϏε͕ࣗΦʔφʔγοϓΛ͍࣋ͬͯΔςʔϒϧ͚ͩૢ࡞ͯ͠΄ ͍͠ • Ϩίʔυ͕আ͞ΕͨΒࢠϨίʔυҰॹʹআ͢Δ or ֎෦Ωʔͷͱ͜ΛNULLʹ͢Δ •
Φʔφʔγοϓ֎ͷϨίʔυΛมߋ͍ͨ͠߹ଟʑ͋Δ • ී௨Ͱ͋ΕO/R mapperwebϑϨʔϜϫʔΫ͕͍͍ײ͡ʹͬͯ͘ΕΔػೳΛ ࠶࣮͢Δඞཁ͕͋Δ ͦΜͳ͋ͳͨʹɿؤு࣮ͬͯ
ᶉ Ҡߦظؒͷίʔυڞ༗Ͳ͏͢Δ͔ࠈ • ϚΠΫϩαʔϏεԽʹ͋ͨͬͯผϦϙδτϦʹίʔυΛҠ͍ͯ͘͠ඞཁ͕͋Δ • Ͱػೳ։ൃνʔϜΰϦΰϦػೳ࡞ͬͯΔͷͰҠͦ͏ʹҠͤͳ͍
ᶉ Ҡߦظؒͷίʔυڞ༗Ͳ͏͢Δ͔ࠈ • ϚΠΫϩαʔϏεԽʹ͋ͨͬͯผϦϙδτϦʹίʔυΛҠ͍ͯ͘͠ඞཁ͕͋Δ • Ͱػೳ։ൃνʔϜΰϦΰϦػೳ࡞ͬͯΔͷͰҠͦ͏ʹҠͤͳ͍ ͦΜͳ͋ͳͨʹɿ͕ΜΔ 1. ϞϊϦγοΫͳΞϓϦέʔγϣϯʹϚΠΫϩαʔϏεʹରԠ͢ΔॲཧΛߦ͏ ΫϥεΛ࡞࣮ͬͯΛҠ͍ͯ͘͠(·ͩಉ͡ϦϙδτϦ)
2. ϚΠΫϩαʔϏεʹରԠ͢ΔॲཧΛॻ͍ͨΫϥεΛڞ௨ϥΠϒϥϦԽ • ػೳ։ൃνʔϜͦͷϥΠϒϥϦʹมߋΛՃ͑ͯΒ͏Α͏ʹ͢Δ 3. ৽͘͠ϦϙδτϦΛ࡞Γڞ௨ϥΠϒϥϦΛͬͯϚΠΫϩαʔϏεΛ࡞͍ͬͯ͘ 4. ϞϊϦε͔Βஈ֊తʹڞ௨ϥΠϒϥϦΛൈ͍͍͖ͯ࠷ऴతʹϥΠϒϥϦফ໓
ᶊ ΫϥΠΞϯταΠυԿͱ௨৴͢Ε͑͑Μࠈ • ϚΠΫϩαʔϏεԽͯ͠όοΫΤϯυ͞Εͯ៉ྷʹͳͬͨ • ΫϥΠΞϯτΞϓϦΛಈ͔ͨ͢Ίʹͨ͘͞Μͷαʔόͱ௨৴Λ͠ͳ͍ͱ ͍͚ͳ͘ͳͬͨ • ΞϓϦΤϯδχΞɺౖΓڰ͏
ᶊ ΫϥΠΞϯταΠυԿͱ௨৴͢Ε͑͑Μࠈ ͦΜͳ͋ͳͨʹɿBackend For Frontend(BFF) • ΫϥΠΞϯτͱόοΫΤϯυͷதؒཧ৬తͳଘࡏ(proxy server) • ΫϥΠΞϯτ͔Βཉ͍͠ใͷϦΫΤετ͕ಧ͘ͱόοΫΤϯυ(ϚΠΫϩ
αʔϏε)ʹ͍߹ΘͤͯΑ͠ͳʹσʔλΛऔ͖ͬͯͯ͘ΕΔ • ΫϥΠΞϯτBFFͱ௨৴͢Δ͚ͩͰΑ͘ͳΔ • ΫϥΠΞϯτͱBFFGraphQLͰΓऔΓ͢Δ͜ͱ͕ଟ͍ؾ͕͢Δʁ GraphQLɾɾɾ୯ҰͷΤϯυϙΠϯτʹରͯ͠POSTΛߦ͍ɺbodyʹΫΤϦΛ༩͢Δ͜ͱʹΑΓཉ͍͠σʔλΛ ɹɹɹɹɹɹɹऔಘͰ͖ΔΑ͏ʹ͢ΔΈɻJSONͱҧͬͯܕ͕͍ͭͯΔͷ͕خ͍͠ɻ
ᶋ ͦͦυϝΠϯڥքมΘΔࠈ • ϚΠΫϩαʔϏεΓग़࢝͠·ͬͯिؒޙ • ʮJobͷࢪࡦͱͯ͠هࣄʹJobΛඥ͚͍ͮͨͰ͢ʯ
Ϣʔβʔ هࣄ Organization λά ετοΫ γεςϜ֓ཁਤɹʙ֬ఆ͍ͯ͠Δະདྷʙ Job
Ϣʔβʔ هࣄ Organization λά ετοΫ γεςϜ֓ཁਤɹʙ֬ఆ͍ͯ͠Δະདྷʙ Job
ᶋ ͦͦυϝΠϯڥքมΘΔࠈ • ϚΠΫϩαʔϏεΓग़࢝͠·ͬͯिؒޙ • ʮJobͷࢪࡦͱͯ͠هࣄʹJobΛඥ͚͍ͮͨͰ͢ʯ • ຊJob୯ମͰϚΠΫϩαʔϏεͱͯ͠Γ͚Δ͖ͩͬͨ • ϚΠΫϩαʔϏεΓग़͠ͷஈ֊ͰఆͰ͖ͳ͍͜ͱ
ᶋ ͦͦυϝΠϯڥքมΘΔࠈ • ϚΠΫϩαʔϏεΓग़࢝͠·ͬͯिؒޙ • ʮJobͷࢪࡦͱͯ͠هࣄʹJobΛඥ͚͍ͮͨͰ͢ʯ • ຊJob୯ମͰϚΠΫϩαʔϏεͱͯ͠Γ͚Δ͖ͩͬͨ • ϚΠΫϩαʔϏεΓग़͠ͷஈ֊ͰఆͰ͖ͳ͍͜ͱ
ͦΜͳ͋ͳͨʹɿ1ճϞϊϦεʹ͚ͬͭͯ͘͠࠶Γग़͠ Railsͷ࡞ऀ DHH͕ӡӦͯ͠ΔαʔϏε basecamp3ճॻ͖ͯ͠ΔΒ͍͠
ᶌ ϚΠΫϩαʔϏε͚͗ͯ͢͠·ͬͨࠈ • ϚΠΫϩαʔϏεʹ͚·ͬͨ݁͘Ռɺੜ࢈ੑ͕͔ͳΓ্͕ͬͨ • ΤϯδχΞ2ਓͰ1ͭͷϚΠΫϩαʔϏεΛݟΔ·Ͱʹ • ηΩϡϦςΟύονΛͯΕΔαʔϏε͕ग़ͯ͘Δ • ਓ͕গͳ͍ɺαʔϏεؒͰίʔυʹ͕ࠩग़ͯ͠·͏
• ಛఆͷσβΠϯύλʔϯଟ༻͢ΔϚϯͱ͔ ref: https://speakerdeck.com/ota42y/how-should-we-face-with-microservices-wo- hamaikurosabisutodouxiang-kihe-ubekika
ᶌ ϚΠΫϩαʔϏε͚͗ͯ͢͠·ͬͨࠈ ͦΜͳ͋ͳͨʹɿਓΛ૿͢ • Γ߹͍Λwanted͠·͠ΐ͏ ͓͢͢ΊͷαʔϏεͪ͜Βɿhttps://www.wantedly.com/
·ͱΊ ϞϊϦγοΫαʔϏε͔ΒͷϚΠΫϩαʔϏεԽ ࢮ͵΄Ͳߟ͑Δ͜ͱ͋Δ͔ΒؾΛ͚ͭΑ͏ͳ Ͱ͏·͘ར༻͢Ε ʮαʔϏε͕ෳࡶ͗ͯ͢։ൃͭΒ͍ʯ͔Β ʮαʔϏεΛ։ൃ͢ΔਓΓͳͯͭ͘Β͍ʯʹ εέʔϧՄೳͳ(ۚͰղܾͰ͖Δ)ͱϘτϧωοΫΛҠͤΔ
·ͱΊ ϞϊϦγοΫαʔϏε͔ΒͷϚΠΫϩαʔϏεԽ ࢮ͵΄Ͳߟ͑Δ͜ͱ͋Δ͔ΒؾΛ͚ͭΑ͏ͳ ޙͷࣗͷੜ࢈ੑΛ֬อ͢ΔͨΊʹ֤Ґ͕Μ͍͖ͬͯ·͠ΐ͏ Ͱ͏·͘ར༻͢Ε ʮαʔϏε͕ෳࡶ͗ͯ͢։ൃͭΒ͍ʯ͔Β ʮαʔϏεΛ։ൃ͢ΔਓΓͳͯͭ͘Β͍ʯʹ εέʔϧՄೳͳ(ۚͰղܾͰ͖Δ)ͱϘτϧωοΫΛҠͤΔ