クラウドが進化するスピードは衰えを見せない。特にAmazon Web Services(AWS)、Microsoft Azure、Google Cloudといった大手は矢継ぎ早に新サービスや新機能を繰り出してくる。利用者からのフィードバックを踏まえた機能改善も速いので、動向を注視しておかないとトレンドに乗り遅れかねない。
今回は、そうしたトレンドから生まれてきた「新常識」を2つ紹介する。1つは、DX(デジタルトランスフォーメーション)などで求められる、クラウドネイティブな開発手法を推し進める「サーバーレスサービス」の活用法。もう1つは、従来型システムのクラウド移行で課題になりがちな「バッチ処理」の高速化手法だ。
新常識1:サーバーレスサービスだけで業務処理が組める
新常識の1つめは、サーバーレスサービスだけで業務処理が組めるである。
クラウドにはさまざま用途、形態のサービスがある。例えばMicrosoft AzureはIaaS(インフラストラクチャー・アズ・ア・サービス)とPaaS(プラットフォーム・アズ・ア・サービス)に関する200に上るサービスを提供している。
IaaSが用意する仮想マシンやコンテナを使えば、これまで通り自分の好きなソフトウエアを導入して利用できる。そのため、開発や運用の形態は従来のオンプレミス(自社所有)環境と同様だ。これに対してPaaSのデータベースサービスなどは、ソフトウエアの導入や運用管理などをクラウド事業者が肩代わりするので、利用者はそうした作業負担をオフロードできる。
PaaSの中でも最近、活用が本格化してきたのがサーバーレス型のサービスだ。利用者に代わってクラウド事業者がサーバーを構築し、処理を実行する。代表格といえるのがイベント駆動型のコード実行サービス「AWS Lambda(ラムダ)」である。何らかのアクションをトリガーに、あらかじめ利用者が用意したコードを実行する機能を備える。ストレージへの写真データの到着をトリガーにサムネイルをつくるといった軽い処理や、従来は仮想マシン上のアプリケーションで実行していた都度処理の移行先などのユースケースが知られる。
ここにきて、Lambdaを中心にメッセージキューイング「Amazon Simple Queue Service(SQS)」や通知サービス「Amazon Simple Notification Service(SNS)」などのマネージドサービスを組み合わせて、業務処理を構築するのが現実的になってきた。
サーバーレスサービスの活用法に詳しいオプタークの丸本健二郎代表は「何かをインストールして使うことはやめた」と、サーバーレスファーストの方針を話す。そのうえで、「クラウドが提供する小さなサービスを組み合わせてつくる」とクラウド上の開発方針を説明する。最近ではオーケストレーションサービス「AWS Step Functions」を使うのが定石になってきたという。
アマゾン ウェブ サービス ジャパンの小林正人技術統括本部技術推進本部本部長は「Step Functionsを使えば、Amazon ECS(コンテナ管理)やAWS Glue(ETL)、Amazon EMR(ビッグデータ処理)といった、利用者がサーバーを意識しないサービスをつないで処理を構築できる」と話す。分岐や並列処理などの必要な処理パターンを組み合わせたワークフローが比較的簡単に組める。
サーバーレスコンテナでマイクロサービス
サーバーレスで注目株の1つがコンテナ管理サービスである。「AWS FargateやGoogle CloudのCloud Runなど汎用性の高いコンテナがサーバーレスになり、まずはCloud Runでやってみようかといった流れになってきた」。野村総合研究所の遠山陽介クラウドインテグレーション推進部長は、いわゆるサーバーレスコンテナの動向をこう話す。
例えばCloud Runは、コンテナのプロビジョニング、コンテナクラスターの構成、自動スケーリングなどをクラウドが自動で行うサービスだ。利用者はコンテナアプリケーションの実行環境が簡単に手に入る。「Cloud Runはマイクロサービスの構築にも向く。メッセージングや認証、許可といったクラウド上のサービスを組み合わせた一連の業務がつくりやすい」。グーグル・クラウド・ジャパンの安原稔貴技術部長(インフラ、アプリケーション開発)は、Cloud Runを活用する利点をこう説明する。
DXに資するようなサービスでは改善や変更のスピードが求められるケースが多く、アプリケーションのデプロイ頻度を高める必要がある。この課題への回答の1つが、サービスを疎結合で用いるマイクロサービスアーキテクチャーであり、実行環境をすぐにつくれるコンテナである。コンテナが手軽に使えるようになってきたことで、マイクロサービスを試すハードルも下がるといえる。