XaaSとは何か【As a service】

Uncategorized

注目を集めるクラウドサービス

XaaSは

X(Anything) as a service

の略です。

「サービスとしてのX(何か)」ということで、XaaSでは、特定のモノや機能をサービスとして提供します

多くの場合、基本的には様々なクラウドサービスの総称で使われます。

例えば、

SaaS (Software as a service)

は、クラウドでの色々なソフトウェアサービスを指します。

近年、このXaaSが増えています。

2020年以降は、世界的なリモートワークの普及を始めとする環境の変化により、さらに注目されている考え方です。

今日は、XaaSのいくつかを、代表的な例と合わせて紹介します

SaaS、PaaS、IaaS

まずは、SaaS、PaaS、IaaSです。

それぞれ、

  • SaaS (Software as a service)
  • PaaS (Platform as a service)
  • IaaS (Infrastructure as a service)

を表しています。

SaaS

SaaSは、文字通りサービスとしてのソフトウェアです。

クラウドで提供される様々なソフトウェアサービスのことを指します

  • Gmail
  • Microsoft Office 365
  • Dropbox
  • Evernote
  • Slack

などが代表例です。

多くの人が一度は使ったことがあるのではないでしょうか。

SaaSでは、無料で使用できる範囲と、様々な課金方式(月額、従量など)を採用した有料版が用意されていることが多いです。

  • 導入が簡単
  • 管理しやすい
  • どこでも使える

などの利点があります。

SaaSではない方法で、ソフトウェアを大規模に使用する場合、導入コストが通常大きくなります。しかし、SaaSの場合はクラウドサービスのため、自分の敷地内に一から環境構築する必要がなく、導入コストを抑えられます

システム的な管理が簡単、という点もメリットです。ユーザー側で保守、メンテナンスなどの作業が発生しないためです。

どこからでも使用できるという点もSaaSの利点です。

一方で、

  • セキュリティに注意する必要がある
  • メンテナンスやバージョンアップ、障害などで、一時的に使用できなくなることがある

というデメリットもあります。

SaaSを使用する際には、クラウドでのサービス提供という性質上、セキュリティを常に意識する必要があります。大規模に導入する場合は、セキュリティガイドラインを策定しているケースもあります。

またメンテナンスや障害などで、使用不可の時間が発生する可能性があります

SaaSを利用する場合には、これらのデメリットを考慮しつつ、メリットを最大限活かせるようにサービスを選ぶ必要があります。

PaaS

PaaSは、

プラットフォームを提供するサービスです

SaaSは、ソフトウェア機能を提供していましたが、PaaSでは、そのソフトウェアを構築するためのプラットフォーム(基盤)をサービスとして提供します。

  • Amazon Web Services (AWS)
  • Google App Engine (GAE, App Engine)
  • Microsoft Azure (Azure)

などが広く知られています。

企業や開発者は、PaaSを利用することで、これらのプラットフォームの上に、自分でサービスを構築することができます。そのため開発者が、自分のサービス開発に集中しやすいというメリットがあります。

IaaS

IaaSは、

仮想マシンやネットワークなどのインフラそのものをクラウドサービスとして提供します

  • Amazon EC2
  • Google Compute Engine
  • Microsoft Azure IaaS
  • VMware vCloud

などが知られています。

IaaSでは、ソフトウェア開発やサービスリリースに必要なインフラをクラウドで借りるイメージです。このため、IaaSでは、SaaSを利用するよりも、自由に開発環境をカスタマイズできます。その分、導入後の開発、運用には専門知識が必要とされます。

まだまだあります

XaaSには、SaaS、PaaS、IaaS以外にも多くのものがあります

比較的知られている、

  • BaaS (Backend as a service)
  • CaaS (Container as a service)
  • DaaS (Desktop as a service)
  • FaaS (Function as a service)
  • 番外編:MaaS (Mobility as a service)

を紹介します。

BaaS

BaaSは、

アプリケーションのバックエンド機能を提供します

バックエンド機能とは、アカウント管理やデータ保持などを含むサーバー関連の様々な機能のことです。モバイルアプリ開発の時にBaaSを利用することで、開発者はサーバーサイド以外の開発に集中することができます。

BaaSはMBaaS (Mobile Backend as a service)と言われることもあります。

BaaSとしては、Firebase(Google)、CloudKit(Apple)、Kinvey(Progress)などが知られています。

CaaS

CaaSは、

「開発しやすい環境」をサービスとして提供します

CaaSのC、コンテナは、専門用語です。

OSや周りの環境からある程度隔離されたコンテナ、を開発が利用しやすい形で用意することで、ユーザー(開発者)が開発を効率的に行うという考え方がCaaS活用の基本です。

そういう意味では、IaaSやPaaSに近いのですが、コンテナ技術をもとにした開発環境を提供するという点が、CaaSの特徴です。

CaaSとして、Google Kubernetes EngineやAmazon Elastic Container Serviceなどのサービスが知られています。

DaaS

DaaS (Desktop as a service)は、

PCのデスクトップ環境をクラウド経由で提供するものです

DaaSは、デスクトップ仮想化とよく比較されます。

デスクトップ仮想化は、ユーザー側のサーバー経由で仮想デスクトップ環境が提供されるため、保守管理はユーザー側が行います。DaaSでは、クラウド経由でサービス提供者側がデスクトップ環境を提供し、保守管理も原則としてサービス提供者が行います。

DaaSには、Amazon WorkSpacesやVMware Horizon DaaSなどがあります。

FaaS

FaaSは、

Function(機能)を提供するものです。

開発者=ユーザーは、ソフトウェアやプラットフォームよりも、さらに細かい範囲で必要なもの=機能だけ、活用できるイメージです

開発者は、FaaSを利用することで、複雑なインフラについて考えることなく、アプリケーション機能を、開発、実行、管理することができます。

FaaSやBaaSを用いた開発は、サーバーレス開発と言われることもあります。

FaaSの代表例は、AWS Lambdaです。

MaaS

番外編として、

MaaS (Mobility as a service)

を紹介します。

MaaSはクラウド経由で交通機関を提供するものです。

ライドシェアのUberやLyftが広く知られています。

MaaSは、環境への配慮、経済効率性などから、今後さらに普及することが予想されています。

サービスとしての…

XaaSは近年、急速に活用が進んでいます。

様々な企業から多くのXaaSが提供されています。

自分の用途に合わせて、XaaSを利用することができれば、

効率よく開発を進められるのではないでしょうか。

また、XaaSは開発以外の文脈でも色々な場面で使われる用語になっています。

番外編として紹介したMaaSは、

  • Management as a service
  • Monitoring as a service

などの略語としても使われるようです。

また、Desktop as a serviceとして紹介したDaaSも、

  • Data as a service

の意味で使用されることもあります。

それほど、クラウドサービスの普及は著しいと言えます

これらの、XaaSを活用することで、さらに面白いプロダクト / サービスを作っていけると思います。

また、無料利用枠や従量課金をうまく利用することで、比較的安価に、個人利用できる可能性があります。

気になった人は、プログラミング学習で、XaaSを使うことを検討してみてはどうでしょうか。

コメント

タイトルとURLをコピーしました