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
【EC/CRM基盤開発】 prismatix事業部 Devチーム(サーバーサイドエンジニア)の...
Search
Keiichi Nomura
December 09, 2022
Technology
0
1.3k
【EC/CRM基盤開発】 prismatix事業部 Devチーム(サーバーサイドエンジニア)の紹介 / Prismatix server side engineer job introduction
EC/CRM に特化したAPIプラットフォームを提供する prismatix 開発・運用の仕事内容について、主にサーバーサイドエンジニアの視点で紹介をさせていただきます。
Keiichi Nomura
December 09, 2022
Tweet
Share
More Decks by Keiichi Nomura
See All by Keiichi Nomura
チーム開発のふりかえり2024 #devio2024
k1style
0
250
ECサイト向け決済機能の開発で学んだ外部決済サービスの活用ポイント
k1style
1
1.8k
開発チームリーダーとしてやってきたことのふりかえり
k1style
0
1.3k
外部決済サービスを利用する上での脆弱ポイントと対策 / Vulnerable points and countermeasures for using external payment services
k1style
0
1.7k
外部決済サービスを利用した開発の反省と改善 #devio2021 / Introspection and Improvement of Development with External Payment Services
k1style
0
1.6k
Developers.IO 2020 Connect Day5 ECサイトの決済システムを作るなら知っておきたいこと / Developers.IO 2020 Connect Day5 Payment Development Flow With E-commerce Site
k1style
0
4.5k
サーバーレスアーキテクチャでサクッと作るアイマスbot
k1style
1
940
私が考えるAWSを使ったアイマスHack
k1style
1
1k
Other Decks in Technology
See All in Technology
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
19k
AIエージェント元年@日本生成AIユーザ会
shukob
1
240
どちらかだけじゃもったいないかも? ECSとEKSを適材適所で併用するメリット、運用課題とそれらの対応について
tk3fftk
2
220
自分だけの仮想クラスタを高速かつ効率的に作る kubefork
donkomura
0
110
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
8
750
日経のデータベース事業とElasticsearch
hinatades
PRO
0
260
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
200
[OpsJAWS Meetup33 AIOps] Amazon Bedrockガードレールで守る安全なAI運用
akiratameto
1
110
JAWS DAYS 2025 アーキテクチャ道場 事前説明会 / JAWS DAYS 2025 briefing document
naospon
0
2.5k
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
320
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
350
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
9
1.7k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
244
12k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Documentation Writing (for coders)
carmenintech
67
4.6k
The Language of Interfaces
destraynor
156
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Why Our Code Smells
bkeepers
PRO
336
57k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
The Invisible Side of Design
smashingmag
299
50k
4 Signs Your Business is Dying
shpigford
182
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Transcript
prismatixࣄۀ෦ͷ։ൃʹ͍ͭͯհ 2022/09/27 prismatixࣄۀ෦ ଜܒҰ
ࣗݾհ ଜ ܒҰ Ϋϥεϝιου prismatix ࣄۀ෦ prismatix จ/ܾࡁαʔϏε୲
ࠓճ͓͢Δ͜ͱ • prismatix ࣄۀ෦ͷ͝հ • prismatix ͷٕज़ελοΫ • prismatix
ΛͲͷΑ͏ʹ։ൃ͍ͯ͠Δ͔ • prismatix ͷ։ൃͰମݧͰ͖Δ͜ͱ • ࢲ͕ײ͡Δ prismatix ։ൃͷ՝ • Ұॹʹ՝ղܾʹऔΓΜͰ͘ΕΔํʹདྷͯ΄͍͠ʂ
prismatixͱʁ
QSJTNBUJYͱʁ https://prismatix.jp/ • EC / CRMಛԽܕϓϥοτϑΥʔϜ • ΫϥεϝιουͷB2BࣗࣾαʔϏε •
ΤϯήʔδϝϯτίϚʔε • ܕίϯαϧςΟϯά
&$$3.ಛԽܕϓϥοτϑΥʔϜ Λ͑Δ൚༻"1*Λඋ͓͑ͯΓɺ֤اۀಠࣗͷ&$αΠτɺ$3.ͷߏங ͕Մೳ
QSJTNBUJYࣄۀ෦ͱʁ prismatix ͷ։ൃɾӡӦΛ͢Δ෦ॺ ʮprismatix ࣄۀ෦ʯ
QSJTNBUJYࣄۀ෦ͷνʔϜߏ https://dev.classmethod.jp/articles/pz-team-structure/ • Dev • Kiban • SRE •
CS (Customer Support) • ৽نϓϩμΫτ։ൃ • ςϯϓϨʔτ։ൃ • SI (System Integration) • ίϯαϧɾϚʔέɾӦۀ • ۀվળ • γε • ૯ • Ϙʔυ
QSJTNBUJYࣄۀ෦ͷνʔϜߏ https://dev.classmethod.jp/articles/pz-team-structure/ • Dev • Kiban • SRE •
CS (Customer Support) • ৽نϓϩμΫτ։ൃ • ςϯϓϨʔτ։ൃ • SI (System Integration) • ίϯαϧɾϚʔέɾӦۀ • ۀվળ • γε • ૯ • Ϙʔυ ຊDevνʔϜͷ͕த৺
prismatix ͷٕज़ελοΫ
QSJTNBUJYͷΞʔΩςΫνϟ • γϯάϧςφϯτ • ඞཁʹԠ͓ͯ͡٬༷ʹಠཱͨ͠ෳͷڥΛఏڙ • ϚΠΫϩαʔϏε • αʔϏεࢦΞʔΩςΫνϟ
(SOA) ʹج͍ͯɺෳͷαʔϏείϯϙʔωϯ τΛఏڙ • API ͷίϛϡχέʔγϣϯύλʔϯ • HTTPϝοηʔδϯάɺPub-Subϝοηʔδϯά • ετϨʔδʹେྔͷϦΫΤετσʔλΛஔ্ͨ͠Ͱ࣮ࢪ͢Δඇಉظॲཧʹ ରԠ
QSJTNBUJYͷٕज़ελοΫ ɹɹ+BWB ɹɹ4QSJOH#PPU ɹɹEPDLFS ɹɹ&MBTUJDTFBSDI ɹɹ(JU)VC ɹɹ$JSDMF$* ɹɹ*OUFMMJ+*%&" &$4
'BSHBUF 3%4 %ZOBNP%# &MBTUJ$BDIF ,JOFTJT 424 4/4 $MPVE8BUDI Development Infrastructure Monitoring / Noti fi cation
prismatix ͷ։ൃͷྲྀΕ
։ൃͷਐΊํ • 2िؒεϓϦϯτͷΞδϟΠϧ։ൃ • ࠷2िؒͰ৽όʔδϣϯΛϦϦʔε • શମͷཁPBL(ϓϩμΫτόοΫϩά)Ͱཧ • ཁҰͭҰͭΛPBI(ϓϩμΫτόοΫϩάΞΠςϜ)ͱͯ͠ν
έοτԽ • PBIͷ༰͔Βɺઃܭʙςετɾސ٬͚υΩϡϝϯτ࡞ ͳͲඞཁͳ࡞ۀΛνʔϜͰٞ͠ղ
։ൃͷਐΊํ
։ൃελΠϧ wϦϞʔτϫʔΫओମ w౦ژɾࡳຈɾԬΛத৺ʹɺ༷ʑͳॴͰۈ w4MBDL(PPHMF.FFUΛϑϧ׆༻ͯ͠ίϛϡχέʔγϣϯΛऔ Δ wφϨοδ/PUJPO શࣾ FTBJP ෦
Λར༻ͯ͠ڞ༗
prismatix ͷ։ൃͰମݧͰ͖Δ͜ͱ
QSJTNBUJYͷ։ൃͰମݧͰ͖Δ͜ͱ • ECɾCRMʹඞཁͳػೳཁ͕͔Δ • prismatix ͷػೳΛͲͷΑ͏ʹͬͯΒ͍ͬͯΔ͔ • ސ٬͔ΒͲͷΑ͏ͳػೳ͕ඞཁͱ͞Ε͍ͯΔͷ͔ •
ఏڙ͢Δ֤αʔϏεʹؔ࿈͢Δۀࣝ • ೝূɾೝՄ(OIDC,OAuth2) • ձһɺɺࡏݿɺจɺܾࡁɾɾɾ
QSJTNBUJYͷ։ൃͰମݧͰ͖Δ͜ͱ • APIϓϥοτϑΥʔϜ։ൃͷྲྀΕ͕͔Δ • ͓٬༷ͷཁ͔ΒͲͷΑ͏ͳػೳ͕ඞཁͱͳΔ͔Λཧ͠ɺઃ ܭ͢Δ • prismatix Λར༻͢ΔϑϩϯτΤϯυγεςϜɺprismatix
͕ ར༻͢Δ֎෦αʔϏεަ͑ͨγφϦΦɺॲཧϑϩʔͷઃܭ • API ͷར༻ݖݶϦΫΤετɾϨεϙϯεΠϯλʔϑΣʔεͷఆ ٛ • ඞཁͱͳΔ DB AWS ϦιʔεͳͲΛఆٛ
QSJTNBUJYͷ։ൃͰମݧͰ͖Δ͜ͱ • Java(Spring Boot) Λར༻࣮ͨ͠ɾςετ • ϑΥʔϚολ੩తίʔυղੳΛར༻࣮ͨ͠ϧʔϧͷ౷Ұ • ࣮ͱ߹Θͤͯςετॻ͘ʢϢχοτςετ౷߹ςετ
• ސ٬͚υΩϡϝϯτΛ࣮ͱ߹Θͤͯ࡞ • markdown + Mkdocs Λར༻ͨ͠υΩϡϝϯςʔγϣϯ • Swagger Ͱ API ΠϯλʔϑΣʔεΛެ։
• CircleCIΛར༻ͨࣗ͠ಈςετɾϏϧυ • ίʔυղੳςετͳͲΛࣗಈ࣮ߦɻ͕͋Ε։ൃऀʹ௨ • ͳ͚ΕDockerΠϝʔδυΩϡϝϯτͷϦϦʔε·Ͱ࣮ ࢪ QSJTNBUJYͷ։ൃͰମݧͰ͖Δ͜ͱ
QSJTNBUJYͷ։ൃͰମݧͰ͖Δ͜ͱ • ϚΠΫϩαʔϏεΞʔΩςΫνϟΛѻ͏্Ͱͷ։ൃͷצॴ • จαʔϏεˠܾࡁαʔϏεΛݺͿͳͲෳαʔϏεΛ࿈ܞ͢ Δ߹ͷઃܭ • ଞͷαʔϏεͷॲཧ͕ޭ͍ͯ͠ΔͷʹࣗͷαʔϏεͰॲ ཧࣦഊͨ͠߹ɺଞͷαʔϏεͷεςʔλεิਖ਼͠ͳ͚Ε
͍͚ͳ͍ʢิਖ਼τϥϯβΫγϣϯʣ • ଞͷαʔϏεͷεςʔλε͕มΘͬͨΠϕϯτΛड͚औΓɺࣗ ͷαʔϏε߹ΘͤͯॲཧΛ͢Δ
• ։ൃʹͱͲ·Βͣɺӡ༻͢Δ্Ͱͷߩݙ • ސ٬ڥͰ࣮ࡍʹͲͷΑ͏ʹΞϓϦέʔγϣϯ͕ར༻͞Ε͍ͯ Δͷ͔ΛΔ • ࢹސ٬͔Βͷ͍߹ΘͤΛड͚ɺސ٬ڥͷঢ়گ֬ೝΛ͢ Δ •
ސ٬ڥͷোར༻ϥΠϒϥϦͷ੬ऑੑ͕͋Δ߹ͳͲ • ΞϓϦέʔγϣϯͷϝτϦΫεϩάͳͲௐࠪ͠ɺରԠࡦΛ ݕ౼ QSJTNBUJYͷ։ൃͰମݧͰ͖Δ͜ͱ
• ར༻͢ΔAWSαʔϏεͷ͍ॴ͕ʹͭ͘ • ECS + Fargate Λج൫ͱͨ͠αʔϏεӡ༻ • SNS,
SQS Λར༻ͨ͠ Pub - Sub ϝοηʔδϯά • CloudWatch, S3 + Athena Λར༻ͨ͠ϝτϦΫεɺϩάͳͲͷ ௐࠪ QSJTNBUJYͷ։ൃͰମݧͰ͖Δ͜ͱ
• ϑϧϦϞʔτϫʔΫɾϑϨοΫε • Ոఉͷ͜ͱϓϥΠϕʔτͷ༻ࣄ͜ͳͭͭ͠ࣄ͕Ͱ͖Δ • νʔϜͷίϛϡχέʔγϣϯ͕׆ൃ • νϟοτɾϏσΦձٞͳͲͰੵۃతʹରΛॏͶΔ •
φϨοδڞ༗ੵۃతʹߦ͍ɺνʔϜ։ൃʹߩݙͰ͖Δ QSJTNBUJYͷ։ൃͰମݧͰ͖Δ͜ͱ
ࢲ͕ײ͡Δ։ൃͷ՝
ࢲ͕ײ͡Δ։ൃͷ՝ • ՁΛಧ͚ΒΕΔͷʹɺ࣮ݱ͢Δʹқ͕ߴ͍ͷ͕ଟ͍ • ݱঢ়ͷ࣮͔Βͷมߋ༰қੑ͕͍ • ݹ͔͘Βӡ༻͢ΔαʔϏεಛʹ͜ͷ͕͋Δ • Ͳ͜ʹӨڹ͕͋Δͷ͔ௐࠪʹ࣌ؒΛཁ͢
ࢲ͕ײ͡Δ։ൃͷ՝ • prismatix ༷ʹؔ͢Δ͍߹Θ͕ͤଟ͍ • υΩϡϝϯτʹΓ͍ͨใ͕ཏͰ͖͍ͯΔ͔ʁ • ͲͷΑ͏ͳ༷Ͱ͋Εސ٬͕ར༻͍͔͢͠ʁ •
ސ٬ڥͷࢹͰग़ͨΞϥʔτΛௐͨ݁Ռͳ͍έʔε͕ ଟ͍ • Өڹ͋Δ༰ͳͷ͔͕͔ΔΑ͏ʹɺΞϥʔτϩάͷग़ྗํ ๏ͳͲӡ༻ʹؔΘΔՕॴͷվળݕ౼ • ސ٬ڥͷௐࠪʹͨΔɺຊདྷ༧ఆ͢Δ։ൃʹӨڹ͢Δ
՝ղܾʹ͚ͯ • ՝ೝࣝ͠ɺվળʹ͚ͯಈ͍͍ͯΔ • ςετͷਐΊํΛվળ • εϓϦϯτϓϩδΣΫτ͝ͱͷ;Γ͔͑Γ • ސ٬ސ٬ڥʹؔΘΔνʔϜͱͷίϥϘϨʔγϣϯɺͳͲ
• Ұॹʹ՝ղܾʹߩݙͯ͘͠ΕΔํɺprismatix ΛΑΓྑ͘͠ ͯ͘ΕΔํ͕͍Δͱ৺ڧ͍
·ͱΊ
·ͱΊ wQSJTNBUJYࣄۀ෦Ͱɺ&$$3.ʹಛԽͨ͠"1*ϓϥοτϑΥʔ ϜͱίϯαϧςΟϯάαʔϏεΛఏڙ͠·͢ w%FWνʔϜͰ"1*ϓϥοτϑΥʔϜͷ։ൃɾӡ༻Λ୲͍·͢ w&$$3.ͷۀࣝɺϚΠΫϩαʔϏεͷ։ൃࣝͳͲʹͭ͘ ͜ͱ͕ଟ͍Ͱ͢ wҰॹʹࠓͷ՝ʹऔΓΈɺQSJTNBUJYΛΑΓྑͯ͘͘͠ΕΔํ Λ͓͍ͪͯ͠·͢
None