支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • PaaSとは?詳しく解説させていただ

PaaSの概要について

クラウドの歴史が本格的に始まってからおよそ10年程度が経過しようとしておりますが、 クラウド市場においては新しいテクノロジーが次々と生まれその市場シェア争いは激しさを増す一方です。 数多くのサービスが生まれるなかでクラウドベンダーの選定や、その中から適切な サービスを組み合わせることはユーザーにとって非常に重要なことです。 そのためにもクラウドに関する知識を身につけ、新しいテクノロジーの学習を行うことは 必須と言えるでしょう。ここでは、基本的な内容としてクラウドサービスにおけるPaaS(Platform as a Service)について説明させていただきます。

クラウドサービスはSaaS(Software as a Service)とIaaS(Infrastructure as a Service)そしてPaaS(Platform as a Service)によって分類されております。それぞれを一言で説明させていただくと、SaaSはクラウド上でベンダーが構築したソフトウェアを利用することができるサービス、IaaSはクラウド上でインフラ基盤を提供するプラットフォームです。そして今回説明させていただくPaaSはクラウド上でアプリケーション開発に必要な環境を提供するサービスとなります。SaaSやIaaSといったサービスと異なる点は、クラウドベンダーとユーザーがアプリケーションとインフラにおいてどういった部分を担当・管理を行うのかという点になります。SaaSはアプリケーションとインフラのすべての部分をクラウドベンダーが担当します。例えばGoogle WorkspaceやDropboxといったSaaSの代表的なサービスを思い浮かべていただくと理解しやすいのではないでしょうか。 PaaSは「データ」「アプリケーション」をユーザーが管理し、それ以外のインフラに関する部分である「ランチタイム」「ミドルウェア」「OS」「仮想化」「物理サーバー」「ストレージ」「ネットワーク」は クラウドベンダーが管理する形となります。 IaaSは「データ」「アプリケーション」「ランチタイム」「ミドルウェア」「OS」をユーザーが管理し「仮想化」「物理サーバー」「ストレージ」「ネットワーク」はクラウドベンダーが管理する形となります。 つまりPaaSを簡単に説明させていただくとアプリケーション開発はユーザーが行い、その環境はクラウドベンダーが準備すると理解していくいいでしょう。 PaaSにおいてメリットや長所は様々ですが、オンプレミスで環境を一から構築するためのコストが解消されるという点は非常に大きなメリットと言えるでしょう。 また、インフラ環境を構築するためには初期段階で準備が必要であるため、開発にとりかかるまでの時間を大幅に短縮することができることもメリットの一つです。 すでに開発環境の準備ができていることからテスト開発を実行する場合・スモールスタートで開発を行う場合・開発において検証などを行う場合などのケースにおいては相性が良いことも特徴と言えます。 もちろんクラウドならではの拡張性に優れている点もオンプレミスで開発を行う場合と比較すると大きな強みとなります。 以上がPaaSの概要ですが、さらに詳しく解説させていただきますので参考にしていただけましたら幸いです。

PaaSのメリットについて

PaaSのメリットについて説明させていただきます。 ポイントを5つに絞り紹介させていただきますので、参考にしてみてください。

低リスク

PaaSのメリットの一点目が低リスクであることです。 様々なプログラミング言語やツール、新しいテクノロジーを利用する際において、 それぞれに適したインフラ環境を準備することは調査が必要となりますし、 既存のシステムが動いている場合は影響を与える可能性もあり、様々なリスクが考えられます。 クラウド上であれば柔軟に環境を構築し様々なテストを実行できます。 また、技術的なサポートを受けることや様々なサービスの種類があることから、 オンプレミスで行う場合と比較するとリスクを回避しながら迅速に開発を行うことができる点が メリットとなります。

時間短縮

PaaSのメリットの二点目が時間短縮となります。 PaaSを導入することで、 位置からアプリケーション開発のための環境を構築する必要がなくなるため、時間を短縮することが可能となります。 特にオンプレミスで大規模システムや新しいテクノロジーを投入する場合、 インフラ環境を構築するまでに様々な検証を行う必要があり準備に時間が かかってしまいます。 PaaSを導入することで市場にサービスを投下するまでの 時間を短縮することが可能となり効率よく開発を実行することが可能になります。

コスト削減

PaaSのメリットの三点目がコスト削減です。 アプリケーション開発のための環境構築の初期費用や設備費用などのコストを明確に削減することが可能です。 また、ライセンスなどにかかる費用も同様です。 インフラ環境を構築したあとの運用保守や障害対応などの保守コストも 削減できるため、長期的にみるとPaaSの費用対効果は 非常に高いと言え、これも大きなメリットと言えるでしょう。

拡張性

