デジタルトランスフォーメーション(DX)の推進に伴い、企業ではクラウドへの移行が進んでおり、さまざまなITベンダーがクラウドへのシフトをサポートするサービスを提供している。
アマゾン ウェブ サービス ジャパン(以下、AWS)は今年4月に、クラウドへの移行を支援するパッケージとして「ITXパッケージ」を発表したが、このたび、大規模システムのクラウド移行に関連したサービスの最新情報を紹介する記者説明会を開催した(「ITXパッケージ」の詳細はこちらで確認されたい)。
技術統括本部 レディネスソリューション本部 本部長/プリンシパルソリューションアーキテクトの瀧澤与一氏は、クラウドへのマイグレーションにおける課題として、「ドライバーやOSのバージョン」「レガシーアプリケーション」「複雑なデータベース」「IT部門の忙しさ、ワークロードの変化への対応」「複雑な障害への対応」「高度に専門的なITスキルの必要性」「ダウンタイムやパフォーマンスの考慮」「限られた予算と時間」を挙げたが、AWSはこれらを解決するサービスを提供している。
瀧澤氏は以下のサービスについて説明を行った。
- AWS Application Migration Service (AWS MGN)
- AWS SaaS Boost
- Amazon Graviton2
- Amazon DevOps Guru
- AWS Fault Injection Service
AWS MGNはアプリケーションをAWSに移行するサービスで、リホスティングの自動化をサポートする。物理インフラストラクチャ、仮想インフラストラクチャ、クラウドインフラストラクチャから、AWSへ自動的に変換し、時間がかかり、エラーが発生しやすい手動プロセスを最小限に抑える。
移行前に中断なしのテストを実行することにより、AWSでSAP、Oracle、SQL Serverといったアプリケーションをシームレス動作させることを可能にするという。
「AWS SaaS Boost」は、独立系ソフトウェアベンダーを対象としたオンプレミス向けのソフトウェアを SaaSモデルに移行する際に役立つリファレンス環境だ。AWS SaaS Boostはオープンソースで、GitHubで公開されている。
AWS SaaS Boostを利用することで、開発と運用を簡素化し、オンプレミス向けの継続的にモダナイズしながら、販売することが可能になる。AWSとしては、オンプレミスのソフトをSaaSモデルに移行するにあたっては、リフト&シフトを行い、サイロモデルから始めることを推奨している。
「Amazon Graviton2」は、64ビットのArm NeoverseコアをベースにAWSが独自開発したプロセッサだ。瀧澤氏は、Amazon Graviton2の特徴として、同一インスタンスファミリーの中で最大のコストパフォーマンスを提供することを挙げた。
Amazon Graviton2を搭載するEC2のインスタンスは複数あるが、「T4g」は6月30日まで無料で提供されており、最新の「X2gd」はメモリを大量に必要とするワークロードに合わせて設計されている。
「Amazon DevOps Guru」は、アプリケーションの可用性向上を手助けする機械学習をベースとした運用者向けサービスだ。同サービスは機械学習を用いて、ソースコードの問題を検出し、アプリケーション可用性向上やダウンタイムの回避に役立つ。開発者は機械学習 の知識がなくても、同サービスを利用して自動的に問題点を特定できる。
「Amazon DevOps Guru」は、「問題が発生した時、運用者は多大な労力と時間を費やして異なるデータソースやツールを扱う必要がある」「リソースが追加される度 に監視の設定を行う必要があり、その際にDevOps CloudOpsの知見が必要とされる」「複数ツールで同時に舞い込んでくるアラートや通知のトリアージが難しいため、根本原因の特定に時間がかかってしまう」といった大規模システムの運用における課題を解決する。
「AWS Fault Injection Service」は、AWSのワークロードで障害挿入の実験ができるマネージド型サービス。カウスエンジニアリングの原則に基づいて、システムを破壊的するイベントを作成して、アプリケーションがどのように応答するか確認することが可能。
カオスエンジニアリングとは、管理された環境下で、計画された実験を通し、システムの堅牢性を確認することを指す。
瀧澤氏は、従来のテストは、部品の単体テストでは部品が期待通りに動作するかということを、統合テストや機能テストでは実行の各シナリオで期待通りの結果が出るかということ、つまり、わかっている状況を確認しており、不十分だったと指摘した。
しかし、クラウドネイティブなシステムはいろいろなアプリケーションと連携しているため、結合テストに必要な環境を構築できないことがあるという。そこで、AWS Fault Injection Serviceを使えば、クラウドネイティブなシステムで効果的なテストが行えるようになる。