クラウド事業者が提供するサービス:IaaS、SaaS、PaaS、FaaS

tit

現在、オンラインサービスやウェブサイトには、多くの素晴らしい技術が使われています。 エンドユーザーが意識していなくても、ほとんどのサービスはクラウド上で提供されており、IaaS、SaaS、PaaSといった略称の技術が使われています。では、それらはどのような意味を持ち、どのように機能するのでしょうか。以下では、最新のクラウド技術のうち最も一般的なものを、誰にでもわかるように解説しています。

Infrastructure as a Service(IaaS)

企業は、ネットワーク、ストレージ、その他のオンラインサービスにアクセスするために、自社の物理サーバーですべてを行うか、これらのインフラサービスをすべてクラウド技術で行うかの2つの選択肢があります。IaaSは、企業が別途ハードウェアを購入することなく、クラウド上でITサービスを利用することを可能にします。その中で、すべてのサーバー、ネットワークインフラ、オペレーティングシステム、ストレージソリューションは、仮想データセンターでホストされています。このインフラを物理的に維持・管理する必要はなく、ダッシュボード(またはAPI)を通じてオンラインで全てにアクセスすることが可能です。IaaSの容量は、企業のニーズに応じて増減させることができます。 IaaSは、拡張性の高いサービスを利用でき、高いコストをかけずにダイナミックで柔軟なインフラを提供します。Digital Ocean, Amazon Web Services, Microsoft AzureやRackspaceなどが有名なIaaSサービスです。IaaSはコストを削減できるため、特に中小企業で好まれています。しかし、バーチャルマシンによるセキュリティリスクもありますし、カジノオンラインのような企業が使うプログラムをすべてクラウドに移行するのは無理があるかもしれません。そのため、新しいプログラムの使用や使い方のトレーニングが必要となり、無駄な時間やコストの増加を招くことになります。

Software as a Service (SaaS)

これは簡単に言うと、インターネットを使って企業のアプリケーションを社員に提供することです。例えば、企業がSaaSを利用することで、すべての営業担当者に同じアプリケーションを配信し、サーバーやストレージ、ミドルウェアなどを気にすることなく、すべての営業担当者が同期して仕事をすることができます。これらのアプリはウェブベースで、ダウンロードの必要なく、どのデバイスでも動作します。アプリケーションのインストール、管理、更新などの作業を完全に自動化できるため、ITの面でも非常に有利です。 ユーザーが入力したデータは自動的に同期されるため、すべての社員が最新のデータにアクセスすることができます。特に在庫管理には有効で、eコマースには大きなアドバンテージとなります。SaaSには多くの利点がありますが、独自のプライベートなインフラを使用するため、企業が使用するほとんどすべてのプログラムと互換性があるわけではありません。一からインストールしなければならないし、ユーザーの教育も必要です。また、カスタマイズはほぼ不可能です。 SaaSの代表的な例としては、Salesforce、SAP、CiscoWebExなどが挙げられます。Google GSuite AppsもSaaSの一例と言えるでしょう。

Platform as a Service (PaaS)

PaaSとSaaSは多くの点で似ていますが、PaaSはすぐに使えるアプリケーションではなく、プラットフォームのような仕組みになっています。PaaSは空のフレームワークのようなもので、企業はその中に自社のニーズに合ったアプリケーションを詰め込んでいくことができます。その後、開発したアプリケーションはどのデバイスからでもアクセスでき、同期も自動的に行われ、更新/保存などの問題を気にする必要がないため、SaaSと同じような感覚で利用することができます。 PaaSとの違いは、これらのアプリケーションがどのようなもので、どのような機能を含むかを選択するチャンスがあることです。SaaSのサービスを利用する場合、その内容を変更することはできず、既存のアプリケーションを利用しなければなりません。しかし、PaaSであれば、自分専用のアプリケーションでSaaSサービスを作ることができます。この意味では、PaaSを個人向けSaaSアプリケーションを開発するためのプラットフォームと捉えることができます。 AWS Elastic Beanstalk、Heroku、Force.com、OpenShiftなどが有名なPaaSサービスです。 PaaSには、残念ながらまだ統合の問題があります。企業がすでに使っているアプリケーションのPaaS版を開発することは不可能な場合が多いです。最終的にはSaaSよりもパーソナライズされた製品になりますが、それでもゼロから開発する必要がある場合もあります。また、PaaSサービスへの移行には、企業が長い休みを取らなければなりません。

Function as a Service (FaaS)

また、ソフトウェア開発者は、これらのプログラムを実行するサーバーを管理、また設定しなければならないです。これは、コードが実行されるプラットフォームであるためです。FaaSはこの要件を取り除き、「サーバーレス」なアプリケーション開発を可能にします。書かれたコードは、インフラ(サーバーなど)とは独立して動作することができますFaaSモデルにはサーバーもありますが、開発者はそれを考慮しながら仕事をする必要はありません。特定の関数を書き、それがいつ実行されるかを決めるトリガー(HTTPリクエストなど)を選択するだけでよいのです。CPU、RAM、ディスク、OSといったサーバーの機能を意味する「TechStack」を考える必要はないです。 FaaSは、完全にクラウドから実行されるため、サーバーレスで開発されたアプリケーションが、OSやハードウェアの制約を受けずに、文字通りあらゆるもので実行できることから、特にIoTに適した技術であると言えるでしょう。 Amazon AWS Lambda、IBM Cloud Functions、Google Cloud Functions、Azure Functionsなどが有名なFaaSサービスです。この技術の最も重要な欠点は、サービスラットフォームの切り替えが不可能に近いということです。例えば、Amazon AWS Lambdaで開発を開始したアプリケーションを、IBM Cloud Functionsに移行することはできません。つまり、最初に選んだサービスに依存してしまうわけです。  

Visited 9 times, 1 visit(s) today

シェアする

  • このエントリーをはてなブックマークに追加

フォローする