COLUMN
2020年9月29日
なぜ、PaaSを使うのか。どうして、エンタープライズBaaSを選ぶのか
カテゴリー:テクノロジー
システム開発に、クラウドを利用することが当たり前になってきました。特に、クラウド指向の新規システムを開発する場合には、PaaS(Platform as a Service)が重要かつ不可欠です。ここでは企業システムを中心に、PaaSの特徴とどのようなサービスを選択すればいいか整理します。
どんな時に、PaaSを使うのか
すでにご存じのとおり、クラウドサービスは、大きく3つに分類されます。
「SaaS」は、Software as a Service(ソフトウェア アズ ア サービス)の略で、完成したアプリケーションソフトウェアをクラウドサービスとして提供します。GmailやLINEなどのアプリケーションは、このSaaSに分類できます。
「IaaS」は、Infrastructure as a Service(インフラストラクチャ アズ ア サービス)の略で、ハードウェアやネットワーク・仮想化環境などのシステム基盤だけをクラウドサービスとして提供します。
そして「PaaS」は、Platform as a Service(プラットフォーム アズ ア サービス)の略で、アプリケーションをクラウド上で実行する環境や開発するツールなどを提供します。
「PaaS」が選ばれるのは、業務に合わせたシステムをクラウド指向で開発する場合が多いと言われています。
なぜなら、SaaSでは、アプリケーションソフトウェアと同じように、業務をある程度システムに合わせる必要があるからです。自社独自の業務プロセスや機能を組み込もうとすれば、アプリケーションのカスタマイズと同じように保守費用が増大します。つまり、業務に合わせたシステムを開発するのが難しいのです。
IaaSでは、クラウド上でシステム構築・運用するのに手間とコストがかかりすぎます。IaaS上でシステムを構築したとしても、従来と同じ手法を採用すれば、利用負荷に合わせてシステムをスケールアウトすることができません。
そのために、クラウドファーストなシステムを実現しながら、業務にフィットする仕組みを構築するには、PaaSが重要かつ不可欠になるのです。
PaaSの形態と課題
現在、このようなPaaSには、用途や目的に応じて、いろいろな形態のサービスが登場しています。そこで、代表的なタイプを分類してみました。
「実行環境型」は、IaaSにOSやミドルウェアなどを追加したサービスです。開発ツールなどは統合されておらず、これまで自分たちが使ってきた開発ツールを使って柔軟なシステム開発が可能です。しかし、バックエンド機能が統合されておらず、システム構築と運用に手間とコストがかかります。
「RADツール型」は、専用の開発ツールを追加したサービスです。専用ツールでUIなどを開発でき、開発コストを削減できますが、メンテナンスが複雑になり運用コストが高くなります。
「業務・機能特化型」は、特定の業務や機能に合わせたサービスです。モバイル向けに機能を提供する「mBaaS」(Mobile backend as a service)や、ゲーム向けに機能を提供するサービスなどがあります。
「API統合型」は、SaaSのAPIを統合することでシステムを構築するサービスです。「iPaaS」とも呼ばれます。GUI型ツールで連携する内容を設定でき、開発する部分は少なくなりますが、カスタマイズは容易ではありません。また、別にフロントエンドの開発が必要になります。
「UI設定型」は、汎用業務向けのSaaSのUIをカスタマイズして、業務アプリケーションを開発するサービスです。設定できるUIに強い制約があり、対象業務が限定的になります。
企業システム開発でエンタープライズBaaSを選ぶ理由
そこで登場したのが、企業システム用バックエンドをクラウドサービスとして提供する「エンタープライズBaaS」(Backend as a Service)です。Web三層システムのバックエンドをクラウドサービスとして提供しており、データベース管理、ユーザー管理、ログ管理、バックアップといった、企業システムに必要な機能を統合しています。また、ユーザーや処理負荷が高くなった場合のスケールリングにもあらかじめ対応しています。
「エンタープライズBaaS」を利用するには、フロントエンドから、REST-APIで機能を呼び出します。フロントエンドには、React/Vue/Angluarなど、最新のSPA開発フレームワークを利用でき、デスクトップアプリケーションに近い柔軟でリッチなクライアントUIを実現できます。
また、バックエンドに不足する機能があれば、他のSaaSが提供するAPIをインテグレーションして利用できます。たとえば、見積り・請求処理や与信・決済、メールやFAX連携、顧客管理などのAPIと連携が可能です。
このような「エンタープライズBaaS」には、いくつかのメリットがあります。
まず、システム開発企業は、システム開発・運用のコストを削減すると共に、開発プロジェクトの期間を短縮でき、より多くの開発プロジェクトを回せるようになります。
企業システムを利用するユーザー企業にとっては、柔軟なUI/UXを持ったアプリケーションの開発が可能になります。また、スモールスタートでニーズを確認しながら、継続的な改善で業務にフィットするシステムを実現できるでしょう。
というわけで、 PaaSの特徴とどのようなサービスを選択すればいいか整理しました。クラウド指向の新規システムを開発するプロジェクトがあれば、ぜひエンタープライズBaaSの利用を検討してください。また、エンタープライズBaaSの代表選手ともいえる「Hexabase」について調べてみてください。