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
230
インシデント対応に必要となるAIの利用パターンとPagerDutyの関係
jacopen
0
68
今日からはじめるプラットフォームエンジニアリング
jacopen
8
3.6k
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
8
810
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
4
5k
あなたの興味は信頼性?それとも生産性? SREとしてのキャリアに悩むみなさまに伝えたい選択肢
jacopen
7
9.3k
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
2.7k
AI x インシデント管理で拡げるサービスオーナーシップ
jacopen
0
260
間違いだらけのポストモーテム - ホントに役立つレビューはこうだ!
jacopen
7
1.9k
Other Decks in Technology
See All in Technology
信頼できる開発プラットフォームをどう作るか?-Governance as Codeと継続的監視/フィードバックが導くPlatform Engineeringの進め方
yuriemori
1
270
20250818_KGX・One Hokkaidoコラボイベント
tohgeyukihiro
0
120
.NET開発者のためのAzureの概要
tomokusaba
0
170
Mackerel in さくらのクラウド
cubicdaiya
1
360
Amazon Bedrock AgentCore でプロモーション用動画生成エージェントを開発する
nasuvitz
6
310
datadog-distribution-of-opentelemetry-collector-intro
tetsuya28
0
170
広島発!スタートアップ開発の裏側
tsankyo
0
110
会社にデータエンジニアがいることでできるようになること
10xinc
9
1.3k
[CVPR2025論文読み会] Linguistics-aware Masked Image Modelingfor Self-supervised Scene Text Recognition
s_aiueo32
0
170
ABEMAにおける 生成AI活用の現在地 / The Current Status of Generative AI at ABEMA
dekatotoro
0
510
LLM時代の検索とコンテキストエンジニアリング
shibuiwilliam
2
960
React Server ComponentsでAPI不要の開発体験
polidog
PRO
1
350
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
GitHub's CSS Performance
jonrohan
1031
460k
Bash Introduction
62gerente
614
210k
Adopting Sorbet at Scale
ufuk
77
9.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Designing for humans not robots
tammielis
253
25k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
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?