PaaSのメリットの四点目が拡張性です。 オンプレミスでインフラ環境構築を行った場合、スケールアップする際のコストが かかるだけでなくケースによっては無駄なスケールアップになり 容量があまるなどの事例も決して少なくありません。 クラウド環境であればスケールアップやスケールダウンが容易であり、 かつ様々なプランが準備されており使用したデータ量に対して適切な形で 課金されることがほとんどです。 このような拡張性とそれに伴うコスト面はオンプレミスと 比較した場合PaaSを導入するメリットということができます。

PaaSの種類

PaaSの種類について説明させていただきます。 PaaSはあくまでも大きな分類方法であり、ベンダーによって様々なサービスを提供しておりますので自社に必要なサービスを 探してみるといいでしょう。 PaaSをさらに分類すると「AIPaaS」「iPaaS」「cPaaS」「mPaaS」などがあります。 それぞれについて説明させていただきますので、参考にしてみてください。

AIPaaS

PaaSの種類の一点目がAIPaaSとなります。 AIPaaSはその名の通り、人工知能(AI)に関するPaaSを提供するサービスとなります。 AIを一から構築するためには専門的な知識や高度なテクノロジーが必要であることは当然ですが、 そのためのインフラ環境や運用保守維持など莫大なコストが必要となります。 AIPaaSを導入することで、多くのリスクを負うことなくユーザーは気軽にAIを開発することや、 自社サービスに組み込むことが可能となります。 IBM社が提供するAIプラットフォームであるIBM Watsonが有名となります。 IBM Watsonは2006年に開発がスタートしましたが、世界中のIBM社のエンジニアを集結したテクノロジーの 集合体とも言える存在です。 IBM Watsonは様々な種類のAPI(IBM WatsonAPI)を提供することで簡単に人工知能の機能を開発することを 実現します。 AiPaaSには一般的にユーザが利用できるたためのAPIが準備されており、機械学習とディープラーニングのモデルや音声認識や言語認識などの 開発が支援されております。

iPaaS

PaaSの種類の二点目がiPaaS(Integration Platform as a Service)となります。 iPaaSはパブリッククラウド、プライベートクラウド、オンプレミスなど様々な環境にある データやアプリケーションを連携・統合し一つのクラウドサービスで利用する プラットフォームです。 iPaaSはビジネスをより円滑にスムーズに行い効率を上げることやデータの一元管理により データ分析に役立てることなど様々なメリットが存在します。 特に現在の企業はオンプレミスとクラウドのおいてデータやツールを活用しているケースが 圧倒的に多いためそれを一元化することが業務効率向上が見込めるでしょう。近年の企業の抱える課題として扱うデータ量の増加やクラウドサービスの発展により、 様々なシステムが存在し、それらの統合が困難になっている点があげられます。 iPaaSを利用することで、あらゆる場所にあるすべてのアプリケーションとデータ・ソースを統合でき、迅速にかつ簡単で費用対効果に優れた方法によりサービスの統合を実現することが可能となります。
iPaaSの特徴について紹介させていただきます。 iPaaSの特徴の一点目がローコードもしくはノーコードで 統合や連携を行うことができるプラットフォームを提供しております。 専門的な知識をもつエンジニア以外でも高度な統合を実現できるため、ビジネスシーンにおいては 非常に使い勝手が良いことがその特徴とメリットとなります。
iPaaSの特徴の二点目が生産性の向上となります。 複数のシステムやデータを統合し活用することで、面倒な手間を省き担当者の業務の 生産性を向上させることができるでしょう。 また、多くの製品は高機能なダッシュボード機能や管理画面機能を搭載しているため、 複雑なシステムの連携であっても直感的に実行することが可能となります。
iPaaSの特徴の三点目が豊富なコネクタ機能となります。 コネクタはシステム間の連携や統合を行う際に必要なツールであり、豊富なコネクタ機能により 多くのサービスとのデータ連携をスムーズに可能にします。 また、これらは専門的な知識が不要で簡単な操作で実行できる点も iPaaSの特徴の一つと言えるでしょう。

cPaaS

PaaSの種類の三点目がcPaaSとなります。 cPaaSは音声、メッセージ、動画などの機能をAPIの提供を受けてクラウドサービスにおいて利用することができるサービスです。 例えばコールセンター、医療、介護の現場において導入されるケースが多いです。 cPaaSを利用することで企業は通信機能の追加や、コミュニケーションアプリなど 高度な機能をもったツールを導入することが可能となります。 多様化する現在のビジネスにおいて電話やメールだけではコミュニケーションツールとして 不足してしまう部分が存在することは事実であり、企業が高度でかつ高品質なコミュニケーションを 実現するためのツールとしてcPaaSは機能します。 cPaaSにおける機能としてはプッシュ通知、SMS配信、画面共有、ビジネスチャット、音声認識、チャットボットなどです。 特にコールセンターシステムの場合、構築を行うことに時間やコストがかかることと、 cPaaSがもつ機能と相性がいいことから業界では積極的に導入が行われております。

mPaaS

