Couchbaseウェブサイト
  • 製品紹介
        • プラットフォーム

          • Couchbase カペラデータベース・アズ・ア・サービス
        • セルフマネジメント

          • Couchbaseサーバーオンプレ、マルチクラウド、コミュニティ
        • サービス

          • AIサービス AIを活用したエージェント開発と
            展開
          • 検索 フルテキスト、ハイブリッド、地理空間、ベクトル
          • モバイル組み込みNoSQL、クラウドとエッジの同期、オフライン・ファースト
          • 柱状分析リアルタイム、マルチソース分析
        • 能力

          • インメモリーアーキテクチャスピード、スケール、可用性
          • 柔軟なアプリの構築JSON、SQL++、多目的
          • クラウド・オートメーションKubernetes オペレーター
          • 開発ツールSDK、統合、Capella iQ
          • Couchbase Edgeサーバーリソースに制約のある環境
        • なぜCouchbaseなのか?

          開発者や企業は、ミッションクリティカルなアプリケーションのためにCouchbaseを選択します。

          理由を見る

          カペラへの移行

          Server Enterprise EditionからCouchbase Capellaにアップグレードする主な理由

          理由を見る
  • ソリューション
        • ユースケース別

          • 人工知能
          • キャッシュとセッション管理
          • アダプティブ製品カタログ
          • スマート・パーソナライゼーションとプロファイル
          • アダプティブ・フィールド・サービス
          • AIのためのリアルタイム分析
          • すべての使用例を見る
        • 業界別

          • 金融サービス
          • ゲーミング
          • ハイテク
          • エンターテイメント
          • 小売
          • トラベル&ホスピタリティ
          • すべての業種を見る
        • アプリケーションの必要性

          • アプリケーション・パフォーマンス
          • 分散ワークロード
          • アプリケーションの柔軟性
          • モバイル、IoT、エッジ
          • 開発者の生産性
          • 高いオペレーションコスト
          • すべてのアプリケーションのニーズを見る
  • リソース
        • 人気のドキュメント

          • カペラ概要
          • サーバー概要
          • モバイル&エッジの概要
          • 接続アプリ(SDK)
          • チュートリアル&サンプル
          • ホーム
        • 開発者の役割別

          • AI開発者
          • バックエンド
          • フルスタック
          • モバイル
          • オペレーション / DBA
          • 開発者ホーム
        • クイックスタート

          • ブログ
          • ウェブキャスト&イベント
          • ビデオ&プレゼンテーション
          • ホワイトペーパー
          • トレーニングと認定
          • Forums
        • リソースセンター

          すべてのCouchbaseリソースを1つの便利な場所で見る

          見てみよう
  • 会社名
        • について

          • 会社概要
          • リーダーシップ
          • お客様
          • 投資家
          • ブログ
          • ニュースルーム
          • 採用情報
        • パートナーシップ

          • パートナーを探す
          • パートナーになる
          • 案件登録
        • サービス

          • プロフェッショナル・サービス
          • エンタープライズ・サポート
        • パートナー案件登録

          Couchbaseとの取引を登録する準備はできていますか?

          あなたのパートナーの詳細と、登録するプロスペクトについてお知らせください。

          ここからスタート
          マリオット

          Marriottは、信頼性の高いパーソナライズされた顧客体験のために、MongoDBやCassandraよりもCouchbaseを選択しました。

          さらに詳しく
  • 価格
  • 無料体験
  • サインイン
  • Japanese
    • Italian
    • German
    • French
    • Portuguese
    • Spanish
    • Korean
    • English
  • search
Couchbaseウェブサイト

サーバーレス・アーキテクチャ

サーバーレスアーキテクチャは、リソースに制約のある開発者にとって理想的なデプロイメントプラットフォームとなり得る。

  • サーバーレスアプリの構築
  • さらに詳しく

サーバーレスアーキテクチャとは何か?

サーバーレス・アーキテクチャーとは、開発者が従来のサーバーを管理することなくアプリケーションを構築・実行するクラウド・コンピューティング・モデルである。サーバーはまだ存在するが、クラウド上にあり、クラウド・プロバイダーがインフラ、スケーリング、リソース割り当てを自動的に処理する。

