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
BtoBスタートアップとサーバーレス / Serverless Architecture fo...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yosuke Hizen
August 21, 2018
Technology
2.4k
5
Share
BtoBスタートアップとサーバーレス / Serverless Architecture for a BtoB Startup
Yosuke Hizen
August 21, 2018
More Decks by Yosuke Hizen
See All by Yosuke Hizen
プロダクト開発チームの紹介 / Engineers at HiCustomer
hizeny
6
370k
サーバーレスとスケーラブルなデータ集計 / Aggregate Processing with Serverless
hizeny
2
12k
サーバーレス失敗談 - DynamoDB編 / Serverless Fails
hizeny
13
10k
サーバーレス・スタートアップ / Serverless Startup
hizeny
1
2.7k
Other Decks in Technology
See All in Technology
AI Engineering Summit Tokyo 2026 AIの前に、やることがある 〜医療データ企業の4フェーズ〜
dtaniwaki
0
1.8k
Agentic ERPをどう設計するか ー 受発注エージェントを動かす、現場の知見と設計思想ー
recerqainc
1
1.5k
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
750
Chart.js が簡単に使えるようになっていたので OGP 画像生成に使った話
kamekyame
0
160
Sony_KMP_Journey_KotlinConf2026
sony
2
210
実装は速くなった、レビューはどうする? ― 自身のレビューをAIで再現させるサーヴァントエンジニアリングのすゝめ / Implementation got faster. So what about reviews? — An invitation to Servant Engineering: Recreating your own code reviews with AI
nrslib
6
3.7k
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
7
200
関西に縁あるMicrosoft MVPsが語るCopilotの未来
kasada
0
1.1k
速さだけじゃない! VoidZero ツールが移行先に選ばれる理由
mizdra
PRO
6
750
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
180
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
1.5k
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
180
Featured
See All Featured
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
Typedesign – Prime Four
hannesfritz
42
3.1k
Practical Orchestrator
shlominoach
191
11k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
390
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
190
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
BBQ
matthewcrist
89
10k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
130
Transcript
BtoBελʔτΞοϓͱ αʔόʔϨε B2BελʔτΞοϓΤϯδχΞφΠτ 2018.08.21 HiCustomer inc. ංલ༸༎ @hizeny
• ංલ༸༎ • @hizeny • ڞಉۀऀ VP of Engineering •
ࢁͳͲΛΓ·͢
HiCustomer inc. • 201712݄ۀ • ϑϧλΠϜ3ਓ / ۀҕୗ + ෭ۀ6ਓ
• ϏδωεαΠυ: 2ਓ • σβΠφʔ: 1ਓ • ΤϯδχΞ: 6ਓ • https://hicustomer.jp/
ΧελϚʔαΫηεͷ՝ʹ αʔόʔϨεΞʔΩςΫνϟͰऔΓΉ اۀͰ͢ ɺ
࣍ 1. αʔϏεͷѻ͏υϝΠϯ • ΧελϚʔαΫηεͱ • ϓϩμΫτͷѻ͏ϏδωεϩδοΫ 2. υϝΠϯͷಛੑͱٕज़తΞϓϩʔν •
ॲཧͷྲྀΕ • ߟྀ͖͢͜ͱ • ΞʔΩςΫνϟ • ։ൃݴޠ • ࠓޙͷ՝ • (͓·͚) ౿Έൈ͍ͨαʔόʔϨεΞϯνύλʔϯ
αʔϏεͷѻ͏υϝΠϯ ͳʹΛ࣮ݱ͍ͨ͠ͷ͔
ΧελϚʔαΫηεͱ • ಋೖ࣌ʹιϑτΣΞͷॴ༗ݖΛങ͍औΔ • ΦϯϓϨϛεͰӡ༻ SaaSͷొʹΑΓιϑτΣΞͷఏڙํ๏ͷมԽ • ఆظߪಡ or ैྔ՝ۚ
• αʔϏεͱͯ͠ඞཁͳͱ͖ʹඞཁͳ͚ͩར༻ SaaSҎલ SaaSҎޙ
• ॳظ։ൃ࣌ʹҰؾʹ࡞ΓࠐΉ • ΥʔλʔϑΥʔϧ ։ൃख๏มԽ • ܧଓతΠϯςάϨʔγϣϯ/σϦόϦ • εΫϥϜ /
ΞδϟΠϧ ΧελϚʔαΫηεͱ SaaSҎલ SaaSҎޙ
• ചΓ্͛ͷେ෦ॳظಋೖඅ༻͕ΊΔ • ϚʔέςΟϯά / ηʔϧεʹྗ ൢചઓུಉ༷ʹมԽ • ܧଓར༻/ར༻֦େʹΑΓചΓ্͛ΛੵΈ্͛Δ •
Λ͗ɺ༗ޮ׆༻Λଅ͢͜ͱ͕ॏཁ ΧελϚʔαΫηεͱ SaaSҎલ SaaSҎޙ
ΧελϚʔαΫηεͱɺ ʮΛ͗ɺ༗ޮ׆༻Λଅ͢ʯ׆ಈͷ͜ͱ ൢചઓུಉ༷ʹมԽ ΧελϚʔαΫηεͱ HiCustomerΧελϚʔαΫηεʹඞཁͳใΛऩू͠ɺ ਖ਼͍͠λΠϛϯάͰਖ਼͍͠ΞΫγϣϯΛߦ͏ͨΊͷϓϥοτϑΥʔϜ
࣮ݱ͍ͨ͠ϏδωεϩδοΫ HiCustomerͷ3ͭͷओཁ֓೦ 1. ΧελϚʔ • (BtoB) SaaSϓϩμΫτΛར༻͍ͯ͠Δސ٬اۀ 2. εςʔδ •
ϓϩμΫτͷར༻ϑΣʔζ • e.g. τϥΠΞϧ / ΦϯϘʔσΟϯά / ܖߋ৽લͳͲ 3. ϔϧεείΞ • ΧελϚʔ͕ϓϩμΫτΛ׆༻Ͱ͖͍ͯΔ͔ͷࢦඪ • ֤εςʔδʹ͍ͭͯఆٛͨ͠ཧతͳΧελϚʔͷৼΔ͍ʹରͯ͠Ͳͷఔ͍͔ۙ͠ʹΑΓධՁ͢Δ • e.g. Good / Normal / Bad
࣮ݱ͍ͨ͠ϏδωεϩδοΫ • SaaSϓϩμΫτͷΧελϚʔΛϓϩμΫτͷར༻ϩά͔Βεςʔδʹྨ • εςʔδ͝ͱʹఆٛͨ͠ج४ΛͱʹϔϧεείΞΛࢉग़ • ࢉग़͞Εͨεςʔδ / ϔϧεείΞΛͱʹରԠͷ༏ઌॱҐΛܾఆ •
εςʔδ / ϔϧεείΞͷͱ࣮ࡍͷ/ར༻֦େΛরΒ͠߹ΘͤͯϧʔϧΛνϡʔχϯά
࣮ݱ͍ͨ͠ϏδωεϩδοΫ • SaaSϓϩμΫτͷΧελϚʔΛϓϩμΫτͷར༻ϩά͔Βεςʔδʹྨ • εςʔδ͝ͱʹఆٛͨ͠ج४ΛͱʹϔϧεείΞΛࢉग़ • ࢉग़͞Εͨεςʔδ / ϔϧεείΞΛͱʹରԠͷ༏ઌॱҐΛܾఆ •
εςʔδ / ϔϧεείΞͷͱ࣮ࡍͷ/ར༻֦େΛরΒ͠߹ΘͤͯϧʔϧΛνϡʔχϯά
υϝΠϯͷಛੑͱΞϓϩʔν ϏδωεϩδοΫΛͲͷΑ͏ʹ࣮ݱ͢Δ͔
ॲཧͷྲྀΕ • ֤ࣾͷSaaSϓϩμΫτ͔ΒૹΒΕͯ͘ΔΧελϚʔͷߦಈϩάΛऩू͢Δ • ʮۙnؒͰΠϕϯτA͕mճҎ্ߦΘΕͨʯʮܖߋ৽·ͰnҎʯͳͲͷϧʔϧʹج͖ͮΧελϚʔͷ εςʔλε (είΞ/εςʔδ) Λࢉग़͢Δ • ΧελϚʔͷεςʔλεΛμογϡϘʔυͰՄࢹԽ͢Δ
ߟྀ͖͢͜ͱ αʔϏεͷಛੑ: • ࣌ܥྻσʔλ (ϓϩμΫτͷར༻ϩά) ΛΠϕϯτυϦϒϯʹѻ͏ • Πϕϯτͷछྨ͕ΫϥΠΞϯτʹΑΓେ͖͘ҟͳΔ ੑೳཁ݅: •
ϩάऩूͷՄ༻ੑ/Ϩεϙϯε͕ͬͱॏཁ • ಋೖઌϓϩμΫτنʹΑΓτϥϑΟοΫͷٸ૿͕ߟ͑ΒΕΔ
ΞʔΩςΫνϟ ଟ༷ͳΠϕϯτσʔλΛѻ͏ͨΊͷΞϓϩʔν • SaaSϓϩμΫτ͝ͱʹҟͳΔσʔλܕΛѻ͑ΔΑ͏ɺσʔλετΞʹDynamoDBΛ࠾༻ • σʔλͷॻ͖ࠐΈΛड͚ͯผͷΠϕϯτΛτϦΨʔͰ͖ΔͷͰΠϕϯτυϦϒϯͳΞϓϦέʔγϣϯͱ૬ੑ͕ྑ͍
ΞʔΩςΫνϟ ऩूॲཧͷՄ༻ੑΛߴΊΔΞϓϩʔν • Immutable Tablesॻ͖ࠐΈɺMutable TablesಡΈࠐΈʹ࠷దԽͨ͠ςʔϒϧ (CQRSͷ֓೦) • Immutable TablesʹશͯͷΠϕϯτ͕ه͞ΕΔ
• Immutable Tablesͷॻ͖ࠐΈΠϕϯτΛτϦΨʔʹूܭॲཧ͕Γɺ݁ՌΛMutable Tablesʹه͢Δ • ·ͣॻ͖ࠐΈίετͷ͍ImmutableͳςʔϒϧʹσʔλΛอଘ͢Δ͜ͱͰߴτϥϑΟοΫ࣌ͷσʔλܽଛΛ͙ • ूܭॲཧʹࣦഊͯ͠Immutable Tablesʹσʔλ͕อଘ͞Ε͍ͯΕॲཧΛϦτϥΠͰ͖Δ
։ൃݴޠ ࣌ͷબࢶ: • Python • Node.js • Go • Java
• .NET GoΛબΜͩཧ༝: • ࣮ߦ • ฒྻ • ֶशίετͷ͞ • ૉͳॻ͖ຯ ࣮ߦڥͱͯ͠AWS LambdaΛબͨ࣌͠Ͱ͋ΔఔߜΒΕͨத͔Βબఆ ଞͷݴޠॲཧܥ͔ΒདྷͯΩϟονΞοϓ͍͢͠ͱ͍͏ߟྀͯ͠GoΛબ (Scala/RubyϝΠϯͰͨ͠)
ࠓޙͷ՝ • ετϦʔϜॲཧͷεϩοτϦϯά • DynamoDB Streams4events/secݻఆ • ΑΓॊೈͳόοϑΝϦϯάͷͨΊKinesisΛಋೖ • ςʔϒϧ/ΠϯσοΫεͷΛݮΒ͢
• ςʔϒϧ͕ࢄ͢ΔͱΩϟύγςΟαΠζ࠷దԽͷ໘Ͱෆར • DynamoDBrange keyͰΞΠςϜͷछྨΛදݱ͢ΔΑ͏ʹ͢ΕҟͳΔछྨͷΞΠςϜΛ 1ςʔϒϧͰѻ͏͜ͱ͕Մೳ • ߴͳݕࡧͷ࣮ݱ • DynamoDBͷΈͰݕࡧػೳ͢ΔͷࠔɺιʔτΛ࣮ݱ͢Δ͚ͩͰ1ྻ1index͕ඞཁ • ݕࡧΤϯδϯͱͯ͠ElasticsearchΛಋೖ
(͓·͚) ౿Έൈ͍ͨ αʔόʔϨεΞϯνύλʔϯ • ϢʔεέʔεʹԊΘͳ͍εΩʔϚઃܭ • RDBͱಉ͡Α͏ͳΞϓϩʔνͰ͋Δఔਖ਼نԽͯ͠σʔλϞσϧ͝ͱʹςʔϒϧΛ͚ ͍ͯͨ • DynamoDBͰϢʔεέʔεͷಉ͡σʔλͷςʔϒϧΛ͢Δͱݪࢠੑͱಠཱੑ͕ࣦ
ΘΕɺΩϟύγςΟαΠζ࠷దԽͷ໘Ͱෆར • ݕࡧKVSϕʔεͷNoSQLͰؤுΔ • ଟͷΞΠςϜΛදࣔ͢ΔҰཡը໘ͰͷݕࡧιʔτDynamoDBͰΖ͏ͱ͍ͯͨ͠ • ྻ͕૿͑Δͨͼindex͕૿͑ॻ͖ࠐΈίετ૿Ճ • શจݕࡧͳͲؒҧ͍ͬͨํΛ͢Δͱશ͘ύϑΥʔϚϯε͕ग़ͳ͍ͷͰɺ༻్ʹదͨ͠ ΞʔΩςΫνϟ(͜ͷ߹ElasticsearchͳͲ)Λซ༻͢Δͷ͕ྑ͍
Θ͔ͬͨ͜ͱ • ཁ݅ʹΑΓ͖ෆ͖͕͋Δ (େલఏ) • ΠϕϯτιʔγϯάͳΞϓϦέʔγϣϯͱ૬ੑ͕ྑ͍ • ਖ਼͑͘͠ΞϓϦέʔγϣϯ։ൃʹूதͰ͖Δ • ॻ͖ࠐΈͱಡΈࠐΈͷςʔϒϧΛ͚͓ͯ͘ͱϢʔεέʔε͕มΘͬͯσʔλϞσϧ͕ม
ߋ͍͢͠ • ϓϩμΫτͷํੑ͕શʹఆ·͍ͬͯͳ͍ελʔτΞοϓͰಛʹॏཁ • σʔλετΞͷΞΫηεநԽͯ͠มߋΈ߹ΘͤΛ͍͢͠Α͏ʹ͓ͯ͘͠ͱΑ͍ • ݕࡧElasticsearchͰߦ͏Α͏ʹ͢ΔɺͳͲ͕ޙ͔ΒͰ͖Δ • ཁ্݅ɺRDS͕ඞཁʹͳͬͨͱͯ͠KinesisΛڬΜͰඇಉظ࣮ߦͳͲͰͳΜͱ͔͢Δ͜ͱͰ͖Δ BtoBελʔτΞοϓͱ͍͏จ຺ͰAWS Lambda + DynamoDBΛத৺ͱͨ͠ߏͰͷ ΞϓϦέʔγϣϯ։ൃΛߦͬͨײ
ΧελϚʔαΫηεͷ՝ʹ αʔόʔϨεΞʔΩςΫνϟͰऔΓΉ اۀͰ͢ ɺ
We’re Hiring Engineers! https://www.wantedly.com/companies/hicustomer
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ B2BελʔτΞοϓΤϯδχΞφΠτ 2018.08.21 HiCustomer inc. ංલ༸༎ @hizeny