PaaSの種類の四点目がmPaaSとなります。 モバイル・デバイス用のアプリケーション開発を簡素化し支援するサービスです。 mPaaSを利用することで、各ビジネスモジュールはコンテナ化されているため、 画面エラーや読み込み失敗などのパフォーマンス上の問題が最小化され高い安定性を持つ運用を 実現することが可能となります。 また、モバイルデバイスに対するメッセージ配信を行うことで顧客とのコミュニケーションを 実現し満足度や維持率を担保することができるでしょう。 また、mPaaSのすべてのコンポーネントは、高い同時実行性やトラフィックが要求されるシナリオに適応し 多くの環境に最適なソリューションを実現し、ネットワークが貧弱な状況でもプロセスを維持してアプリを実行することが可能となります。

AWS Elastic Beanstalkについて

PaaSの代表的なサービスとしてAWS Elastic Beanstalkを紹介させていただきます。 AWS Elastic BeanstalkはミドルウェアやOSなどの環境はAWSが準備してくれますので、 ユーザーは開発を行い実行するだけでアプリケーションの構築を行うことが可能です。 Java、.NET、PHP、Node.js、Python、Ruby、Go言語などがサポートされており、 Elastic Beanstalkがキャパシティのプロビジョニング、ロードバランシング、Auto Scalingからアプリケーションのヘルスモニタリングまでデプロイを自動的に処理してくれますので、非常に簡単に開発ができるという特徴があります。 Elastic Beanstalkの特徴をいくつか紹介させていただきます。 Elastic Beanstalkの最大の特徴は開発を実行できるまでの速さでしょう。 ユーザーはインフラストラクチャやリソースの設定を行う必要がありませんので、 簡単な手続きを行うだけで迅速に開発を行うことが可能となり、 Elastic Beanstalk が自動的にデプロイメントの詳細 (容量のプロビジョニング、負荷分散、Auto Scaling、アプリケーションのヘルスモニタリングなど) の処理を実行してくれます。 もちろん、アプリケーション実行の基盤プラットフォームは、最新のパッチと更新が適用されており セキュリティ性に優れておりますのでユーザーは安心して開発を行うことが可能となります。

App Engineについて

PaaSの代表的なサービスとしてApp Engineを紹介させていただきます。 App EngineはGoogle社の提供する「Google Cloud Platform」の中のサービスであり、 Google社が準備するサーバー環境においてJava、Python、PHP、Go言語、Node.js(JavaScript)、Rubyなどの アプリケーションの開発を行うことが可能となります。 App Engineは2008年にプレリリースされ、2009年に有料サービスを開始しJava言語のサポート 2011年にGo言語のサポートをスタートしました。 App Engineは複数のプログラミング言語を利用でき、フルマネージドでセキュリティー性に優れた環境で 開発を開始できるという点が大きなメリットとなります。 App Engineはアプリの使用状況に応じて課金が行われ「スタンダード環境」と「フレキシブル環境」に分類されます。 スタンダード環境においては、負荷が高く大量のデータを操作している状態でも確実に実行するアプリケーションを簡単に構築し、デプロイすることが可能となります。 また、保護されたサンドボックス内でそれらは実行され、リクエストを複数のサーバーに分散し、トラフィック需要に合わせてサーバーを拡張可能です。 安全性と信頼性の高い独自の環境でアプリケーションが実行されます。 フレキシブル環境においてはサンドボックス内ではなく、仮想マシンでDockerコンテナを実行する形式となる点が異なります。 一定したトラフィックを受信する、定期的にトラフィックの変動がある、または徐々にスケールアップやスケールダウンするパラメータを満たすアプリケーションに 適しております。 App EngineはPaaSとして、またはクラウドサービスとしても非常に有名なサービスとなりますので、 基礎的な知識を抑えておくようにしましょう。 いくつかApp Engineの特徴について紹介させていただきますので、参考にしてみてください。

プログラミング言語

App Engineの特徴の一点目がプログラミング言語となります。 App EngineではNode.js、Java、Ruby、C#、Go、Python、PHP でアプリケーションを構築することが 可能です。また、独自の言語ランタイムを使用することも可能です。 また、柔軟性かつオープン性に優れていることもその特徴であり、 カスタムランタイムにおいてDockerコンテナを利用し任意のライブラリやフレームワークをインストールできます。

フルマネージド

App Engineの特徴の二点目がフルマネージドとなります。 サーバの監視やトラブルシューティングなど、サーバー管理に関わる業務は全てApp Engineが行うことになりますので、ユーザーは開発業務に集中することが可能になり生産性を向上させることができるでしょう。 ユーザーはインフラのハードウェアなどの知識がなくともスムーズに開発業務を実行できます。

セキュリティ

App Engineの特徴の一点目がセキュリティとなります。 ユーザーはGoogle社の高水準のセキュリティ環境を利用することが可能であり、 マネージド SSL / TLS 証明書をカスタムドメインで利用できます。

まとめ

いかがでしたでしょうか? PaaSについて説明させていただきましたので、 参考にしていただけましたら幸いです。