サーバーレス・アプリケーションでは、開発者は通常、イベントやトリガーに応答して実行される分離された関数としてコードを記述し、クラウド・プロバイダーは実際に使用されたコンピュート・リソースに対してのみ課金する。このアプローチは、アプリケーション開発を簡素化し、運用上のオーバーヘッドを削減し、迅速なスケーラビリティを可能にするため、マイクロサービスやイベント駆動型アプリケーションに最適である。

このページで取り上げている:

  • サーバーレスアーキテクチャの仕組み
  • サーバーレスアーキテクチャの主要概念
  • サーバーレスアーキテクチャを使用するタイミング
  • サーバーレスアーキテクチャの利点
  • サーバーレスアーキテクチャの限界
  • サーバーレス・コンピューティング・ツール
  • 結論

サーバーレスアーキテクチャの仕組み

サーバーレスアーキテクチャは、開発者からサーバーの管理を抽象化し、基盤となるインフラの処理をクラウドプロバイダーに依存する。一般的な仕組みはこうだ:
1. 関数の作成: 開発者は個々の関数としてコードを記述し、各関数は特定のタスクやサービスを実行するように設計されている。サーバーレス・アーキテクチャは、Function-as-a-Service(ファンクション・アズ・ア・サービス)または ファース.

2. 機能展開: 関数はパッケージ化され、クラウドサービスプロバイダーが提供するサーバーレスプラットフォームにデプロイされる。最も一般的なサーバーレスプラットフォームは、AWS Lambda、Azure Functions、Google Cloud Functionsだ。

3. イベントのトリガー: 関数は、特定のイベントやトリガーに反応して実行されるように設定される。イベントには、HTTPリクエスト(例:API Gateway)、データの変更(例:データベースの更新)、タイマー、ファイルのアップロード、その他が含まれる。クラウド・プロバイダーはイベント・ソースを管理し、関連する関数を自動的に呼び出す。

4. オートスケーリング: イベントが発生すると、サーバーレス・プラットフォームは自動的に基礎となるリソースをスケールしてワークロードに対応する。リクエストが急増した場合、クラウド・プロバイダーはより多くのリソースを提供する。

5. 実行する: イベントが関数をトリガーすると、サーバーレス・プラットフォームはその関数用のコンテナやランタイム環境を初期化する。関数内のコードが実行され、必要なリソースやデータにアクセスできる。関数がタスクを完了した後、コンテナは短期間ウォーム状態のままとなり、後続のリクエストをより迅速に実行できるようになる。

6. 請求書: 課金は、関数が実際に使用した実行時間とリソースに基づいて行われます。実行ごとに課金され、実行中に割り当てられたCPUやメモリなどの計算リソースに対して課金されます。

7. 無国籍: サーバーレス関数は通常ステートレスで、呼び出しの間に情報を保持しない。必要な状態やデータは外部、多くの場合はデータベースやストレージ・サービスに保存する必要がある。

8. ログとモニタリング サーバーレス・プラットフォームは通常、組み込みのロギングとモニタリング・ツールを提供し、開発者がパフォーマンスを追跡したり、機能の問題をトラブルシューティングしたりできるようにしている。

サーバーレスアーキテクチャの主要概念

サーバーレス開発は従来の開発に代わるものであるため、サーバーレスアプリケーションの設計、デプロイ、管理方法を明確に理解するために、以下の用語や概念に精通しておく必要がある:
召喚: サーバーレス関数の実行をトリガーするイベント。HTTPリクエスト、データベースの更新、スケジュールされたタイマーなどが例として挙げられる。

期間 サーバーレス関数の実行にかかる時間で、実行コストを計算する際の要素となる。

コールドスタート: サーバーレス機能を最初に実行することで、クラウドプロバイダーがリソースをプロビジョニングし、実行環境をセットアップする。コールドスタートでは、ウォームスタートに比べてさらに待ち時間が発生する。

ウォームスタート: 実行環境がすでに準備されているときにサーバーレス関数の後続実行を行うことで、コールドスタートと比較して応答時間が短縮される。

