クラウドサービスを積極的に活用する、いわゆる“クラウドネイティブ”なソフトウェア開発では、PaaSやコンテナ以外のサービスも積極的に利用したいところでしょう。具体的には、ビッグデータ分析のための基盤、あるいは機械学習を可能にするサービスなどが考えられます。
このようにクラウドを活用していくと、言語処理はGoogle、機械学習はMicrosoft Azureなど、複数のクラウド基盤をまたいでシステムを構築するといったことも十分に考えられます。そこで重要となるのがネットワークです。
各クラウドを接続するネットワークを個別に構築すれば、インフラの運用負荷が増大する恐れがあるほか、トラフィック量の増減などといった変化への対応にも時間を要する可能性があります。インターネットを利用して接続するのも1つの手ですが、セキュリティ面での不安が残ります。
データセンターやクラウド上で運用している、既存システムとの接続が必要となるケースもあるでしょう。たとえばIoTデバイスから取得したデータとERPに蓄積されている情報を統合して分析するといったソフトウェアを開発するといった場合、クラウドサービスとして提供されているPaaSやコンテナ基盤と自社システムを接続する必要があり、ネットワークの要件はより複雑になります。
このような場面で重宝するのが、複数のクラウドサービスをまたいで閉域網での接続を実現するVPNサービスで、具体的にはNTTコミュニケーションズの「SD-Exchange」や「Multi-Cloud Connect」などが挙げられます。こうしたサービスであれば、クローズドVPNの1拠点として各クラウドやデータセンター上のコロケーションを接続できるため、ネットワークインフラをシンプルに保ったまま、複数のクラウドやオンプレミスのシステムを連携したシステムを構築することが可能です。
NTTコミュニケーションズ「SD-Exchange」

それではPaaSやコンテナを利用することでどのようなメリットがあるのか、具体的なユースケースで見てみましょう。まずIaaSで提供される仮想サーバーに加え、PaaSやコンテナ技術も活用してIoTに取り組み、SCMを最適化した例です。昨今では、SCMのような従来型のシステムであっても、あらゆる要求に対応できる柔軟性や、スピード感のあるアプリケーション開発が求められることが少なくありません。それを実現するために、PaaSやコンテナ技術を活用するというわけです。
NTTコミュニケーションズ IoTによる精算プロセス変更事例

ただし、こうしたインフラを活用してアジャイル開発を行うためには、相応のスキルやノウハウが必要となります。特にアジャイル開発は従来のウォーターフォール開発とは異なる独自の手法を学び、それに慣れるプロセスが欠かせません。その際に有用なのが、アジャイル開発のプロセスを学ぶことができるトレーニングコースやワークショップへの参加です。
前述したとおり、アジャイル開発にはさまざまなメリットがありますが、それを最大化するためには特有のプロセスについて理解を深めることが欠かせません。それらをトレーニングやワークショップで学びつつ、さらにPaaSやコンテナ技術の実環境にも触れることができれば、より深くクラウドネイティブなソフトウェア開発を理解できるでしょう。
なおアジャイルやクラウドネイティブなソフトウェア開発を実践する際には、いきなり大規模なプロジェクトで試すのではなく、まずはスモールスタートで感触を確かめるべきです。そうしてノウハウを社内に蓄積し、徐々にプロジェクトの規模を大きくしていくという流れです。またアジャイル開発に知見を持ち、PaaSやコンテナ環境をクラウドサービスとして提供しているベンダーをパートナーに選べば、安心してプロジェクトを進められるのではないでしょうか。
※掲載されている内容は公開日時点のものです。
※掲載されているサービスの名称、内容及び条件は、改善などのために予告なく変更することがあります。