Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
結局のところKnativeって何者?
Search
Kazuto Kusama
April 17, 2019
Technology
12
3k
結局のところKnativeって何者?
cndjp第11回勉強会で発表した資料です。
結局のところKnativeって何がどう嬉しいんだっけ?という話をしました。
Kazuto Kusama
April 17, 2019
Tweet
Share
More Decks by Kazuto Kusama
See All by Kazuto Kusama
AI時代のインシデント対応 〜時代を切り抜ける、組織アーキテクチャ〜
jacopen
4
230
AI によってシステム障害が増える!? ~AI エージェント時代だからこそ必要な、インシデントとの向き合い方~
jacopen
4
320
インシデント対応に必要となるAIの利用パターンとPagerDutyの関係
jacopen
0
230
今日からはじめるプラットフォームエンジニアリング
jacopen
8
4.2k
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
8
1.4k
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
4
5.7k
あなたの興味は信頼性?それとも生産性? SREとしてのキャリアに悩むみなさまに伝えたい選択肢
jacopen
7
11k
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
3.1k
AI x インシデント管理で拡げるサービスオーナーシップ
jacopen
0
300
Other Decks in Technology
See All in Technology
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
3
890
初めてのDatabricks AI/BI Genie
taka_aki
0
210
【U/day Tokyo 2025】Cygames流 最新スマートフォンゲームの技術設計 〜『Shadowverse: Worlds Beyond』におけるアーキテクチャ再設計の挑戦~
cygames
PRO
2
790
NIKKEI Tech Talk #41: セキュア・バイ・デザインからクラウド管理を考える
sekido
PRO
0
160
Python 3.14 Overview
lycorptech_jp
PRO
1
120
20251218_AIを活用した開発生産性向上の全社的な取り組みの進め方について / How to proceed with company-wide initiatives to improve development productivity using AI
yayoi_dd
0
140
AI駆動開発における設計思想 認知負荷を下げるフロントエンドアーキテクチャ/ 20251211 Teppei Hanai
shift_evolve
PRO
2
430
OCI Oracle Database Services新機能アップデート(2025/09-2025/11)
oracle4engineer
PRO
1
210
RAG/Agent開発のアップデートまとめ
taka0709
0
190
ActiveJobUpdates
igaiga
1
140
業務のトイルをバスターせよ 〜AI時代の生存戦略〜
staka121
PRO
2
220
AIエージェント開発と活用を加速するワークフロー自動生成への挑戦
shibuiwilliam
4
360
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Building the Perfect Custom Keyboard
takai
1
660
Google's AI Overviews - The New Search
badams
0
860
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
86
The #1 spot is gone: here's how to win anyway
tamaranovitovic
1
860
ラッコキーワード サービス紹介資料
rakko
0
1.7M
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
0
930
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
57
37k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1k
Transcript
結局のところKnativeって何者?
KAZUTO KUSAMA @jacopen 2 Solutions Architect @
Knative試したことある人?
None
5 Docker=クラウドネイティブ Kubernetes=クラウドネイティブ ではない。 ツールやプラットフォームの導入が クラウドネイティブになるわけじゃない クラウドによって最大限に強化されるという マインドセットを持つこと=クラウドネイティブ
使った分だけ 課金 初期費用が 少ない リソースの 調達が早い スケール しやすい 運用を 肩代わり
クラウドの 本質?
クラウドは人間を 強化する
サーバーの調達 OS・ミドルウェアの 設定 ソフトウェアの デプロイ ストレージ・ ネットワークの 設定 その他いろいろ これまでの世界
クラウドファーストな世界 クラウドになって、サーバーやネットワークなどインフラの 準備はだいぶ楽になりましたよね。
クラウドは人間を 強化する なので、クラウドという便利な道具で人間は強化されたわ けです。でも、こんな数字があります。
L1キャッシュ参照 分岐予測ミス L2キャッシュ参照 Mutexのlock/unlock メモリ参照 1KBをZIP圧縮 1Gbpsで1KB送る メモリから1MB連続で読む 同一のデータセンタ内のマシンと通信1往復 HDDシーク
HDDから1MB読み出し カリフォルニアとオランダ間で通信1往復 上司の許可取ってサーバー1台構築 0.5 ns 5 ns 7 ns 25 ns 100 ns 3,000 ns 10,000 ns 250,000 ns 500,000 ns 10,000,000 ns 20,000,000 ns 150,000,000 ns 259,200,000,000,000 ns かかる時間 Latency Numbers Every Programmer Should Know https://gist.github.com/jboner/2841832
サーバーの調達 OS・ミドルウェアの 設定 ソフトウェアの デプロイ ストレージ・ ネットワークの 設定 その他いろいろ これまでの世界
クラウドファーストな世界 ボトルネック
μs, msの世界で人間が介在すること自体が ボトルネック
サーバーの調達 OS・ミドルウェアの 設定 ソフトウェアの デプロイ ストレージ・ ネットワークの 設定 その他いろいろ これまでの世界
クラウドファーストな世界 『クラウドに置き換えて効率化』 という思考から脱却しなければ 根本的な変革にはならない
クラウドは人間を 強化する
CLOUD
CLOUD NATIVE +
クラウドは人間を 強化する
『クラウドネイティブな思考』の最たる例が サーバーレス
Coding Test Build Delivery Monitoring Analyze 何も考えずにやると すぐ人がボトルネックに
IaaS Functions Applications Runtimes Containers Operating Systems Virtualization Hardwares Functions
Applications Runtimes Containers Operating Systems Virtualization Hardwares Functions Applications Runtimes Containers Operating Systems Virtualization Hardwares Functions Applications Runtimes Containers Operating Systems Virtualization Hardwares 自由度が高いプラットフォームもいいけれど CaaS PaaS FaaS
IaaS Functions Applications Runtimes Containers Operating Systems Virtualization Hardwares Functions
Applications Runtimes Containers Operating Systems Virtualization Hardwares Functions Applications Runtimes Containers Operating Systems Virtualization Hardwares Functions Applications Runtimes Containers Operating Systems Virtualization Hardwares よく抽象化され、生産性の高い仕組みもいい(Opinionated) 自由度が高いプラットフォームもいいけれど CaaS PaaS FaaS
None
テクノロジースタック
なぜ最初にクラウドネイティブの話をしたか Knativeは “Kubernetes上で動くサーバーレス” とよく言われるが “Kubernetesの上で動くLambdaみたいなもの” と考えてしまうと、メリットが伝わらない
こんなの出ました
DEMO Cloud Runを使ったデモをしました。 簡単な操作でアプリのデプロイが出来た一方、 これは”サーバーレス”なんだろうか? と 思ってしまいます。
なんか思ってたんと違う
IaaS Functions Applications Runtimes Containers Operating Systems Virtualization Hardwares Functions
Applications Runtimes Containers Operating Systems Virtualization Hardwares Functions Applications Runtimes Containers Operating Systems Virtualization Hardwares Functions Applications Runtimes Containers Operating Systems Virtualization Hardwares 生産性や標準化の向上 自由度、柔軟性の向上 CaaS PaaS FaaS
IaaS Functions Applications Runtimes Containers Operating Systems Virtualization Hardwares Functions
Applications Runtimes Containers Operating Systems Virtualization Hardwares Functions Applications Runtimes Containers Operating Systems Virtualization Hardwares Functions Applications Runtimes Containers Operating Systems Virtualization Hardwares 生産性や標準化の向上 自由度、柔軟性の向上 CaaS PaaS FaaS Knativeはサーバーレスと聞いていて、 こうだと思っていたでしょうけど
IaaS Functions Applications Runtimes Containers Operating Systems Virtualization Hardwares Functions
Applications Runtimes Containers Operating Systems Virtualization Hardwares Functions Applications Runtimes Containers Operating Systems Virtualization Hardwares Functions Applications Runtimes Containers Operating Systems Virtualization Hardwares 生産性や標準化の向上 自由度、柔軟性の向上 CaaS PaaS FaaS どっちかというとこっちが近いように思えちゃいます
https://www.youtube.com/watch?v=8Pd20Y4OMkE
KnativeのいうServerless ≠ FaaS • ServerlessといってもAWS LambdaやGoogle Cloud Functionsのよ うなFaaSを指すわけではない •
Knativeが指すServerless Workloadとは ◦ ステートレス ◦ プロセスのスケールアウトモデルが適用可能 ◦ 主にアプリケーションレベル(L7、例えばHTTP)から リクエストされるトラフィックによって駆動 • CNCF Serverless Whitepapterの定義とはズレる (https://github.com/cncf/wg-serverless/tree/master/whitepapers/serverless-overview)
Microservices Platform on Kubernetes at Mercari https://speakerdeck.com/tcnksm/microservices-platform-on-kubernetes-at-mercari
Knativeでは 何ができるのか 一段上の抽象化 Deployment Service ReplicaSet Pod Pod LB DNS
k8s外 Service (Knative) Route (Knative) Configuratio n (Knative) Revision (Knative) Deploymen t ReplicaSet Pod Service コンテナをつくろう NWをつくろう
Knativeでは 何ができるのか 一段上の抽象化 Deployment Service ReplicaSet Pod Pod LB DNS
k8s外 Service (Knative) Route (Knative) Configuratio n (Knative) Revision (Knative) Deploymen t ReplicaSet Pod Service
Custom Resources Kubernetesは自前のリソースと、そのコントローラを追加することができる。 それがCustom Resources Kubernetesネイティブな機能拡張手段 https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/
Custom Resources KnativeはCRDモンスター
Serving Scale to zero, request-driven compute model • ゼロからスケールする、リクエストドリブンの コンピュートモデルを実現するコンポーネント
◦ サーバーレスのワークロードを素早くデプロイ ◦ 自動でスケールアップ・ダウン ◦ Istioを利用したルーティングの設定 ◦ デプロイされたコードや設定のスナップショット https://github.com/knative/docs/tree/master/serving
Serving Scale to zero, request-driven compute model • 4つのCustom Resourceを用いて実現
◦ Service - service.serving.knative.dev ◦ Route - route.serving.knative.dev ◦ Configuration - configuration.serving.knative.dev ◦ Revision - revision.serving.knative.dev https://github.com/knative/docs/tree/master/serving
DEMO Cloud Runと、Cloud Run on GKEと、 Pivotal Container Serviceの上にKnativeをデプロイ した環境で比較をしました。
同じように利用できることが分かります。
https://twitter.com/ahmetb/status/1116041166359654400
Coding Test Build Delivery Monitoring Analyze イメージのビルド
誰もが同じようなことをやる Dockerfileの作成 docker build docker push Kubernetes manifestの作成 kubectl apply
Dockerfileの作成 docker build docker push Kubernetes manifestの作成 kubectl apply Dockerfileの作成 docker build docker push Kubernetes manifestの作成 kubectl apply 自動でうまいこと やってほしい
抽象化すればいいじゃない 自動化すればいいじゃない
Builds Cloud-native source to container orchestration • ソースコードからのイメージ作成を実現するコンポーネント ◦ gitリポジトリからソースコードを取得
◦ 複数のジョブを実行 (依存関係のインストールやテストの実 行など) ◦ コンテナイメージへの作成 ◦ イメージリポジトリへの push • Build - Ship - RunのうちBuildとShipを担う • プラガブルであり、さまざまなイメージビルドの仕組みを利用可 能 ◦ Cloud Native Buildpack ◦ Google Container Builder ◦ Bazel ◦ Kaniko ◦ などなど
DEMO
Coding Test Build Delivery Monitoring Analyze 負荷に応じたスケール コミットがあったら自動でテス ト イベントドリブンな
アーキテクチャ が作られたら自動で の更新
Serverless Architecture API Gateway S3 Dynamo DB SNS SES Lambda
イベント イベント
Eventing Universal subscription, delivery and management of events
https://www.slideshare.net/linecorp/lines-private-cloud-meet-cloud-native-world
https://www.slideshare.net/linecorp/lines-private-cloud-meet-cloud-native-world
https://www.slideshare.net/linecorp/lines-private-cloud-meet-cloud-native-world
Riff Riff for functions • Pivotalが中心になって開発しているFaaS ( https://projectriff.io/ ) •
Kubernetes向けに作られていたが、Knativeを ベースにするように作り替え中
KLR (Knative Lambda Runtimes)
Kubernetes, Serverless, and You (Cloud Next '18) https://www.youtube.com/watch?v=LtELzpw1l1M Knative -
Serverless workloadのためのBuilding Block
“Building Block” https://content.pivotal.io/blog/knative-powerful-building-blocks-for-a-portable-function-platfor m
Cloud Nativeのための Building Block Yoshizumi Endo https://www.flickr.com/photos/yendo0206/5041788308/ (CC BY-SA 2.0)
Coding Test Build Delivery Monitoring Analyze
商用展開
None
Pivotal Function Service Pivotal Container Service(PKS) の上で動作 Knative+Riffによる商用Serverless Platform +
= + + =
None
おわり