同時実行の制限: サーバーレスプラットフォームが許容する関数の最大同時実行数。この制限は、同時リクエストやイベントを処理する能力に影響を与える可能性がある。

タイムアウト: サーバーレス関数の実行時間の最大許容値。関数がこの制限を超えると強制的に終了し、結果が返されなくなる可能性があります。

イベント・ソース サーバーレス機能をトリガーするイベントの発生源。イベントソースの例としては、Amazon S3バケット、APIゲートウェイ、メッセージキュー、データベースの更新などがある。

無国籍: サーバーレス関数は通常ステートレスで、呼び出しの間にデータを保持しない。必要なステートは、データベースやストレージ・サービスに外部保存する必要がある。

資源配分: サーバーレス関数のCPUやメモリなどの計算リソースの指定。これらのリソースは、関数を定義する際に開発者が選択することが多い。

オートスケーリング: クラウドプロバイダーによるサーバーレスリソースの自動調整により、さまざまなワークロードに対応し、最適なパフォーマンスを確保する。

サーバーレス・データベース: サーバーレスデータベースは、インフラを公開することなく、弾力的にスケーリングできるデータベースである。 Couchbase Capella™ DBaaS は完全に管理されたサーバーレス・データベースの例である。

サーバーレスアーキテクチャを使用するタイミング

サーバーレスアーキテクチャは汎用性が高いものの、すべてのユースケースに最適な選択というわけではありません。長時間実行するタスク、高い計算要件、一貫性のあるワークロードを持つアプリケーションでは、従来のサーバーベースアーキテクチャの方がメリットが大きいことがよくあります。サーバーレスがアプリケーションに適しているかどうかを判断する際には、具体的な要件とサーバーレス独自の強みを考慮するようにしてください。

サーバーレスアーキテクチャの使用例

サーバーレスアーキテクチャの最も一般的で最適なユースケースには、以下のようなものがある:
ウェブとモバイルアプリ: ウェブやモバイルアプリのバックエンドを処理し、コンテンツを提供し、ユーザーリクエストを処理し、ユーザー認証を管理する。

API: RESTfulおよびGraphQL APIを自動拡張し、他のサービスと簡単に統合できます。

IoTだ: センサーデータでイベントをトリガーするIoTデバイスからのデータ処理と分析を効率的に管理します。

リアルタイムのデータ処理: クリックストリーム分析、ログ処理、イベントドリブン分析など、リアルタイムのデータストリームを処理します。

バッチ処理: データETL(抽出、変換、ロード)、レポート作成、データクレンジングなどのバッチジョブを定期的またはオンデマンドで実行します。

ファイルやデータの保存作業: クラウドストレージサービスと連携し、ファイルのアップロード、ダウンロード、データ操作を管理。

ユーザー認証と承認: ユーザー認証と認可のためのアイデンティティ・アクセス管理(IAM)サービスは、サーバーレス機能に適している。

通知サービス: 特定のイベントやトリガーに応じて、Eメール、SMS、プッシュ通知などの通知やアラートを送信します。

チャットボットとバーチャルアシスタント: 自然言語によるリクエストを処理し、応答を生成する機能を備えた会話型インターフェースを構築する。

データと画像処理: 画像サイズ変更、フォーマット変換、データ変換など、ユーザーの操作を最小限に抑えるタスクを実行します。

スケジュールされたタスク: データバックアップ、レポート作成、データベースメンテナンスなどの定期的なタスクを自動化します。

マイクロサービス: より大きなアプリケーションの中で個々のマイクロサービスを作成・管理し、容易なスケーリングと独立したデプロイを可能にします。

セキュリティおよびコンプライアンス・サービス 侵入検知、監視、コンプライアンス監査などのセキュリティ関連機能を実装する。

サーバーレスとコンテナの比較

一見すると、サーバーレスアーキテクチャはコンテナアーキテクチャやマイクロサービスアーキテクチャと混同されることがある。実際には、サーバーレスは両者とは全く異なるものであり、何が異なるのかを説明する。

何 容器 とサーバーレスの共通点は、どちらも開発者がホスト環境を抽象化してアプリケーションコードをデプロイできるようにすることだ。しかし、重要な違いの1つは、サーバーレスがサーバー管理を完全に抽象化するのに対し、コンテナは開発者がインフラをよりコントロールしながら独自のサーバー環境を管理できることだ。

