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
弁護士ドットコムにおけるマイクロサービス化の構成要素について
Search
nolick1219
March 15, 2018
Technology
0
310
弁護士ドットコムにおけるマイクロサービス化の構成要素について
nolick1219
March 15, 2018
Tweet
Share
More Decks by nolick1219
See All by nolick1219
オンラインコミュニティをいつ作るの? 今でしょ!
nolick1219
0
510
肩書きに頼らないコミュニケーション
nolick1219
0
60
陰キャのための場づくり入門
nolick1219
0
240
なんとなくアジャイル開発してるデザイナーさんのためのはじめてのアジャイル開発
nolick1219
0
180
philosophy_introduction_20180924.pdf
nolick1219
0
330
Ruby歴2年の人が考えた 最短Rails習得法
nolick1219
0
490
introduction to React Native Animated
nolick1219
0
600
昨日見つけた男心をくすぐるデバッグ用Gem三選
nolick1219
1
240
Other Decks in Technology
See All in Technology
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
200
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
780
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.4k
強いチームと開発生産性
onk
PRO
36
12k
Storybook との上手な向き合い方を考える
re_taro
5
1.7k
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
120
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
190
Zennのパフォーマンスモニタリングでやっていること
ryosukeigarashi
0
420
Engineer Career Talk
lycorp_recruit_jp
0
200
アプリエンジニアのためのGraphQL入門.pdf
spycwolf
0
110
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
270
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
169
14k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
How GitHub (no longer) Works
holman
310
140k
Designing for humans not robots
tammielis
250
25k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
380
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Faster Mobile Websites
deanohume
305
30k
GraphQLとの向き合い方2022年版
quramy
43
13k
KATA
mclloyd
29
14k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Statistics for Hackers
jakevdp
796
220k
Transcript
หޢ࢜υοτίϜʹ͓͚Δ ϚΠΫϩαʔϏεԽͷ ߏཁૉʹ͍ͭͯ ࡈ౻ل ग़ு൛1)1ษڧձˏ౦ژJO1)1FS,BJHJ
ࡢ6݄ΑΓɺหޢ࢜υοτίϜͷ ϚΠΫϩαʔϏεԽ͕ͻͬͦΓͱ ਐߦதͰ͢ (ࢲˠࡢ10݄ʹδϣΠϯ)
എܠ • 10Ҏ্ͻͨ͢Βػೳ͕Ճ͞ΕΔ • ڊେͳϞϊϦγοΫΞϓϦ • ٕज़తෛ࠴ • ձ͕ࣾࠇࣈԽͨ͠ͷͰٕज़తෛ࠴Λฦͦ͏!(খ ฒײ)
։ൃ
Swagger • RESTful APIͷυΩϡϝϯτɺαʔόɺΫϥΠ ΞϯτίʔυɺΤσΟλɺϞοΫαʔόΛ ఏڙ͢ΔϑϨʔϜϫʔΫ
swagger-codegen • SwaggerͰઃܭͨ͠APIΛݩʹΫϥΠΞϯτ ίʔυΛࣗಈੜ • HTTP௨৴(PHP: Guzzle) • ඇಉظॲཧ •
ύϥϝʔλɺϨεϙϯενΣοΫ • ΤϥʔϋϯυϦϯά
ઃܭ(ཧ) • BFF(Backend For Frontend) • ϖʔδσόΠε͝ͱʹඞཁͳใΛ֤ϚΠΫϩαʔϏε ʹ͍߹Θͤϑϩϯτʹฦ͢ϨΠϠʔ • ※ϚΠΫϩαʔϏεΛ៉ྷͳRESTful
APIʹอͯΔ
ઃܭ(ݱ࣮) • NBFF(ͳΜͪΌͬͯBackend For Frontend) • কདྷతʹղফͤ͞Δ༧ఆ τοϓϖʔδ ๏૬ஊϚΠΫϩαʔϏε Ұཡ
ݕࡧ τοϓϖʔδ༻ "1* Ұཡ༻ "1* ݕࡧ༻ "1* χϡʔεϚΠΫϩαʔϏε τοϓϖʔδ༻ "1*
Πϯϑϥ
Docker • ίϯςφܕܰྔԾԽٕज़ • ΞϓϦ࣮ߦڥߏங͕ඇৗʹ༰қʹ • ՝ͨ͘͞Μ • εέʔϦϯά •
ࢮ׆ࢹ • σϓϩΠ…
Kubenetes • ίϯςφԽ͞ΕͨΞϓϦέʔγϣϯͷσϓϩΠ ઃఆཧΛࣗಈԽ͢ΔίϯςφΦʔέετϨʔ γϣϯπʔϧ • VM, ϩʔυόϥϯαʔ,ωοτϫʔΫઃఆΛ KubenetesΦϒδΣΫτͱͯ͠நԽ •
KubenetesΦϒδΣΫτYAMLͰએݴతʹઃఆ • ઃఆ༰ʹैͬͯKubernetesΫϥελʹΞϓϦ έʔγϣϯΛల։
Pod • ϘϦϡʔϜͱωοτϫʔΫΛڞ༗͢Δ1ͭҎ্ ͷίϯςφͷू߹(σϓϩΠͷ࠷খ୯Ґ)
Deployment • ՔಇதͷPodΛఆٛ • ϩʔϦϯάΞοϓσʔτ/σϓϩΠ
Service/Ingress
Helm • KubernetesͷύοέʔδϚωʔδϟ
σϓϩΠ(GitLab CI) • ίʔυ͕push͞ΕΔͱDockerΠϝʔδ͕ੜ ͞ΕDocker Registryʹొ • ϦϙδτϦʹಛఆͷλά͕push͞ΕΔͱɺ kubenetes͕DockerΠϝʔδ͔ΒΞϓϦέʔ γϣϯΛσϓϩΠ
• ݁Ռɺ։ൃऀΠϯϑϥΛҙࣝͤͣʹ։ൃ(Ͱ ͖ͨΒ͍͍ΑͶ…)
ͦͷଞ
ͦͷଞ • ࢹπʔϧ: Prometheus • ϩάू: fluentd • ϩάදࣔ: Stackdriver
• αʔϏεϝογϡ: linkerd(Α͘Θ͔Βͳ͍)
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠!