Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
次世代PaaSとServerless 未来はどこにある?
Search
Kazuto Kusama
May 11, 2017
Technology
1.7k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
次世代PaaSとServerless 未来はどこにある?
2016年10月の第34回PaaS勉強会で発表した資料です
Kazuto Kusama
May 11, 2017
More Decks by Kazuto Kusama
See All by Kazuto Kusama
AIで開発は速くなったのに、なぜ現場は楽にならないのか 〜あなたの組織のボトルネックを突き止めるワークショップ〜
jacopen
1
370
趣味でイベント配信をやっている者だ
jacopen
1
47
自宅LLMの話
jacopen
2
1.2k
プラットフォームエンジニアリングはAI時代の開発者をどう救うのか
jacopen
9
5.9k
OpenClawで回す組織運営
jacopen
3
1.4k
SREの仕事を自動化する際にやっておきたい5つのポイント
jacopen
6
1.7k
AI時代のインシデント対応 〜時代を切り抜ける、組織アーキテクチャ〜
jacopen
4
450
AI時代の開発とPlatform Engineeringについて考える
jacopen
0
310
AI によってシステム障害が増える!? ~AI エージェント時代だからこそ必要な、インシデントとの向き合い方~
jacopen
4
450
Other Decks in Technology
See All in Technology
30座EKS, 180次升級淬煉的EKS Upgrade Skill 的歷程
eric8230
0
160
HHKBエバンジェリストになる方法
941
0
110
Snowflakeのコスト最適化を支えるアーキテクチャ設計
ktatsuya
1
1.6k
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
510
空間オーディオで過去の 自分(ゴースト)と競うランニング 〜HealthKitのルートを足音に変える実装〜
nao_randd
0
220
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
170
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
200
Railsのように考える: See through the Master
snoozer05
PRO
3
890
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
3
3k
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
1.9k
事業課題から技術的負債に向き合う
sansantech
PRO
2
1.8k
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
160
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
880
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
420
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
280
Unsuck your backbone
ammeep
672
58k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
350
Are puppies a ranking factor?
jonoalderson
2
3.9k
Done Done
chrislema
186
16k
Test your architecture with Archunit
thirion
2
2.4k
The Limits of Empathy - UXLibs8
cassininazir
1
670
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?