軽量な仮想化の一形態として、コンテナはアプリケーションとその依存関係を分離された一貫性のある環境にパッケージ化し、共有オペレーティング・システム上で独立したインスタンスとして実行する。コンテナは、開発環境から本番環境まで、さまざまな環境でアプリケーションが一貫して動作することを保証する方法を提供し、ソフトウェアをパッケージ化して配布する標準化された方法を提供する。コンテナは通常長時間実行され、1つのコンテナ内に複数のプロセスを含めることができる。

要するに、サーバーレス・コンピューティングはサーバーの管理を抽象化し、イベント駆動型の短時間のタスクに最適であるのに対し、コンテナーはサーバー環境の制御を強化し、長時間稼働するプロセスや一貫性のあるワークロードに適している。どちらを選択するかは、アプリケーションの具体的な要件と、基盤となるインフラストラクチャの制御レベルによって決まる。場合によっては、1つのアプリケーション内で、異なるコンポーネントに両方のテクノロジーを組み合わせて使用することもある。

サーバーレス vs マイクロサービス

マイクロサービス は、アプリケーションを、APIを介して通信し、複雑でモジュール化された機能を提供するために連携する、小規模で独立してデプロイ可能なサービスの集合体として構造化するソフトウェアアーキテクチャパターンである。マイクロサービスとサーバーレスアーキテクチャの混同は、モジュール性とスケーラビリティを重視する両者の共通点から生じることが多い。さらに境界線を曖昧にしているのは、より大規模なマイクロサービスベースのアプリケーションの中で、サーバーレス機能がマイクロサービスとして機能するなど、両者が併用されることが多いことだ。

類似点はあるものの、サーバーレスとマイクロサービスには以下のような独自の特徴があり、両者は一線を画している:

インフラ管理

  • マイクロサービス 開発者は、サーバーとコンテナのオーケストレーションをコントロールできる。
  • サーバーレス サーバー管理は完全に抽象化され、開発者は基盤となるインフラを扱う必要がない。

実行モデル

  • マイクロサービス 専用サーバーインスタンスで継続的に実行される。
  • サーバーレス 関数はイベントやトリガーに反応して実行される。この違いは、サーバーレスアプリケーションがコールドスタートを経験する可能性があるため、レスポンスタイムの違いにつながる可能性がある。

コストモデル

  • マイクロサービス は、サーバー・リソースのプロビジョニングと保守を必要とする。このため、利用が少ない期間でも継続的にコストがかかる可能性があります。
  • サーバーレス は、実際の機能実行に基づく従量課金モデルに従う。これは、散発的なワークロードの場合、よりコスト効率が高くなります。

モジュール性

  • マイクロサービス アプリケーションは小さな独立したサービスに分割される。
  • サーバーレス 開発者は、個々の機能単位としてコードを書く。

スケーラビリティ

  • マイクロサービス 各サービスの独立したスケーリングを可能にする。
  • サーバーレス は、個々の機能を自動的にスケーリングする。

サーバーレスアーキテクチャの利点

サーバーレスアーキテクチャは、多くのアプリケーションやユースケースにとって魅力的な選択肢となる幅広いメリットを提供する。最も魅力的な利点は以下の通りだ:

自動スケーリング: サーバーレス・アーキテクチャ・プラットフォームは、入力されるワークロードに基づいてリソースを自動的に増減します。これにより、アプリケーションはさまざまなレベルのトラフィックに対応できるようになり、手動による介入なしに高い可用性とパフォーマンスを実現できます。

コスト効率: サーバーレスでは、関数の実行中に実際に使用されたコンピュート・リソースに対してのみ支払いが発生します。アイドルタイムに関連するコストは発生しないため、特に予測不可能なトラフィックや散発的なトラフィックを伴うワークロードでは、費用対効果が高くなります。

オペレーション・オーバーヘッドの削減: サーバーレスはサーバー管理タスクを抽象化するため、開発者はインフラのメンテナンスよりもコードに集中できる。これにより、DevOpsの必要性が減り、デプロイとスケーリングが簡素化される。

