プリンキピア

第12章クラウドネイティブアプリケーション開発

PaaS Deployment OptionsPaaSの配置方法の選択肢
The cloud deployment technologies that are provided through IaaS deployment options are also provided through PaaS deployment options. In addition to the infrastructure provided, PaaS deployment options also provide the operating system, middleware, runtime, and other infrastructural components that also need to be managed with IaaS. PaaS, thus, offers a fully managed solution for developers to quicky deploy and launch their applications, significantly reducing infrastructure and middleware overhead for developers. This allows developers to focus on developing and deploying their applications while the burden of managing the infrastructure, back-end services, and any other system administrative services falls on the cloud service provider.
英語のヒント
IaaSの配置方法を通じて提供されるクラウド配置技術は、PaaSでも提供される。PaaSでは、基盤に加え、IaaSでは管理が必要になるOS、ミドルウェア、実行環境、その他の基盤構成要素も提供される。したがってPaaSは、開発者がアプリケーションを素早く配置し、稼働させるための、完全に管理された仕組みを提供し、基盤やミドルウェアに関する負担を大幅に減らす。その結果、開発者はアプリケーションの開発と配置に集中できる。基盤、バックエンドサービス、その他のシステム管理サービスを管理する負担は、クラウドサービス事業者が引き受ける。
FaaS Deployment OptionsFaaSの配置方法の選択肢
Function as a Service (FaaS) and serverless computing are mostly synonymous. In the cloud-native development model of serverless computing, developers can build and run applications but are not responsible for provisioning, maintaining, and scaling the server infrastructure as this is outsourced to the CSP. The customer is thus focused exclusively on the business logic of the application. As shown in Figure 12.35, navigating up the y-axis toward serverless computing customers focuses more on the business logic and writing the application code abstracting from the underlying infrastructure. Navigating the x-axis toward serverless computing decreases stack implementation and customers have less control of how the application is deployed.
英語のヒント
Function as a Service(FaaS)とサーバーレスコンピューティングは、ほぼ同義である。サーバーレスコンピューティングというクラウドネイティブの開発モデルでは、開発者はアプリケーションを構築して実行できるが、サーバー基盤の用意、保守、規模の拡張には責任を負わない。それらはCSPへ委託するためである。したがって顧客は、アプリケーションの業務ロジックだけに集中する。図12.35で、y軸を上へ、サーバーレスコンピューティングの方向へ進むと、顧客は基盤の詳細から離れ、業務ロジックとアプリケーションコードの記述に、より集中するようになる。x軸をサーバーレスコンピューティングの方向へ進むと、スタックの実装が減り、顧客によるアプリケーションの配置方法の制御は小さくなる。
Figure 12.35

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典

