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