クラウドアプリ開発を成功に導くためには、「クラウドネイティブ」の原則を実践することが効果的だ。押さえるべきポイントを紹介する。
企業の開発部門がよく抱える悩みとして、クラウドサービスで構築したシステムの動作が遅い、使いにくいといった悩みがある。ノーコード/ローコード(ソースコードの記述なし、または最小限のソースコード記述のみ)開発ツールベンダーMendixで最高製品責任者を務めるハンス・デ・フィッサー氏は、「これらの問題を回避するためには、クラウドサービスの利用を前提とした『クラウドネイティブ』の原則に忠実であるべきだ」とアドバイスする。具体的にどのようなポイントを押さえればいいのか。
ネットワークベンダーExtreme Networksで欧州・中東・アフリカ(EMEA)地域担当の最高技術責任者(CTO)を努めるマルクス・ニスペル氏は、クラウドネイティブアプリケーションの要件について「ユーザーやデバイス、アプリケーションを際限なく分散させることを開発の重点に置くこと」と説明する。
具体的にフィッサー氏は、ステートフル(プログラムがある状態を保持して処理を臨機応変に変えること)なサービスを構築し、大規模アプリケーションとして稼働できるようにすべきだとアドバイスする。アプリケーションを複数のマイクロサービス(独立性の高い小規模サービス)またはコンポーネント(構成要素)に分割することで、サービス単位ごとのリリースが可能になる。
常時稼働し、酷使するようなコンポーネントは、負荷のピーク時に個別にスケールアウト(数を増やして処理能力を向上させる)する構成を取ってもいい。一方で負荷があまり変動しないマスターデータ管理(MDM)サービスなどのサービスは、ベース負荷を処理できるような構成を取る。
既存のアプリケーションに加えて、Amazon Web Services(AWS)のサーバレスコンピューティングサービス「AWS Lambda」などの専用リソースを活用する顧客も存在する。こうした活用法は、負荷のピーク時に機能を拡張するのに役立ち、負荷が落ち着いたらサイズを縮小できる。
問題は、上述したポイントを踏まえたアプリケーションの設計や開発を、企業が必ずしもできていないということだ。オンプレミスのレガシーアプリケーションをそのままクラウドサービスに移行する「リフト&シフト」を採用する企業は一定数存在するが、「それでは完全な最新化とは呼べない」とニスペル氏は指摘する。
システム構築には、AI(人工知能)技術を組み込んだ製品やローコード開発ツールを積極的に活用すべきだとフィッサー氏はアドバイスする。例えば、Mendixが提供する機械学習(ML)モデルを組み込んだbotは、開発者がパフォーマンス低下の原因となるような行動を起こすと対処パターンを適用するよう警告を発する。ローコード開発ツールはアプリケーション開発プロセスの抽象化や自動化に役立ち、開発の知識や技術を持たない人でも洗練されたアプリケーションを構築できるように支援する
米国TechTargetが運営する英国Computer Weeklyの豊富な記事の中から、海外企業のIT製品導入事例や業種別のIT活用トレンドを厳選してお届けします。
高齢男性はレジ待ちが苦手、女性は待たないためにアプリを活用――アイリッジ調査
実店舗を持つ企業が「アプリでどのようなユーザー体験を提供すべきか」を考えるヒントが...
IASがブランドセーフティーの計測を拡張 誤報に関するレポートを追加
IASは、ブランドセーフティーと適合性の計測ソリューションを拡張し、誤報とともに広告が...
【Googleが公式見解を発表】中古ドメインを絶対に使ってはいけない理由とは?
Googleが中古ドメインの不正利用を禁止を公式に発表しました。その理由や今後の対応につ...