より速い開発: サーバーレスは、サーバーやインフラを管理する必要性を排除することで、開発プロセスを加速させる。開発者はコードを素早く反復してデプロイできるため、アプリケーションの市場投入までの時間が短縮される。

レジリエンス: サーバーレス機能は一般的にステートレスであり、データの永続性を外部ストレージサービスやデータベースに依存する設計を促進する。これは、より弾力的で耐障害性の高いアプリケーションにつながる可能性がある。

ロギングとモニタリングを内蔵: サーバーレス・プラットフォームは、多くの場合、モニタリングとロギングのための組み込みツールを提供し、開発者がパフォーマンスを追跡し、問題をトラブルシューティングし、アプリケーションの動作に関する洞察を得ることを可能にする。

ベンダーの囲い込みを減らす: 多くの機能は比較的ベンダーに依存しないように設計できるため、移行や異なるクラウドプロバイダーのサービスの統合が容易になる。次のサーバーレスの制限のセクションで説明するように、これは必ずしもそうではない。

高い可用性: サーバーレス・プラットフォームは、冗長性とフェイルオーバー・メカニズムが組み込まれ、可用性が高くなるように設計されています。これにより、障害が発生してもアプリケーションへのアクセスや応答性を維持することができます。

エネルギーと資源の効率化: サーバーレス・プラットフォームの自動スケーリングとリソース管理は、エネルギー効率とリソース利用の改善につながり、環境への影響を軽減する。

サーバーレスアーキテクチャの限界

サーバーレスアーキテクチャには多くの利点がある一方で、限界もある。サーバーレスの特定の特徴は、利点や課題として現れる可能性がある。特定のアプリケーションに対してサーバーレスを評価する際には、以下に関連する要件や制約を考慮してください:
コールドスタート: サーバーレス関数は、クラウドプロバイダーが新しい実行環境を初期化する必要があるため、関数が最初に呼び出されたときに遅延が発生する可能性がある。この遅延は、常に高速なレスポンスタイムを必要とするアプリケーションにとって問題となる可能性がある。

リソースの制約: サーバーレス・プラットフォームは、メモリや実行時間の制限などのリソース制約を課す。これらの制約は、計算集約的なタスクや長時間実行するプロセスを必要とするアプリケーションにとって制限となり得る。

無国籍: サーバーレス関数は通常ステートレスで、呼び出しの間にデータを保持しない。これは(上記で説明したように)耐障害性の向上に役立つが、データの永続化のために外部のデータベースやストレージ・サービスを使用すると、アプリケーションによっては複雑さが増す可能性がある。

ベンダーロックイン: 多くの機能は比較的ベンダーに依存しないように設計できるが、アプリケーションにはプラットフォーム固有の構成や統合があり、別のクラウド・プロバイダーに移行するのが難しい場合がある。

複雑なデバッグ: サーバーレスアプリケーションのデバッグとトラブルシューティングは、サーバーレスアーキテクチャではより困難になる可能性がある。なぜなら、機能が分散していることと、サーバーに直接アクセスできないことが、問題の特定と解決を難しくしているからだ。

現地でのテストは限定的: ローカルでのテストではクラウドでの実行環境を完全に再現できない可能性があるため、サーバーレス関数をローカルで開発・テストすることは困難な場合がある。開発者は多くの場合、徹底的なテストのためにサーバーレスプラットフォームに関数をデプロイする必要がある。

サーバーレス・コンピューティング・ツール

開発者が好きなコーディング言語やクラウド・サービス・プロバイダーを使ってサーバーレス・アプリケーションを構築、デプロイ、管理できるサーバーレス・コンピューティング・プラットフォームやツールは数多くある。最も人気のあるものをいくつか紹介しよう:

プラットフォーム

アマゾンのAWSラムダ は様々なプログラミング言語をサポートし、他のAWSサービスとシームレスに統合する。AWSはまた、RESTful APIを作成し、Lambda関数をトリガーするためのAPIゲートウェイも提供している。

