Amazon Web Services ブログ

Infosys が AWS Fargate を使用して、Wingspan での技術スキル評価を新しい形に



この投稿は、Infosys のリードアーキテクトである Arpan Patro 氏と、AWS ソリューションアーキテクトの Satheesh Kumar が共同執筆しています。

Infosys は、次世代デジタルサービスおよびコンサルティングのグローバルリーダーです。同社は世界中に広がる 24 万人を超えるスタッフを抱え、ビジネスコンサルティング、情報技術、アウトソーシングサービスを提供しています。

挑戦:

Infosys は 46 か国以上にまたがるクライアントに、さまざまなデジタル変革の取り組みを提供しています。クライアントに適切なサービスを提供できるよう、Infosys のスタッフは新しい技術スキルを習得して、技能を向上させることが重要です。技術スキルを習得しようとしている学習者が天才的な才能を発揮し、そうしたスキルを職場で見せたい、実験したい、クラスや動画で知ったことをやってみたいと思うことは多々あります。こう思ったときこそ学習者の熱意が高まるときで、一方で実践のための適切な環境がないためにつまずくときでもあります。

制限、インフラストラクチャへのアクセスの困難さ、ソフトウェアのインストール、バージョンの不一致は、学習者が対処しなければならない現実であり、スキルアップの経験を積もうとしても望む結果をもたらさない可能性があります。

Infosys は、学習者が学びを達成するには応用の効く実践スキルが必要であると考えています。学習者には独自のプレイグラウンドを準備し、そこではフェイルセーフな環境で実験、強化、分解できる必要があります。失敗に時間を掛けないことが、堅牢性を築く最もよい方法です。

同社は、スタッフ全員がいつでもどこでも好きな環境にアクセスできるソリューションを求めていました。この結果、実践的に学習し評価できる環境を、いつでも、どこでも、どのデバイスでも迅速に提供するという目標を立てるのに役立ったのです。Wingspan Assessments は基本的なプログラミングベースの言語だけでなく、コアテクノロジーとツールを具体化するものでした。

Infosys Wingspan は組織が人材の変革を加速し、やり方を変更するのに役立つ多目的な学習ソリューションです。学習を継続するための環境を作成することで、人材が一段階上のステップに進むのを支援します。

https://www.infosys.com/products-and-platforms/wingspan.html

 

ソリューション:

このユースケースは独特で、一筋縄ではいきませんでしたが、AWS Fargate の Amazon Elastic Container Service (ECS) に着目することになりました。これは、ケーラブルでコスト効率の高いマネージドサーバーレスサービスで、コンテナを実行するためのものです。AWS Fargate を選択した理由は次のとおりです。

  • AWS Fargate はコンテナを実行するサーバーレスコンピューティングエンジンです。これのおかげで、インフラストラクチャ管理の差別化につながらない手間のかかる作業から、より多くの機能を備えた評価プラットフォームの構築に焦点を移すことができました。
  • AWS Fargate は「awsvpc」ネットワーキングモードをサポートしています。このモードでは、各タスクが独自の IP アドレスを取得し、タスクレベルでセキュリティグループを関連付ける機能を備えた、きめ細かなセキュリティ制御を実行できます。
  • コンテナをアドホックな方法で実行するこのワークロードの性質を考えると、AWS Fargate は、このソリューションを大規模に実行するためのコスト効率の高いオプションであることがわかったのです。AWS Fargate は Compute Savings Plan の対象であるため、確定している支出にはよりお得な割引があります。

プレイグラウンド評価ソリューションは Infosys のスタッフ全員が利用でき、デジタル技術スキルを学ぶことができます。ソリューション設計はスケーラブルで、24 万人ものユーザーのユーザーベースに対応できます。

以下に、ソリューション設計の主な注目点をいくつか示します

AWS Fargate のコンテナイメージには、必須であるランタイム環境 (Python、Java、Go など)、および学習に必要なソフトウェアがロードされています。コンテナイメージは、エンドユーザーがブラウザからコンテナ表示にアクセスできるようにブートストラップされています。このコンテナイメージは Amazon Elastic Container Registry (ECR) に保存されます。コンテナイメージは頻繁に更新され、学習ニーズに対応します。

フロントエンド: Angular で記述されたアプリケーションフロントエンドを提供するウェブサーバーおよびリバースプロキシとして、NGINX サーバーを使用します。Auto Scaling グループの m5.large インスタンスで実行します。

バックエンド: バックエンドサービスは Spring Boot で実装されており、Auto Scaling グループで設定した m5.large インスタンスで実行します。

