はじめに
サーバーレス機能が開発者環境に導入されたことで、多くの人がデータを扱い、アプリケーションを構築する方法が大きく変化しました。サーバーレスアーキテクチャを最大限に理解するためには、遭遇する可能性のある用語を理解することが重要です。
この用語集は、サーバーレスコミュニティで一般的に使用される用語をまとめ、サーバーレスに慣れるのに役立つ定義と文脈を提供することを目的としています。
この用語集は生きたドキュメントであり、現在作成中です。新しいトピックを追加するとともに、既存の項目も時間をかけて改良していく予定です。現時点でカバーする予定の用語の初期リストはありますが、取り上げてほしい内容があれば、GitHubイシューを開いてご提案ください。
PRISMA.IO関連
Prisma Data Platformで、すべてのアプリケーションデータを一元的に管理しましょう。
Prismaは、TypescriptとNode.js向けのオープンソースデータベースツールキットで、アプリ開発者がデータベースを扱う際の生産性と自信を高めることを目指しています。
用語
- APIゲートウェイ
- アプリケーションプログラミングインターフェース(API)ゲートウェイは、クライアントとバックエンドサービスの間に入るAPI管理ツールです。サーバーレスデプロイメントでは、APIゲートウェイは、リクエストを満たすために必要なバックエンドサービスへのルーティングを処理し、適切な結果を返すプロキシとして機能します。
- Backend as a Service (BaaS)
- BaaSは、開発者がアプリケーションのバックエンド、つまり舞台裏のあらゆる側面をアウトソースできるクラウドサービスモデルです。これにより、開発者はフロントエンドの保守に重点を置き、データベース管理、クラウドストレージ、ユーザー認証などのタスクをBaaSプロバイダーに委任することができます。
- コールドスタート
- コンピューティングにおいて、コールドスタートとは、システムまたはその一部が作成または再起動されたときに何らかのレイテンシーを経験し、実行前に遅延が発生する問題を指します。
- コネクションプーリング
- コネクションプーリングとは、データベース接続をキャッシュすることで、データベースへの新しいリクエストが必要になったときに接続を将来的に再利用できるようにすることです。これらは、データベース上でのコマンド実行のパフォーマンスを向上させるために使用されます。
- コンテナ
- コンピューティングにおいて、コンテナとは、アプリケーションのパフォーマンスを向上させるためにコードとそのすべての依存関係をパッケージ化したソフトウェアの単位を指します。コンテナコードは、システムや他のコンテナリソースとの競合を避ける独立した名前空間で実行できます。
- エッジコンピューティング
- エッジコンピューティングは、計算とデータストレージをデータの発生源に近づける分散コンピューティングパラダイムであり、これにより応答時間の改善と帯域幅の節約が期待されます。
- イベント駆動型アーキテクチャ
- イベント駆動型アーキテクチャは、イベントを使用して分散サービス間でトリガーと通信を行い、マイクロサービスアプリケーションで一般的です。イベントとは、更新や識別子の発生など、状態の変化を指します。*イベント駆動型アーキテクチャ*の主要な3つのコンポーネントは、イベントプロデューサー、イベントルーター、イベントコンシューマーです。
- Functions as a Service (FaaS)
- FaaSは、マイクロサービスアプリケーションの構築に通常伴うインフラストを管理することなく、関数を実行できるクラウドコンピューティングサービスの一種です。FaaSにより、開発者はイベントに応答してコードを実行できます。
- レイテンシー
- レイテンシーとは、データパケットがキャプチャされ、デバイスを介して送信・処理され、最終的にその宛先で受信・デコードされるまでの時間のことです。
- ポリグロットシステム/チーム/環境
- ポリグロットシステム/チーム/環境とは、特定のサービスを担当するエンジニアリングチームが、作業したい技術スタックを決定することを許可する慣行です。これはマイクロサービスアーキテクチャで一般的であり、開発者のモチベーションと生産性の向上につながる可能性があります。サーバーレスコンピューティングは、多くの言語をサポートし、アプリケーションの機能を個別の操作に分解することで、ポリグロット開発を可能にします。
- Prisma Accelerate
- The Prisma Accelerate は、アプリケーションとデータベース間の仲介役です。データベース接続プールを維持することで、従来のデータベースをサーバーレス環境で信頼性高く使用できるようにします。
- サーバーレスコンピューティング
- サーバーレスコンピューティング は、クラウドプロバイダーが現在の需要に応じてマシンリソースを割り当てるクラウドコンピューティング実行モデルです。クラウドプロバイダーが顧客に代わってサーバーの管理を行います。
- サーバーレスデータベース
- サーバーレスデータベースとは、サーバーレスコンピューティングモデルの主要な原則を具体化したデータベースのことです。
- 手動サーバー管理なし
- 自動的で弾力的な使用量のスケーリング
- 組み込みのレジリエンスとフォールトトレランス
- 高可用性と即時アクセス
- 消費ベースの課金
その背後にあるコンセプトは、データストレージの責任とデータ処理タスクを分離することです。
- ステートフルデータベース接続
- ステートフルデータベース接続とは、アプリケーションやプロセスが以前のトランザクションのコンテキストで動作する接続です。現在のトランザクションは、以前のトランザクションで発生した事柄によって影響を受ける可能性があります。
- ステートレスサーバーレス関数
- ステートレスなプロセスまたは関数は、以前のリクエストとは独立して実行されます。以前のリクエストに関する知識は保存されていないため、現在のリクエストは影響を受けず、ゼロから作成されたかのように機能します。
- ベンダーロックイン
- ベンダーロックインとは、ソフトウェアアプリケーションのアーキテクチャが、特定のクラウドプロバイダーやツールの提供に合わせて設計されたコンポーネントで構成されている場合に発生します。その結果、別のクラウドプロバイダーに切り替えたり、異なるツールを採用したりする際にコストが発生します。
PRISMA.IO関連
Prisma Data Platformで、すべてのアプリケーションデータを一元的に管理しましょう。
Prismaは、TypescriptとNode.js向けのオープンソースデータベースツールキットで、アプリ開発者がデータベースを扱う際の生産性と自信を高めることを目指しています。