8/12テクノロジー2022年8月12日aPaaSとは、ローコード・ノーコードでの開発を行うためのクラウドプラットフォームのこと。ITスキルがない人でも開発が可能となり、また期間も短縮できるというメリットがある。service」の略語です。日本語に直すと「サービスとしてのアプリケーションプラットフォーム」となりますが、この言葉だけで内容を理解するのは難しいでしょう。aPaaSを端的に説明するならば、ローコード開発やノーコード開発を実現するために利用できる、クラウド上のプラットフォームのことです。近年では、ローコードやノーコードに代表されるように「プログラムを書かない」システム開発が話題となっています。Apps」として、アプリケーション作成ツールを提供しています。Appsでは、PowerPointのような直観的な操作に加え、Excelのように関数を入力することでビジネス利用できるアプリケーションを構築できます。Appsは代表的なaPaaSの例といえるでしょう。Salesforceのようなユーザー側で開発ができるクラウドサービスも、aPaaSの例としてよく挙げられます。Appsの実際の画面スクリーンショットです。aPaaSでは、図の左側のように、テキストラベルやボタン、フォームなどの様々なパーツが用意されています。ユーザーはこれらのパーツを張り付けていくことで、画面インターフェースを作成することができます。図の右側では各パーツのプロパティ情報を設定できます。デフォルトで表示する文字やボタンを押したときの動作などを、プログラムなしで設定することができるのです。何らかの処理が必要となる場合は、図の上部にある関数入力バーに処理を入力することで、数値計算や分岐等を実施することができます。aPaaSが求められる背景aPaaSの概念自体は古くから存在します。ガートナーは2009年に初めてaPaaSという概念を提唱しました。一方で、長らくaPaaSというキーワードはあまり注目されてきませんでした。近年、ローコードやノーコードが注目される中で、aPaaSについても注目度が上がっています。これにはどのような背景があるのでしょうか。日本におけるIT人材の不足は深刻な状況です。経済産業省が2019年に公表したレポート「IT人材需給に関する調査」では、標準的なシナリオで2030年にIT人材が45万人不足することが示され、話題となりました。実際、これまでIT人材を積極的に確保してこなかったユーザー企業において、特にIT人材不足が深刻化しています。近年では企業におけるデジタル化の重要性が浸透し、既存ビジネスプロセスの改革や新規ビジネスの展開において、IT技術を利用する流れができています。この時に、IT人材の不足が取り組みのボトルネックとなってしまっています。システムの導入に比較的スキルを必要としないローコード・ノーコード開発は、このような状況において有力な解決策として注目されています。ローコード・ノーコード開発を実施しようとした際に、開発用のプラットフォームを自社に新たに構築することにもコスト・負荷がかかるため、クラウドサービスとして開発プラットフォームが提供されるaPaaSの利用が有効となっているのです。ビジネス速度向上ビジネスのライフサイクルスピードは年々向上しています。この背景には、消費者への情報の届きやすさの変化や、デジタル化を背景とした中間業者のスキップなど、様々な要素が影響していますが、システムの対応もビジネススピード向上に耐えられるものとならなければなりません。これまで1年間かけて開発・改修を行ってきたような取り組みも、半年・3か月で実施していく必要があります。このような背景の中で、アジャイルをはじめとした開発手法の導入が進んでいますが、ローコード・ノーコードも高速開発に有効な手段となります。システム開発に時間がかかる理由の一つは、コミュニケーションが必要であるためです。一般的なシステム開発においては、ユーザーとベンダーの間で欲しいシステムのイメージを要件として伝達し、ベンダー側はそれを理解してドキュメント化します。設計においても、ベンダーとユーザーでヒアリングやレビューを行いながら進めていく必要があります。規模の大きいシステムであればこのような方法は有効なのですが、小規模システムにおいてはオーバーヘッドが大きいやり方です。ローコード・ノーコード開発においては、基本的に「システムが欲しい人」=「開発者」ですので、このようなやり取りは不要となります。ローコード・ノーコード開発においては、よく利用されるパーツが予め用意されていることもポイントです。これらのパーツを組み合わせ、足りない部分だけを新たに作ることで、高速な開発が可能となります。aPaaSを導入する際の検討ポイント単にaPaaSを導入すれば、これらのIT人材不足解消やビジネス速度向上への対応ができるわけではありません。aPaaSは比較的使いこなすのが難しい仕組みといえます。aPaaSの導入においては気を付けるべき点がいくつかあります。何でもできるプラットフォームを導入しようとすると、当然ながら高コストとなります。ローコード・ノーコード開発を始める際には、必ず「自社で必要なシステム開発のうち、どの領域をローコード・ノーコードで実現するのか」を精査するようにします。一般的には、Webをベースとした画面入力中心のアプリケーションであれば、比較的容易にローコード・ノーコード開発を実現することができます。一方で、オンプレミスで稼働する複数の自社システムとの連携を実施するような取り組みは難易度が高いといえます。自社のどの領域に開発ニーズがあるのかを精査し、取り組みの難易度とスキルレベルを鑑みて、導入対象範囲を検討します。aPaaSサービスにより、得意とする領域は異なります。Appsであれば、Webフォームをベースに、OneDriveやSharePointなどMicrosoft社製品と連携した処理を実現するのに強みがあります。自社のニーズと製品の特長や強みを比較して、自社にあった製品を選定していきます。aPaaSが提供する機能をチェックするaPaaSの比較検討を行う際には、各製品がどこまでの機能を提供するかをチェックします。当然ながら、アプリケーション開発を実現するための開発画面や各種パーツの提供などはどのaPaaS製品にも備わっていますが、加えて自動テストツールや運用監視等の機能、CI/CD※を実現するための機能などがどの程度充実しているかも大切なポイントです。aPaaSによる高速開発を実現するためには、開発機能だけではなく、テストや稼働後の運用保守に必要な機能も併せてチェックする必要があります。Integration(継続的インテグレーション。Delivery(継続的デリバリー。アプリケーションのリリースを継続的に行うこと)また、セキュリティ面も重要です。aPaaSはクラウド上で管理・実行される仕組みであり、他のクラウドサービスと同様にセキュリティ面の担保はサービス提供事業者側にあります。セキュリティ面での対応状況や、認証等の取得状況など、事業者の信頼性を確認するべきでしょう。ベンダーロックインリスクを認識する導入するaPaaSによっては、独自の機能や独自の言語などを利用しているケースがあります。このような場合、他の環境へ移行することは困難です。オープンでないaPaaSにはベンダーロックインリスクがあることを認識しなければなりません。それだけではなく、サービス提供事業者側によるバージョンアップにより、開発したアプリケーションに影響が発生することもあります。aPaaS提供事業者の方針によっては、場合によりバージョンアップを必須で求められるケースも。適切に対応を行わなければ、開発済みのアプリケーションが動作しなくなってしまうようなリスクもあります。その他、aPaaSのサービス停止リスクも認識しておくべきでしょう。このように、aPaaSはサービス提供事業者側に多くをゆだねる仕組みであることを理解すべきです。最後に:用途を精査した導入がポイントaPaaSによるローコード・ノーコード開発は万能の薬とはなりませんが、使いどころを精査すれば業務効率化や生産性改善の強い味方となります。多くの日本企業においては、比較的スキルを必要としない領域、例えばWeb上で提供する入力フォームなどの開発へ活用することから始めていくのがよいと思われます。Appsを利用することができますので、そこから始めてみてもよいでしょう。aPaaSの活用は内製化の一歩となります。デジタル化が進む社会において、競争力を確保するために自社のITスキル向上は重要なポイントとなりますが、一足飛びには難しいのが現実です。aPaaSの活用を通して、徐々に内製化へシフトしていくようなプランも検討できます。