Figure 12.35 Serverless computing provides the highest level of abstraction from the infrastructure with a focus on application development. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図12.35 サーバーレスコンピューティングは、基盤から最も高いレベルで抽象化し、アプリケーション開発に集中できるようにする。(出典:Copyright Rice University, OpenStax、CC BY 4.0ライセンス)
Serverless computing offerings typically fall into two groups, Backend as a Service (BaaS) and Function as a Service (FaaS). Backend as a Service (BaaS) is any third-party service that can be integrated with an application where the BaaS code does not need to be managed, and there are no servers. BaaS gives developers access to a variety of third-party services and apps. For instance, a cloud provider may offer authentication services, extra encryption, cloud-accessible databases, and high-fidelity usage data. With BaaS, serverless functions are usually called through APIs.
英語のヒント
サーバーレスコンピューティングのサービスは、通常、Backend as a Service(BaaS)とFunction as a Service(FaaS)の2種類に分かれる。Backend as a Service(BaaS)は、アプリケーションと統合でき、BaaSのコードを管理する必要がなく、サーバーもない、第三者のサービスである。BaaSでは、開発者はさまざまな第三者のサービスやアプリを利用できる。たとえばクラウド事業者は、認証サービス、追加の暗号化、クラウドからアクセスできるデータベース、精度の高い利用状況データなどを提供する。BaaSでは、通常、APIを通じてサーバーレス関数を呼び出す。
More commonly, when developers refer to serverless, they are talking about a FaaS service model. Function as a Service (FaaS) is a compute platform for serverless where developers can run functions that are single units of deployment of the code, which is run by events. They are typically invoked via an API gateway. An API gateway translates requests to a single endpoint and then routes it to a FaaS function. FaaS/serverless functions have the following basic characteristics:
英語のヒント
開発者がサーバーレスと言うとき、多くの場合、FaaSのサービスモデルを指している。Function as a Service(FaaS)は、サーバーレス向けの計算プラットフォームである。開発者は、コードの単一の配置単位であり、イベントによって実行される関数を動かせる。こうした関数は、通常、APIゲートウェイを介して呼び出される。APIゲートウェイは、要求を単一のエンドポイントへ向けるよう変換し、その後、FaaS関数へ転送する。FaaS/サーバーレス関数には、次の基本的な特徴がある。
• An event-driven architecture, provided by the cloud service provider, is an architecture where functions are invoked by an event. The function may initiate other events, which could invoke other functions.
• クラウドサービス事業者が提供するイベント駆動型アーキテクチャでは、イベントによって関数を呼び出す。その関数が別のイベントを発生させ、それによって別の関数が呼び出されることもある。
• Functions that are a single unit of deployment of the code and configuration run in a managed environment.
• コードと設定の単一の配置単位である関数は、管理された環境で動く。
• Functions are executed in the cloud and run in ephemeral stateless containers.
英語のヒント
• 関数はクラウドで実行され、一時的な、状態を保持しないコンテナーで動く。
LINK TO LEARNING学びを深めるリンク
With FaaS/serverless computing, the cloud service provider manages the infrastructure in its entirety. The FaaS/serverless underlying infrastructure is automatically scaled as demand increases. FaaS/serverless solutions have a faster time to market. Customers are not responsible for the management of any of the underlying infrastructure, making it easier to build and deploy FaaS solutions faster and bring them to market. FaaS/serverless is a polyglot environment. FaaS functions can be written in any language if it is supported by the cloud service providers. FaaS/serverless solutions are inherently highly available. FaaS/serverless solutions can be deployed across multiple availability zones in different geographical regions. Cloud service providers manage fault tolerance and deployment across the available regions making the FaaS/serverless solution highly available.
英語のヒント
FaaS/サーバーレスコンピューティングでは、クラウドサービス事業者が基盤全体を管理する。需要が増すと、基盤の規模は自動的に拡張される。FaaS/サーバーレスの仕組みは、市場へ投入するまでの時間が短い。顧客には基盤を管理する責任が一切ないため、FaaSの仕組みをより速く構築・配置し、市場へ投入しやすい。FaaS/サーバーレスは、多言語の環境である。クラウドサービス事業者が対応していれば、どの言語でもFaaS関数を記述できる。FaaS/サーバーレスの仕組みは、本来、高い可用性を持つ。異なる地理的地域の、複数のアベイラビリティゾーンに配置できる。クラウドサービス事業者が、利用可能な地域全体で耐障害性と配置を管理することで、高い可用性が得られる。
Serverless offerings are usually metered on-demand through an event-driven execution model. Customers pay for execution only. When a serverless function is idle, there is no cost. Customers must, however, be aware that providers place limits on the resources available to functions, processing time, and concurrency of event processing. These constraints must be assessed to ensure the user experience is not degraded.
英語のヒント
サーバーレスのサービスでは、通常、イベント駆動型の実行モデルを通じて、必要に応じた使用量を計測する。顧客が料金を払うのは、実行分だけである。サーバーレス関数が待機中なら、費用はかからない。ただし顧客は、事業者が、関数で利用できる資源、処理時間、イベント処理の同時実行数に制限を設けていることを理解する必要がある。利用者の体験を損なわないよう、これらの制約を評価しなければならない。