Function as a Service(FaaS)は、マイクロサービス・アプリケーションの構築と起動に通常伴う複雑なインフラストラクチャーを管理することなく、イベントに応じてコードを実行できるクラウド・コンピューティング・サービスです。
インターネット上でソフトウェア・アプリケーションをホストするには、通常、仮想サーバーまたは物理サーバーのプロビジョニングと管理、およびオペレーティング・システムとWebサーバーのホスティング・プロセスを管理する必要があります。FaaSでは、物理ハードウェア、仮想マシンのオペレーティング・システム、Webサーバー・ソフトウェアの管理はすべて、クラウド・サービス・プロバイダーによって自動的に処理されます。この機能により、開発者はアプリケーション・コード内の個々の機能にのみ集中できます。
サーバーレスと Functions-as-a-Service (FaaS) はよく混同されますが、実際のところ、FaaS は実際にはサーバーレスのサブセットです。
サーバーレスは、コンピューティング、ストレージ、データベース、メッセージング、APIゲートウェイなど、サーバーの構成、管理、課金がユーザーには見えないあらゆるサービス・カテゴリーに重点を置いています。
一方、FaaSはサーバーレス・アーキテクチャーで最も中心的なテクノロジーであるかもしれませんが、アプリケーション・コードまたはコンテナがイベントまたはリクエストに応答してのみ実行されるイベント駆動型コンピューティング・パラダイムに焦点を当てています。
一方、FaaSは、アプリケーションを効率的かつコスト効率よくクラウドに移行するための貴重なツールです。その他のメリットには以下のようなものがあります。
FaaSの導入を容易にし、より効果的に使用するために従うことができるベスト・プラクティスがいくつかあります。
FaaSはトランザクションを簡単に分離して拡張できるため、大量の並列ワークロードに適しています。バックエンド・システムの作成や、データ処理、形式変換、エンコード、データ集約などのアクティビティにも使用できます。
FaaSは、Webアプリ、バックエンド、データ/ストリーム処理、またはオンライン・チャットボットやIoTデバイス用のバックエンド作成のための優れたツールでもあります。FaaSは、サード・パーティー・サービスの管理と使用に役立ちます。例えばAndroidアプリの開発を検討している場合、FaaSアプローチを採用することでコストを抑えることができます。アプリがバッチ処理などの特定の機能のためにクラウドに接続する場合にのみ料金が発生するため、従来のアプローチを使用する場合よりもコストを大幅に下げることができます。
FaaSはコンピューティング・パフォーマンスを劇的に向上させることもできます。例えば、2人の学生は最近、IBMのエンジニアと協力して、 IBM Cloud Functionsを使用してモンテカルロ・シミュレーション(予測困難な特定の事象の将来の結果を推定するために使用される数学的手法)を行い、株価を推定する方法を探りました。モンテカルロ・シミュレーションは、重要なハイパフォーマンス・コンピューティング・ワークロードとみなされます。
モンテカルロとIBM Cloud Functionsの組み合わせにより、チームは大規模な計算を実行できるようになり、ビジネスロジックに集中できるようになりました。FaaSを使用して、チームは1,000回の同時呼び出しによるモンテカルロ・シミュレーション全体を約90秒で完了しました。比較すると、4つのCPUコアを搭載したノートPCで同じフローを実行すると247分かかり、CPU使用率はほぼ100%になりました。
FaaS、PaaS(Platform-as-a-Service)、コンテナ、仮想マシン(VM)はすべて、サーバーレス・エコシステムで重要な役割を果たします。FaaSはサーバーレス・スタックの最も中心的かつ最も定義的な要素であるため、主要な属性に関して、FaaSが現在市場にある他の一般的なコンピューティング・モデルとどのように異なるかを調べる価値があります。
KubernetesとKnativeは、FaaSの背後にある「配管」の1つです。Kubernetesは、クラウド・アプリケーションの管理に不可欠なオープンソースのコンテナ・オーケストレーション・ツールです。Knativeを使用すると、Kubernetesクラスター内でサーバーレスを実行できます。
KnativeとKubernetesの組み合わせは、モニタリング、セキュリティー、ロギング、認証といったKubernetesの機能を活用し、自動コンテナビルド、完全なポータビリティー、 ハイブリッド環境での作業といったKnativeのメリットと組み合わせることができることを意味します。
このテクノロジーの作成者は、開発者がクラウド・アプリを構築するときにサーバーレスとコンテナのどちらかを選択する必要はないと考えていました。目標は、サーバーレスの強力なスケーリングとオンデマンド・アクセスにより、コンテナの可用性と一貫性を強化することでした。
イノベーションと成長のために設計されたクラウド・ソリューションで、ビジネス・トランスフォーメーションを加速させます。競争で優位に立つために、最先端のツールとインサイトを取り入れましょう。
ビジネスをモダナイズする準備はできていますか。パフォーマンスの最適化、コストの削減、拡張性の向上を実現できる、最も効率的なクラウド移行戦略をご覧ください。
サービスとしてのインフラストラクチャー(IaaS)で、ニーズに合わせたスケーラブルで柔軟かつコスト効率の高いクラウド・インフラストラクチャー・ソリューションを使用して、どのようにビジネスを強化できるかをご覧ください。
IaaS、PaaS、SaaSが柔軟性、拡張性、コスト効率を実現しながらどのように業務を変革するかを学びましょう。違いを理解し、成長に最適なソリューションを選択しましょう。
NoSQLデータベースを使用し、柔軟でスケーラブルなソリューションでデータ管理戦略を強化する方法をご覧ください。今日のデータ駆動型の世界で優位に立つために、NoSQLの種類とメリットについてご紹介します。
Techwave社がどのようにIBM Cloud Bare Metal Serverを使用してデジタル・トランスフォーメーションを推進し、柔軟性、拡張性、完全な制御を顧客に提供したかをご覧ください。
IBM Consulting Advantageプラットフォームを活用したクラウド・サービスを使用して、ハイブリッドクラウドへの移行を加速し、コスト効率と生産性を高め、サステナビリティーを実現し、商品化までの時間を短縮します。
IBMの専用サーバー・ホスティングは、カスタマイズ可能なオプションを備えており、ミッションクリティカルなワークロードの完全な分離、制御、セキュリティーを実現します。
IBM Cloud Virtual Server for VPCは、IBM Cloud Virtual Private Cloud上に構築されたIntel x86、IBM Z、IBM LinuxONEの仮想マシンのファミリーです。