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
次世代PaaSとServerless 未来はどこにある?
Search
Kazuto Kusama
May 11, 2017
Technology
3
1.6k
次世代PaaSとServerless 未来はどこにある?
2016年10月の第34回PaaS勉強会で発表した資料です
Kazuto Kusama
May 11, 2017
Tweet
Share
More Decks by Kazuto Kusama
See All by Kazuto Kusama
AI によってシステム障害が増える!? ~AI エージェント時代だからこそ必要な、インシデントとの向き合い方~
jacopen
4
240
インシデント対応に必要となるAIの利用パターンとPagerDutyの関係
jacopen
0
100
今日からはじめるプラットフォームエンジニアリング
jacopen
8
3.8k
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
8
840
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
4
5.2k
あなたの興味は信頼性?それとも生産性? SREとしてのキャリアに悩むみなさまに伝えたい選択肢
jacopen
7
9.6k
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
2.8k
AI x インシデント管理で拡げるサービスオーナーシップ
jacopen
0
270
間違いだらけのポストモーテム - ホントに役立つレビューはこうだ!
jacopen
7
2k
Other Decks in Technology
See All in Technology
はじめてのOSS開発からみえたGo言語の強み
shibukazu
3
990
普通のチームがスクラムを会得するたった一つの冴えたやり方 / the best way to scrum
okamototakuyasr2
0
110
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
340
Snowflake×dbtを用いたテレシーのデータ基盤のこれまでとこれから
sagara
0
120
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/06 - 2025/08
oracle4engineer
PRO
0
110
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
2
270
プラットフォーム転換期におけるGitHub Copilot活用〜Coding agentがそれを加速するか〜 / Leveraging GitHub Copilot During Platform Transition Periods
aeonpeople
1
240
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
230
KotlinConf 2025_イベントレポート
sony
1
140
2025/09/16 仕様駆動開発とAI-DLCが導くAI駆動開発の新フェーズ
masahiro_okamura
0
130
LLM時代のパフォーマンスチューニング:MongoDB運用で試したコンテキスト活用の工夫
ishikawa_pro
0
170
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Transcript
࣍ੈPaaSͱ Serverless ະདྷͲ͜ʹ͋Δʁ
Kazuto Kusama @jacopen
͜ͷൃදݸਓͷݟղͰ͋Γɺ ॴଐ͢Δ৫ͷެࣜݟղͰ͋Γ·ͤΜ ҙ
࠷ۙPaaSͬͯͲ͏Ͱ͔͢ʁ Γ্͕ͬͯΔʁ
ࣄ࣮: “PaaS”ͱ͍͏͚ͩͰ͓ۚΛग़ͯ͠ ͑Δ࣌ͱͬ͘ʹऴΘͬͨ 㱺όζϫʔυͱͯ͠Φϫίϯ
ϋΠϓɾαΠΫϧ https://www.gartner.co.jp/research/methodologies/research_hype.php
ϋΠϓɾαΠΫϧ https://www.gartner.co.jp/research/methodologies/research_hype.php ͓͔ͶͨͬΓ ϘʔφελΠϜ PaaSଟ͜ͷΜ
ʮPaaSͰṶ͔͍ͬͯΔձࣾʯ ͱݴΘΕͯࢥ͍ු͔Δձ͕ࣾগͳ͍ ͳͥʁ 㱺Ϗδωεͱͯ͠ͷকདྷੑ͕ෆ͔֬
͔֬Β͍͠ະདྷ
͜Ε͔ΒPaaSͱ͍͏ݴ༿ ΘΕͳ͘ͳ͍ͬͯ͘ ͔֬Β͍͠ະདྷ
“Cloud Native Platform”
“Container Platform”
“Container as a Service”
ԿނʮPaaS͔ʯ • PaaSͱ͍͏ݴ༿ͷ͔ΓͮΒ͞ • ΑΓαʔϏεͷੑ֨Λද͢ݴ༿ʹ • PaaSͰେޭͨ͠ྫ͕͋·Γͳ͍ͷͰɺϏδωεతʹ ྑ͍ҹ͕ͳ͍
ͦͦԿނޭ͠ͳ͔ͬͨͷ͔Ծઆ • ϩοΫΠϯ • ϕϯμʔʮϩοΫΠϯͯ͠ͳ͍ʯͱ͍͏ɻ ʮΦʔϓϯͳٕज़͕ͦͷ··͑ΔΑʂʯɹŋŋŋͦ͏͍͏͡Όͳ͍ • ҙࣝվֵͷ͠͞ • ϓϩηεεςʔτϑϧʹʂ
ઃఆڥมʹʂϩάඪ४ग़ྗʹʂ ͜ΕͰΫϥυωΠςΟϒΞϓϦέʔγϣϯͩʂɹŋŋŋ͑ʔΊΜͲ͍͘͞ • യવͱͨ͠ෆ҆
͜Ε͔ΒͷPaaS Ͳ͏ͳΔͷ͔
ୈ1ੈͷPaaS • 2007ʙ2010͝Ζ·Ͱ • ϓϩϓϥΠΤλϦ • ܾΊଧͪͷݴޠɾϑϨʔϜϫʔΫɾDB
ୈ2ੈͷPaaS • 2011ʙ • ϓϩϓϥΠΤλϦ / Φʔϓϯ • ༷ʑͳݴޠɾϑϨʔϜϫʔΫɾDB •
ԾԽٕज़Λϑϧ׆༻
ୈ3ੈͷPaaS • 2014ʙ • ίϯςφωΠςΟϒ • ͲͷڥͰɺಉ͡ͷ͕͑Δ • ΑΓૣ͘ɺΑΓॊೈʹɺΑΓΦʔϓϯʹ
ୈ4ੈͷPaaS
• ߏ͍ͨ͠ΠϯϑϥΛίʔυͰදݱɻIaaSͱಉͷॊೈੑΛɺ ΑΓߴʹɺΑΓ؆୯ʹɺΑΓޮΑ࣮͘ݱग़དྷΔɻ • ͜Ε·ͰͷPaaS ʮΠϯϑϥҙࣝ͠ͳ͍͍ͯ͘ɻ ɹͱʹ͔͘Ξοϓϩʔυͯ͘͠Εɺ͋ͱԿͱ͔͢Δʯ 㱺HerokuͳͲͰ࣮ݱͨ͠ੈքɻ͘͢͝؆୯ʹ͑Δɻ Infrastructure as
CodeΛ ࣮ݱ͢Δ ϓϥοτϑΥʔϜ
• ͲͷΞϓϦΛԿݸ্ཱͪ͛ͯɺ Ͳ͏͍͏NWߏʹͯ͠ ʓʓΛϚϯτͯ͠ XXXͱ͍͏ίϯϑΟάΛೖΕͯŋŋŋ ͱ͍ͬͨߏใΛίʔυͰཧ σϓϩΠ͢Δͱج൫ଆ͕͏·͍͜ͱ ࣮ݱͯ͘͠ΕΔɻ ίϯςφٕज़SDNͳͲͷ߹Θٕͤ
Infrastructure as CodeΛ ࣮ݱ͢Δ ϓϥοτϑΥʔϜ • Google͕BorgͰ࣮ূࡁ • BorgΛࢀߟʹ࡞ΒΕ͍ͯΔKubernetesɺ KubernetesϕʔεͷOpenShiftɺঃʑʹ͜ͷੈքΛ
࣮ݱ͍ͯ͠Δ • DockerɺόʔδϣϯΛ͏͝ͱʹ࣮ͭͭ͋͠Δ
• ෳࡶʹͳͬͯ͋ΔҙຯୀԽͯ͠ͳ͍ʁ • ෳࡶͳ͜ͱ͕ग़དྷΔϓϥοτϑΥʔϜΛϥοϓͯ͠ ؆୯ʹ͏ͷՄೳ • ؆୯ͳ͜ͱ͔͠ग़དྷͳ͍ϓϥοτϑΥʔϜͰෳࡶͳ͜ͱΛ ͢Δͷࠔ Infrastructure as
CodeΛ ࣮ݱ͢Δ ϓϥοτϑΥʔϜ
• Herokuͷ12 Factor appྑ͘ग़དྷͨߟ͑ • ग़དྷΔݶΓStatelessʹ࡞Δ͜ͱͰɺεέʔϥϒϧͰϝϯς ͍͢͠ɺΫϥυωΠςΟϒͳΞϓϦέʔγϣϯ͕࡞ΕΔ • ͡Ό͋DBMQͳͲͷStatelessʹग़དྷͳ͍ͷʁ 㱺
ʮΞλον͞ΕͨϦιʔεͱͯ͠ѻ͏ʯ 㱺ӡ༻୭͕ͬͯྑ͍Μ͚ͩͲɺϦιʔεͱͯͯ͠͠ ߟ͑Ε͍ΖΜͳέʔεʹରԠͰ͖ΔΑ Stateful applicationͷαϙʔτ
Container 2.0 • Mesosphere͕ݴ͍࢝Ίͨ • Stateful application͚ͷ εέδϡʔϥΛDC/OSͰ αϙʔτɻ྆ํΛಉ͡ج൫্Ͱ ࣮ݱͰ͖Δ
None
Stateful Sets (Pet Sets) • KubernetesͰ࣮͕ਐΜͰ͍Δ • k8s্ͰɺैདྷͷΞϓϦέʔγϣϯΛ αϙʔτ͢ΔΈ •
ӬଓԽϘϦϡʔϜ ݻఆ͞ΕͨHostname ໊લղܾ
Stateful Sets (Pet Sets) • εέʔϥϒϧͳΞʔΩςΫνϟΛ࡞Δ߹ɺϦιʔεΛϖοτ Ͱͳ͘ɺՈச(Cattle)ͷΑ͏ʹѻ͏ͷ͕͍͍ɻ • ͜Ε·ͰͷΫϥυɺ͜ͷCattleΛڧ੍͖ͯͨ͠અ͕͋Δ •
ͰશͯͷΞϓϦέʔγϣϯ͕ઈεέʔϧ͢Δඞཁ͋ΔΜ͚ͩͬʁ
Serverless ͓ۚग़ͯ͑͠Δ ྲྀߦΓͷϫʔυ
None
PaaS • ServerؚΊͨɺApplicationͷӡ༻ΛݞΘΓ͢Δ Serverless • ServerΛͦͦҙࣝ͠ͳ͍
Serverless͕ͦ͜ະདྷʂ
ຊʹͦ͏ͳͷ͔ʁ
ઌʹݴ༿ͷཧ FaaS (Functions as a Service) γϯϓϧͳίʔυΛFaaSʹॻ͍͓ͯ͘ͱɺࢦఆͨ͠ΠϕϯτʹԠͯ͡ ίʔυ͕࣮ߦ͞ΕΔαʔϏεɻ AWS LambdaAzure
Functionsɺ OpenWhiskͳͲ BaaS (Backend as a Service)ɺFunctional SaaS ೝূϓογϡ৴ͳͲɺϞόΠϧΞϓϦSPAͰඞཁͳػೳΛαʔ Ϗεͱͯ͠ఏڙ͢ΔɻFirebaseɺαʔϏεऴྃͨ͠ParseͳͲ
ઌʹݴ༿ͷཧ FaaS (Functions as a Service) γϯϓϧͳίʔυΛFaaSʹॻ͍͓ͯ͘ͱɺࢦఆͨ͠ΠϕϯτʹԠͯ͡ ίʔυ͕࣮ߦ͞ΕΔαʔϏεɻ AWS LambdaAzure
Functionsɺ OpenWhiskͳͲ BaaS (Backend as a Service)ɺFunctional SaaS ೝূϓογϡ৴ͳͲɺϞόΠϧΞϓϦSPAͰඞཁͳػೳΛαʔ Ϗεͱͯ͠ఏڙ͢ΔɻFirebaseɺαʔϏεऴྃͨ͠ParseͳͲ 㱺 BaaS+PaaSͷΈ߹ΘͤҎલΑΓҰൠతʹߦΘΕ͍ͯΔ ͷͰɺ͔͜͜ΒઌFaaSʹ͍ͭͯݴٴ͠·͢
API Gateway ObjectStorage etc… Functions Πϕϯτ Πϕϯτ Πϕϯτ ࣮ߦ output
etc… ΠϕϯτυϦϒϯ Πϕϯτड͚͚ͨͱ͖ͷ ॲཧ༰Λॻ͍͓ͯ͘ FaaSͷಈ͖
API Gateway ObjectStorage etc… Application output etc… ಉ͜͡ͱΛPaaSͰΖ͏ͱ͢Δͱɾɾɾ HTTPͳΓԿͳΓͰ ΠϕϯτΛड͚͚Δ
ޱΛͭ͘Δ αʔόʔϓϩηε(Πϯελϯε) Λ্ཱͪ͛ͯػͤ͞Δ Πϕϯτड͚͚ͨͱ͖ͷ ॲཧ༰Λॻ͍͓ͯ͘
API Gateway ObjectStorage etc… Application output etc… ͜͏͍͏ͱ͖Ͳ͏͢Δʁ શવΠϕϯτ͕དྷͳ͍ͱ͖Πϯελϯε ͣͬͱ্ཱ͓͔ͪ͛ͯͳ͚Ε͍͚ͳ͍
API Gateway ObjectStorage etc… Application output etc… ͜͏͍͏ͱ͖Ͳ͏͢Δʁ ಥવΠϕϯτ͕ٸ૿ͨ͠ͱ͖ʹ ΠϯελϯεΛεέʔϧͤ͞Δૢ࡞͕ඞཁ
ɾ ɾ ɾ
PaaSʹग़དྷͳͯ͘FaaSʹग़དྷΔ͜ͱ • PaaSͰɺΠϕϯτ͕ى͖ͳ͍࣌Ͱৗʹϓϩηε্͕͕Δɻ· ͨɺಥવΠϕϯτ͕ٸ૿ͨ͠ͱ͖ɺϓϩηεΛ૿͢ͱ͍͏ૢ ࡞ΛࣗಈͳΓखಈͳΓͰߦΘͳ͍͚ͯ͘ͳ͍ɻ (ͦΕͰɺIaaSΦϯϓϨϛεΑΓ͍ͩͿָ) • FaaSࡉ͔ͳॲཧ୯ҐͰFunction͕࡞ΒΕɺΠϕϯτͷʹϓϩ ηε্͕͕Γɺॲཧ͕ऴΘΔͱϓϩηεফ͑Δɻ Πϕϯτ͕ى͖ͳ͍ͱϦιʔεফඅ͠ͳ͍ɻେྔͷΠϕϯτൃੜ
࣌ͦΕʹԠͯ͡ϓϩηε্͕͕Γɺফ͍͑ͯ͘
FaaS vs PaaS • FaaSPaaSʹ͍ͬͯͨʮӡ༻ʯ͕ແ͘ͳ͍ͬͯΔ • ΑΓεέʔϥϒϧɺ͔ͭޮͷྑ͍ΈΛ࡞ΕΔ • ػೳ୯ҐͰ͚͟ΔΛಘͳ͍ 㱺
εςʔτΛ࣋ͨͤΔ͜ͱ͕͍͠ 㱺 ݁Ռͱͯ͠εέʔϥϒϧʹͳΔ
FaaS is better than PaaS? • ͦΜͳ͜ͱͳ͍ • PaaSͷΑ͏ͳෳࡶͳॲཧΛ1FunctionͰߦΘͤΔ͜ͱग़དྷͳ͍ •
WebαʔόʔͷΑ͏ͳίϯςϯπΛ৴͢ΔΑ͏ͳ ΈͰͳ͍ • PaaSͰಈ͔͢ΞϓϦɺϩʔΧϧͰIaaSͰΦϯϓϨͰ ಈ͘Α͏ʹ࡞ΕΔɻFaaSFaaS༻ͷΓʹͤ͟ΔΛಘͳ͍
PaaS ͱ FaaS Λਖ਼͍͚͘͠Δߟ͑ํ Hub Glue
PaaS = Hub Application database monitoring message queue mail logging
CI/CD
App database monitoring message queue mail logging CI/CD ΞϓϦέʔγϣϯ͕த৺(Hub)ͱͳΔɻ Γ͍ͨ͜ͱΞϓϦʹॻ͘
PaaSӡ༻ͷݞΘΓͱ ศརͳػೳΛఏڙ͢Δ
FaaS = Glue database mail CI/CD Object Storage API Gateway
Function messaging Function Function
{} {} {} FaaSɺ֤ΫϥυαʔϏεΛܨ͛ΔͨΊͷކ (Glue) Γ͍ͨ͜ͱɺ֤αʔϏεΛܨ࣮͛ͯݱ͢Δ ֤FunctionͰෳࡶͳ͜ͱͤͣ͞ɺ γϯϓϧͳॲཧʹཹΊΔ
ʮ͋͠ͳͨͷPaaS͕ɺ0.5ඵ͚ͩಈ͘ΠϯελϯεΛ ɹɹ20msͰىಈͰ͖ΔͳΒɺͦΕαʔόʔϨεͱݺͿʯ
• ΞϓϦέʔγϣϯͷ։ൃͱӡ༻Λศརʹ͢Δͷ͕PaaS • ͜Ε·Ͱͷߟ͑ํΛɺΫϥυͰΑΓศརʹ • ͞·͟·ͳΫϥυαʔϏεΛ׆༻͠ɺͪΐͬͱͨ͠ίʔυͰ ͋Ε͜Ε࣮ݱ͢Δͷ͕FaaS • Ϋϥυ͋Γ͖ͷαʔϏεʢΨνͰϩοΫΠϯ͞ΕΔؾ͕ແ͍ͱ͑ͳ͍ΑͶŋŋŋ •
͜Ε͚ͩΫϥυαʔϏε͕ॆ࣮͍ͯ͠ΔΜ͔ͩΒ׆༻͠Α͏ʂ ͦͦͷߟ͑ํ͕ҧ͏ͷͰɺ߹ʹԠ͍͚ͯ͡Α͏
ͪͳΈʹPaaSษڧձͷϞοτʔ
PaaSʹؔΘΔ͜ͱͳΒԿͰOK ͭ·ΓServerlessωλOK
࣍ճҎ߱ɺServerlessωλେܴ
Questions?