マイクロソフトのAzure Functions は、Azureクラウドエコシステム内で提供されるサーバーレス製品だ。複数の言語をサポートし、Azureサービスとの統合を提供するため、Windowsベースのアプリケーションにとって強力な選択肢となる。

グーグルのクラウドファンクション 複数のプログラミング言語をサポートし、Google Cloudの他のサービスともうまく統合できるため、Google Cloudのエコシステム内でアプリケーションを構築するのに適している。

IBM Cloud Functions はApache OpenWhiskフレームワークをベースにしており、様々な言語を使ってIBM Cloudサービスと統合することができます。

アリババ・クラウド・ファンクション・コンピュート 開発者はAlibaba Cloudエコシステムでアプリケーションを構築し、複数の言語を使用して他のAlibaba Cloudサービスと統合することができます。

ツール

ネットリファイ は静的なウェブサイトをホスティングするプラットフォームとしてよく知られているが、バックエンド・サービス、API、ワークフローを構築するためのサーバーレス機能も提供している。

オープンファース は、コンテナベースの機能のためのオープンソースのサーバーレス・フレームワークである。Dockerコンテナを使ってサーバーレス機能を構築し、実行することができる。

核分裂 もオープンソースのKubernetesネイティブサーバーレスフレームワークで、複数の言語をサポートし、Kubernetesクラスタに簡単にデプロイできるように設計されている。

結論

サーバーレスアーキテクチャは、ウェブやモバイルアプリケーション、IoT、リアルタイムデータ処理、その他の一般的なユースケースに人気がある。管理責任は、AWS Lambda、Azure Functions、Google Cloud Functionsのようなクラウドプロバイダーに委ねられるため、クラウドプロバイダーは基盤となるインフラを処理し、ワークロードの変化に合わせてリソースを自動的にスケールさせることができる。しかし、サーバーレスはすべてのユースケースに理想的というわけではなく、特定のワークロードや長時間実行するタスクは、従来のサーバーベースのアプローチの方が適している場合もある。

サーバーレス・アーキテクチャと関連テクノロジーについてもっと知りたい方は、以下のリソースをご覧ください:

クラウド・コンピューティングによるサーバーレス・アーキテクチャ
Couchbase 2023年の予測 - エッジコンピューティング、サーバーレスなど
カペラ・アプリ・サービス(BaaS)
私たちのウェブサイトをご覧ください。 コンセプト・ハブ データベースに関するその他のトピックについて学ぶ。

建設開始

当社の開発者ポータルをチェックして、NoSQLを探求し、リソースを閲覧し、チュートリアルから始めましょう。

今すぐ開発する
カペラを無料で利用

わずか数クリックでCouchbaseをハンズオン。Capella DBaaSは、最も簡単かつ迅速に始めることができます。

無料
連絡先

Couchbaseのサービスについてもっと知りたいですか?私たちにお任せください。

お問い合わせ
ポップアップ画像
Couchbase

3155オルセン・ドライブ
スイート150、サンノゼ
米国カリフォルニア州95117

会社

  • について
  • リーダーシップ
  • ニュース&プレス
  • 投資家情報
  • 採用情報
  • イベント
  • リーガル
  • お問い合わせ

サポート

  • 開発者ポータル
  • ドキュメンテーション
  • フォーラム
  • プロフェッショナル・サービス
  • サポートログイン
  • サポートポリシー
  • トレーニング

クイックリンク

  • ブログ
  • ダウンロード
  • オンライン・トレーニング
  • リソース
  • なぜNoSQLなのか
  • 価格

フォローする

  • ツイッター
  • LinkedIn
  • ユーチューブ
  • フェイスブック
  • ギットハブ
  • スタック・オーバーフロー
  • ディスコード
© 2025 Couchbase, Inc.CouchbaseおよびCouchbaseロゴは、Couchbase, Inc.の登録商標です。の登録商標です。 Couchbase,Inc.によって参照されるすべてのサードパーティの商標(ロゴおよびアイコンを含む)は、各所有者の財産です。 は、それぞれの所有者に帰属します。
  • 利用規約
  • プライバシーポリシー
  • クッキーポリシー
  • サポートポリシー
  • 私の個人情報を販売しないでください
  • マーケティング・プリファレンス・センター