
What is Low-Code | Low-Code Guide
What is low-code, why is it so popular, and when should you use it? Those are just a few questions you'll see answered in this Low-Code Development Guide.
サービスとしてのアプリケーションプラットフォーム(aPaaS)では、クラウドベースのアプリケーションの開発とデプロイを行うことができます。クラウドサブスクリプションで使用される他の用語とよく似ており、サービスとしてのプラットフォームと混同されることもよくあります。
aPaaSは「application platform as a service(サービスとしてのアプリケーションプラットフォーム)」の略語です。クラウド時代が到来し、以前オンプレミスにインストールされていたテクノロジーの名称に「as a service」を付けたサービスが登場しました。サービスとしてのソフトウェア(SaaS)、サービスとしてのインフラ(IaaS)、サービスとしてのプラットフォーム(PaaS)の3つがその代表例です。これはサードパーティがソフトウェアやテクノロジーを提供しているという点を強調するための表現です。Netflixに加入するとソフトウェアをインストールしたり動画をダウンロードしたりしなくても動画をストリーミングできるという仕組みに似ています。SaaS、IaaS、PaaSは様々な組織で幅広く受け入れられ、理解されています。
クラウドコンピューティングが一般にも認識されるようになったことで、複数の独立アナリスト企業や業界専門家が特定の市場セグメント向けに独自の用語を作るようにもなりました。たとえば、iPaaS(サービスとしてのインテグレーションプラットフォーム)やITaaS(サービスとしてのIT)などです。Gartnerは、aPaaSをその一環だと定義しています。
aPaaSが提供するのは、新しいアプリケーションを開発するためのハードウェア、OS、ストレージ、ネットワークキャパシティです。aPaaSは、アプリケーションの開発、実行、管理用のプラットフォームを提供するクラウドコンピューティングサービスのカテゴリであり、一般的なアプリの開発やリリースに伴うインフラの構築や保守の複雑さを解消してくれます。
aPaaSは、基本的にはアプリ開発プロジェクト向けに、基盤となるインフラと実際の開発や設計に使用するソフトウェアレイヤーを提供します。開発ツールをダウンロードしてインストールしたり、コーディングツールを使用してアプリケーションの作成やデプロイへの引き継ぎを行ったりすることなく、サブスクライブしたサービスですべてを行うことができます。
aPaaSの最大のメリットはスピードです。アプリの開発とデリバリーが格段に高速化されます。再利用可能なコンポーネント、ビジュアルIDE、抽象化、自動化によって、アプリケーションの開発、プロビジョニング、デプロイを効率化できます。
aPaaSの別のメリットとしては、開発経験がまったく、あるいはほとんどないユーザーでもアプリケーションを作成でき、さらに専門開発者も反復的で退屈なタスクを省略してアプリケーション固有のビジネス上の課題の解決に集中できる点が挙げられます。aPaaSを利用することで、イギリスのフィンテック企業であるthinkmoneyはモバイルバンキングアプリケーションを作成し、経験豊富な開発者を雇うことなく生体認証セキュリティなどの機能を実装しました。また、GarantiBankは、専門開発者チームでクラウドを利用することでプロセスを高速かつ継続的に改善し、カスタマーエクスペリエンス、オペレーショナルエクセレンス、デジタルトランスフォーメーションの目標を達成しています。
さらに、あらゆるクラウドサービスで実証されているとおり、拡張性も大きなメリットです。オンプレミスインフラでは、ビジネスの変化や拡大に伴って問題が生じることもあります。aPaaSではそのような問題は発生しません。PaaSと同様、ビジネスニーズや開発ニーズに応じて拡張できます。
aPaaSとPaaSはよく混同されます。ブログなど多くのリソースでは、aPaaSとPaaSを同じ意味の言葉ととらえ、「サービスとしてのプラットフォーム」という用語をアプリケーション開発に限定して使用しています。一方で、インターネット接続を介して提供される、OS、ミドルウェア、データベース、アプリケーションなどを含む統合ソリューション、スタック、サービスを指す広い意味の言葉として使用する人もいます。
PaaSの定義は様々ですが、これら2つのタイプのサービスが互いに関係していることは間違いありません。Gartnerは、aPaaSとPaaSは密接に関係しているため、やがて「PaaS」という用語を使う人はいなくなるだろうと予想しています。aPaaSは、PaaSに「アプリケーション」が付加されていますが、Gartnerの指摘は的を射ています。具体的な例で見えると、2つのタイプのサービスは同じもののように感じられます。たとえば、AWS Elastic Beanstalk、Heroku、Windows Azure、Force.com、OpenShift、Apache Stratos、Magento Commerce Cloud、Google App Engine、Salesforce、Appian、Mendix、OutSystemsなどです。
ビジュアルIDE、ワンクリックでのデプロイ、コード生成などを特長とするローコードアプリケーション開発は、サービスというよりむしろ手法です。実際、ローコードプラットフォームにはオンプレミスインストールもあります。しかし、Salesforce、Appian、Mendix、OutSystemsがaPaaSの例として挙げられるのも無理はありません。どれもクラウドで利用できるという点では、aPaaSだからです。答えを出すのは簡単ではないため、改めて業界アナリストの見解を確認しておきましょう。
「ローコード」という用語は2014年にForresterが作ったものですが、クラウドやサービスは必須条件とされていませんでした。2015年に初めてローコードに関するForrester Waveを発表したものの、ここでもクラウドは要件になっていせんでした。その2年後、GartnerはaPaaSカテゴリに「高生産性アプリケーションプラットフォーム」というセグメントを設けました。そしてそのカテゴリに、Forresterがローコードと位置付けていたOutSystemsなど多くのプラットフォームと、元々aPaaSとして認識されていたプラットフォームを入れました。
Gartnerは、aPaaSのこのセグメントは本当の意味での高速アプリケーション開発と高生産性を提供するという見解を示しました。このことが、aPaaSだけでなく、エンタープライズ向けのビジネスアプリケーションやアプリケーションプロジェクトの要件をサポートできるように設計されたエンタープライズaPaaSとの分離の根拠となったのです。
Gartnerはその後2年間、サービスとして提供されているローコードプラットフォームは、特殊ではあるものの本質的にはaPaaSだという立場を取っていました。しかし、最新のhpaPaaS Magic Quadrantで興味深い動きがありました。
2019年、Gartnerは「ローコードアプリケーションプラットフォーム(LCAP)」というカテゴリを新たに作成しました。Gartnerは、LCAPを「高速アプリケーション開発、ワンステップでのデプロイ、モデル駆動やメタデータベースのプログラミング言語など高度な宣言型プログラミング抽象化による実行と管理」、さらには「ユーザーインターフェイス、ビジネスロジック、データサービスの開発と生産性の向上」をサポートするものだと定義しています。
これに伴い、Gartner aPaaS Magic Quadrantに区分されていたベンダーの一部と、エンタープライズhpaPaaS Magic Quadrantに区分されていたベンダーの大半が新設の「Enterprise LCAP Magic Quadrant」に移されました。これにはOutSystemsも含まれます。
では、LCAPもaPaaSの一種なのでしょうか。「Gartner Magic Quadrant for Enterprise Low-Code Application Platforms, 2021」を読んで考えてみるのもよいでしょう。