第1章 クラウドネイティブ入門 クラウドネイティブ入門
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
ソフトウェア開発の状況は、最新のアーキテクチャ・パラダイムとテクノロジーによって常に変化し、進化している。時折、画期的なテクノロジーやアプローチの出現によって、ソフトウェア・アーキテクチャは根本的な変化を遂げる。そのようなブレークスルーのひとつが、クラウド・ネイティブ・アーキテクチャだ。これはソフトウェア・アプリケーション開発の文脈における大きな変化であり、ソフトウェア・アプリケーションの構築、出荷、管理の方法を変えるものだ。クラウド・ネイティブ・アーキテクチャは、ソフトウェア・アプリケーションの俊敏性、スピード、安全性、適応性を実現するものとなった。
この章では、クラウド・ネイティブ・アプリケーションの主な特徴を探ることで、クラウド・ネイティブとは何かを理解するのに役立つ。また、クラウド・ネイティブ・アプリケーションのライフサイクルを通じて使用できる開発手法を紹介する。そして、クラウド・ネイティブ・アプリケーションの開発においてデザイン・パターンを使用することの重要性に焦点を当てる。クラウド・ネイティブの定義から話を始めよう。
クラウドネイティブとは何か?
では、クラウド・ネイティブの正式な定義は何だろうか?悲しいことに、そのような定義はない。クラウドネイティブの意味は人によって異なる。最も近い一般化定義はCloud Native Computing Foundation(CNCF)によるもので、持続可能なエコシステムを構築し、オープンソースのクラウドネイティブアプリケーションの成長と健全性をサポートするコミュニティを育成することを目的とした組織だ。CNCFは、クラウド・ネイティブ・アプリケーションの構築に使用できる、急成長している多くのオープンソース・プロジェクトのベンダニュートラルな拠点として機能している。
CNCFによるクラウドネイティブ定義
クラウドネイティブ・テクノロジは、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなど、最新の動的環境でスケーラブルなアプリケーションを構築し、実行できるようにする。コンテナ、サービスメッシュ、マイクロサービス、不変性インフラ、宣言型APIは、このアプローチの一例である。これらのテクニックは、レジリエンス、管理性、可観測性を備えた疎結合システムを可能にする。堅牢な自動化と組み合わせることで、エンジニアは最小限の労力で、インパクトの大きい変更を頻繁に、予測可能に行うことができる。
本書では、クラウド ネイティブの定義にボトムアップ アプローチを採用する。設計、開発、パッケージング、デプロイ、ガバナンスなど、クラウド ネイティブ アプリケーションのライフサイクルのあらゆる段階を経ることで、クラウド ネイティブ アプリケーションのあらゆる特性を総合的に検討する。これらの特徴に基づき、以下の定義を導き出した:
クラウドネイティブとは、動的な環境(パブリック、プライベート、ハイブリッド、マルチクラウド)上で自動化、スケーラブル、レジリエンス、管理可能、可観測性で実行できる、独立した疎結合のビジネス能力指向サービス(マイクロサービス)の集合体としてソフトウェアアプリケーションを構築することである。
これらの特徴を探ることは、クラウド・ネイティブ・アプリケーションの理解に役立つ。 の定義にある特徴をさらに詳しく見てみよう。 ...
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