Knative 実践ガイド
ケーネイティブジッセンガイド
- 著者:
- 小野 佑大(オノ ユウダイ)
- 出版社:
- インプレス
- 出版日:
- 2023年04月11日
- ISBN:
- 9784295016359
- シリーズ:
- impress top gear
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
Knative を用いたサーバレスアプリケーションの開発をステップ・バイ・ステップで体験。
技書の森解説
Kubernetes を使っている組織が、リクエストが来たときだけコンテナを動かし、来なければ止めておく仕組みを自前の基盤に持ち込みたいときの選択肢が Knative です。『Knative 実践ガイド』 (小野 佑大 著、インプレス、2023 年 4 月 11 日発売) は、その Knative を扱う単著で、副題は「Kubernetes で実現するサーバレスプラットフォーム」、叢書は impress top gear です。楽天ブックスの書誌の紹介文は、本書を「Knative を用いたサーバレスアプリケーションの開発をステップ・バイ・ステップで体験」する本と案内しています。
Knative の Serving と Eventing という二つの柱
サーバーレス は、一般にはサーバーの管理をクラウド事業者に任せ、使った分だけ支払う実行の形を指します。Knative は、これに近い使い勝手を自分で管理する Kubernetes クラスターの上で実現するためのオープンソースの仕組みです。中心になるのは二つの部品で、Serving はコンテナをサービスとして公開し、リクエストの量に応じてコンテナの数を増減させます。設定を変えるたびにリビジョンという版が残り、新旧の版へ通信を割合で振り分けながら切り替えることもできます。Eventing は、外部のシステムやクラスター内で起きた出来事をイベントとして受け取り、条件に合う宛先のサービスへ届ける部品です。CloudEvents という共通の形式でイベントを扱うため、送り手と受け手を直接つながずに組み合わせられ、イベント駆動アーキテクチャ をクラスターの上で組み立てる土台になります。
Kubernetes 標準のスケーリングとの違い
Kubernetes には、CPU 使用率などに応じて Pod の数を調整する Horizontal Pod Autoscaler が標準で備わっています。ただし標準の設定では Pod の数を 0 まで減らすことはできず、待機中のコンテナが常に資源を占めます。Knative の Serving は、リクエストが途絶えたらコンテナを 0 まで減らし、次のリクエストが来た時点で起動し直す動きを提供する点が大きな違いです。その代わり、止まっていた状態から最初の応答を返すまでに起動の待ち時間が生じるため、応答時間の要件が厳しいサービスでは最低限の台数を残す設定との兼ね合いを考えることになります。
楽天書誌の紹介文と、マネージドサービスとの違い
楽天ブックスの書誌の紹介文は、ステップ・バイ・ステップの体験を本書の形として掲げています。本書が扱う Knative は、AWS Lambda や Google Cloud Run、Azure Container Apps のようなマネージドサービスと違い、自前の Kubernetes クラスターの上で動かす仕組みです。
言及した記事 (2 件)
この本に興味がある方におすすめ
関連する本
関連記事
インフラ / クラウド本ガイド - AWS や Docker を本で学ぶ
クラウドインフラ、コンテナ、IaC を学べる技術書の選び方と学習順序を紹介。インフラ本の賞味期限問題と公式ドキュメントとの使い分けも解説します。
DevOps 本ガイド - CI/CD とインフラ自動化を学ぶ技術書の選び方
DevOps の文化と原則から CI/CD、IaC、オブザーバビリティまで学べる技術書の選び方と学習順序を紹介します。
セキュリティ本ガイド - Web 開発者が読むべき技術書の選び方
Web セキュリティの基礎から実践まで学べる技術書の選び方マトリクスと、読了後にやるべき 3 つのアクションを紹介します。
関連用語
Kubernetes
コンテナのデプロイ、スケーリング、管理を自動化するオープンソースのオーケストレーションプラットフォーム
GoogleCloud
Google が提供するクラウド。データ分析や機械学習、コンテナ技術に強みを持つ
EKS
AWS のマネージド Kubernetes サービス
Docker Compose
複数のコンテナをまとめて定義 / 起動するツールで、ローカル開発環境の構築に使われる
Ingress
Kubernetes クラスター外部からの HTTP/HTTPS トラフィックをサービスにルーティングするリソース
GitOps
Git リポジトリを唯一の正として、インフラとアプリケーションの状態を宣言的に管理する運用手法