クラウド コンピューティングの発展に伴い、サーバーレス コンピューティングはますます多くの企業の注目を集めています。ただし、この概念の背後には、多くのサーバーが依然として静かに支援しているという秘密があります。 ISO/IEC 22123-2 の定義によれば、サーバーレス コンピューティングにより、顧客はハードウェアまたはソフトウェア リソースの構成、導入、管理を行わずにクラウド サービスを使用できるようになり、アプリケーション コードまたはデータを提供するだけで済みます。
クラウド サービス プロバイダーは開発者のコードを実行するために依然としてサーバーを必要とするため、サーバーレスという用語は完全に正確ではありません。
サーバーの存在により、サーバーレス コンピューティングの定義が変わります。 Ben Kehoe は、サーバーレス コンピューティングを厳密な定義ではなく、スペクトルとして捉えるべきだと提案しました。これは、企業が特定のテクノロジーの狭い定義に制限されるのではなく、サーバーレス ソリューションの利点を活用することに重点を置く必要があることを意味します。 Gregor Hohpe 氏によると、サーバーレス コンピューティングはコード展開のプロセスを簡素化しますが、複雑さが完全に排除されるわけではなく、複雑さが運用チームから開発チームに移されるそうです。
サーバーレス コードは、マイクロサービスやモノリシック アーキテクチャなどの従来のスタイルで使用することも、構成されたサーバーにまったく依存せずに使用することもできます。これを、ピアツーピア (P2P) モデルなど、実際のサーバーを実行する必要のない特定のコンピューティング モデルやネットワーク モデルと混同しないでください。 Yan Cui 氏によると、サーバーレス コンピューティングは、顧客価値をより迅速に提供できる場合に採用されるべきです。
サーバーレス ベンダーが提供するコンピューティング ランタイムは、アプリケーション ロジックを実行できますが、データ ストレージを担当しません。一般的なランタイム モデルには、Function as a Service (FaaS) や Container as a Service (CaaS) が含まれます。一般的にサポートされる言語には、Java、Python、PHP が含まれます。
サーバーレス コンピューティングの歴史は、2006 年に発売された Zimki にまで遡ることができますが、このプラットフォームは成功しませんでした。その後、Google は 2008 年に、課金アプリケーションを提供する最初のモジュールとなる Google App Engine を立ち上げました。
AWS Lambda は 2014 年に Amazon によって発売され、サーバーレス コンピューティングの抽象モデルがさらに普及しました。
Amazon Aurora や Azure Data Lake などのサーバーレス データベースも、このコンピューティング モデルをリレーショナル データベース管理システム (RDBMS) に拡張することに成功し、物理または仮想データベース ハードウェアの構成や拡張の必要性を排除しています。この変化により、企業はインフラストラクチャではなくビジネス ロジックに重点を置くことができるようになります。
サーバーレス コンピューティングには、特に費用対効果と柔軟性の点で、複数の利点があります。このコンピューティング モデルは、固定サーバーのリースや処理にかかる高額な費用を回避し、需要の変化に応じて自動的に拡張します。開発チームはインフラストラクチャに深く入り込むことなくコードを迅速に実行できるため、ビジネス ロジックと顧客価値の提供により集中できるようになります。
ただし、サーバーレス コンピューティングには課題がないわけではありません。応答の遅延、リソースの制約、監視とデバッグの難しさ、セキュリティ上の懸念はすべて、企業がサーバーレス ソリューションを導入する際に慎重に考慮する必要がある要因です。
ブルート フォース攻撃や欠陥のあるコードによって、ユーザーは予期せぬ支払い変動を引き起こす可能性があり、これが「請求ショック」のリスクです。
さらに、サードパーティが提供するサーバーレス サービスに依存すると、ベンダー ロックインの問題が発生する可能性があり、企業はワークロードを移行する際に困難に直面することになります。
DevSecOps プラクティスを採用すると、企業はサーバーレス テクノロジを効率的に使用および保護できるようになり、開発とセキュリティの境界がさらに曖昧になり、セキュリティが多者間の協力の重要な要素になります。
この新たなコンピューティング モデルは技術的には多くの問題を解決できますが、実際のビジネス アプリケーションでは、企業は依然としてこのモデルを慎重に検討する必要があり、利便性を理由に潜在的なリスクを無視することはできません。このように急速に発展するテクノロジー分野に直面して、企業はサーバーレス コンピューティングによってもたらされる課題と機会に対処する準備ができていますか?