Amazon SQS を使用したデカップリング: 開始当初、バックエンドサービスは AWS Fargate タスクを同期モードでスピンアップすることが許可されており、アプリケーションがより多くのトラフィックに対応しなければならなくなるまで問題なく機能していました。しかし、より多くのユーザーが同時にこのアプリケーションを使用しようとすると、ユーザーは作業に割り当てられるプレイグラウンドコンテナを取得するのにキューイングによる長い待ち時間となることがわかりました。これでは、迅速なスピンアップソリューションという設計目標を大きく妨げます。同時ユーザーの数が数百人を超えると、レート制限エラーが発生し始めました。

こうした状況に対処するため、コードに再試行と指数バックオフを実装して API レート制限に達しないようにするベストプラクティスに従いました。さらに、ソリューションミックスで Amazon SQS を利用することで、AWS Fargate タスクの作成アクティビティを分離しました。このアプローチでは、AWS Fargate 作成タスクを非同期モードで起動するように変更しました。AWS Fargate コンテナのユーザー要求は Amazon SQS にプッシュされ、AWS Lambda 関数を使って Amazon SQS をポーリングし、API レート制限に達さずに制御されたペースで AWS Fargate タスクを作成しました。この新しい設計は、アプリケーションを数千人のユーザーに拡張するという大きな変革をもたらしました。

Amazon EC2 でデプロイされている MongoDB では、3 つのシャードが 9 つのノードに分散しています。MongoDB はユーザーおよびマッピングしたコンテナ関連のメタデータを格納するために使用されます。

このソリューションを使用するためのユーザーフローは、次のようになります。

  • ユーザーが Infosys の企業 AD の認証情報を使用してアプリケーションにログインし、サンドボックスコンテナを要求します。
  • バックエンドサービスはこの要求を Amazon SQS に登録し、AWS Lambda ポーラー関数が AWS Fargate タスクを作成します。これらの詳細は MongoDB に永続化されます。
  • ユーザーはブラウザから環境にアクセスし、技術関連の課題の学習または解決を開始できます。標準セッションが数時間続き、その後コンテナはクリーンアップされます。ユーザーが時間内に完了しない場合は、オプションを選択するだけで時間を延長できます。
  • ユーザーは、自分で作成および事前設定した新しいコンテナで続行することを選択した場合、作業を持続できます。

メリット:

今日、何千人もの学習者が Wingspan Platform 上の AWS Fargate ベースのプレイグラウンドを使用して、ナゲットプラクティスから長期的なプロジェクトの POC や実装まで、あるいは実践的な練習からスロータイプのプレイグラウンド、洗練されたマルチノード認定評価に至るまで、さまざまな学習を体験しています。用途は大きく、かつ多様です。フルスタック開発、ブロックチェーン、サイバーセキュリティなど、さまざまなテクノロジーに対応できます。

Wingspan Assessment プレイグラウンドソリューションでは学習環境をすばやく作成できるため、3〜4 分以内で作業を開始する準備ができます。私たちのソリューションがもたらしたいくつかの利点を以下に示します。

常に準備万端: 環境が機能する方法を理解するのに、学習者の手間をかけたくなかったのです。このプラットフォームは 24 時間 365 日アクセス可能で、スタッフは新しい技術スキルを習得できるため、弊社のプラットフォームもほんの 3〜4 分で学習環境を作成できました。

分離している: 私たちは、学習者が恐れることなく実験する自由を感じてほしかったのです。したがって、すべての学習者が学びたいさまざまなタイプのスキルについて、できるだけ多くの環境を用意する必要がありました。このプラットフォームは各ユーザー専用の学習環境を作成し、爆発半径が制限されていました。

スケーラブル: 24 万人を超える学習者の組織でフェイルセーフモデルで実験する自由を与えるには、スケーリングが必要でした。このソリューションでは 1 万人の同時ユーザーにスケーリングできました。

低いメンテナンスとコスト効率: このような環境を高いコストで提供できるソリューションはあります。プラットフォームは AWS Fargate を使用しています。このため、基盤となるインフラストラクチャのメンテナンスが不要となり、この規模でプラットフォームを実行する場合にコスト効率が高くなります。

Wingspan Playground Assessment ソリューションにより、フルスタック開発、機械学習、ブロックチェーン、テストの自動化、データベース管理、DevSecOps などの分野で Infosys の内部認定の取得を通して学習者はスキルを獲得し、すぐに活用できる労働力として対応できるようになりました。

Infosys が AWS Fargate で達成したものは、概念から応用へと推移する学習文化の変化です。つまり、学習者だけでなく著者やコース作成者にも、没入型で創造的なコースを作成する自由と柔軟性を与える文化です。Wingspan Assessment ソリューションは Infosys で大きな成功を収め、スタッフが新しいスキルを習得する方法を変革するのに役立ちました。Infosys はこのサクセスストーリーに触発され、現在、顧客にデジタルトランスフォーメーションの次のステップに進む支援を行う Wingspan ソリューションを提供しています。