Skip to Content
Kubernetesパターン 第2版 ―クラウドネイティブアプリケーションのための再利用可能パターン
book

Kubernetesパターン 第2版 ―クラウドネイティブアプリケーションのための再利用可能パターン

by Bilgin Ibryam, Roland Huß, 松浦 隼人
September 2024
Intermediate to advanced
392 pages
5h 35m
Japanese
O'Reilly Japan, Inc.
Content preview from Kubernetesパターン 第2版 ―クラウドネイティブアプリケーションのための再利用可能パターン

11章Stateless Service(ステートレスサービス)

Stateless Service(ステートレスサービス)パターンは、同一で短期間のみ動くレプリカから構成されるアプリケーションの作成と運用の方法を説明するものです。アプリケーションを迅速にスケールし、かつ可用性を高められる動的なクラウド環境に最適なのがこれらのアプリケーションです。

11.1 問題

マイクロサービスアーキテクチャスタイルは、全く新しいクラウドネイティブアプリケーションを実装するなら有力な選択肢になります。このアーキテクチャに影響力を持たせる原則には、1つのことだけを扱う、データの持ち方、うまくカプセル化されたデプロイの境界といったことが含まれます。通常このようなアプリケーションは、動的なクラウド環境においてKubernetesでアプリケーションを運用しやすくする原則であるThe Twelve Factor App(https://12factor.net/)にも従っています。

これらの原則に従うには、ビジネスドメインを理解し、サービス境界を明確にし、サービスの実装時にはドメイン駆動デザインを適用するか、類似の方法論を適用する必要があります。これ以外の原則も実装することで、サービスを短時間だけ動くものにすることもできるでしょう。つまり、サービスを作成し、スケールし、削除されると言う流れが副作用なく行えると言うことです。このような仕組みは、サービスがステートフルではなくステートレスな時には簡単に構築できます。

ステートレスなサービスは、サービスのやり取りをまたがってインスタンス内に一切のステート(state)の情報を保持しません。この本では、内部ストレージ(メモリや一時ファイルシステム)に、将来のリクエストを処理するのに必須な一切の情報をコンテナが保持しないなら、そのコンテナはステートレスであるとします。ステートレスなプロセスは、過去のリクエストについての知識や参照情報を保持しないので、各リクエストはゼロから始まっているように扱われます。もしプロセスがそのような情報を保存する必要があるなら、その情報はデータベース、メッセージキュー、マウントされたファイルシステム、あるいは他のインスタンスからアクセスできる別のデータストアに保存される必要があります。思考実験として、サービスのインスタンスが別のノードにデプロイされ、スティッキーセッション(クライアントとサービスインスタンス間の関係を固定しないこと)なしでインスタンスにリクエストをランダムに分散するロードバランサを考えてみるとよいでしょう。もしその構成においてサービスが目的を果たせるなら、それはステートレスサービスである可能性が高いです(あるいはデータグリッドのような、インスタンス間でステートを分散できる仕組みがある場合もあります)。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

エンジニアリングマネージャーのしごと ―チームが必要とするマネージャーになる方法

エンジニアリングマネージャーのしごと ―チームが必要とするマネージャーになる方法

James Stanier, 吉羽 龍太郎, 永瀬 美穂, 原田 騎郎, 竹葉 美沙
プログラミング言語AWK 第2版

プログラミング言語AWK 第2版

Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger, 千住 治郎
進化的アーキテクチャ ―絶え間ない変化を支える

進化的アーキテクチャ ―絶え間ない変化を支える

Neal Ford, Rebecca Parsons, Patrick Kua, 島田 浩二

Publisher Resources

ISBN: 9784814400881Publisher Website