Containers

Infosys reimagines technology skill assessments with Wingspan using AWS Fargate

This post has been co-authored by Arpan Patro, Lead Architect at Infosys and Satheesh Kumar, Solutions Architect at AWS

Infosys is a global leader in next-generation digital services and consulting. Infosys has a strong workforce of over 240K employees spread across the globe providing business consulting, information technology, and outsourcing services.

Challenge:

Infosys serves their clients in over 46 countries on various digital transformation initiatives. It’s important for Infosys’ employees to keep upskilling themselves by learning new technical skills so that they can serve their clients well. There are many times when a learner, who is on a journey to learn technical skills, has a spark of genius and wants to see it at work, experiment, and put to practice that which they have seen and heard in a classroom or a video. It is at these times that the enthusiasm of the learner can either be amplified or stubbed due to the lack of the proper environment to go hands on.

Restrictions, difficulties in access to infrastructure, software installation, and version mismatches are realities that a learner must deal with and can be counterproductive to the upskilling experience.

Infosys believes that a learner needs to have applicatory hands-on skill to complete their learning journey. The learner needs to have their own playground to experiment, enhance, and tear down in a fail-safe environment. Failing fast is the best way to robustness.

Infosys wanted a solution that enables every employee to have access to an environment of their choice whenever and wherever they want it. That inspired our goal to offer hands-on learning and assessment environments quickly, anytime, any location, and on any device. The Wingspan Assessments took shape not just for basic programming-based languages but core technologies and tools.

Infosys Wingspan is a versatile learning solution that helps organizations accelerate their talent transformation and change journey. It helps talent navigate their next by creating an environment for continuous learning.

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

 

Solution:

The use case was unique and it was challenging but we had our eyes fixed on Amazon Elastic Container Service (ECS) on AWS Fargate, a managed, scalable, and cost effective, serverless service to run containers. Below are the reasons why we chose AWS Fargate:

  • AWS Fargate is a serverless compute engine to run containers. It helped us to shift our focus from undifferentiated heavy lifting of infrastructure management to building our assessment platform with more capabilities.
  • AWS Fargate supports ‘awsvpc’ networking mode, where each task gets its own IP address and provides fine-grained security control with the ability to associate security groups at the task level.
  • Given the nature of this workload where containers are run in ad hoc manner, AWS Fargate turned out to be a cost-effective option to run this solution at scale. AWS Fargate is covered under the Compute Savings Plan, offering better discounts on our committed spend.

The playground assessment solution is open to all Infosys employees, where they can choose to learn digital tech skills. The solution design is scalable and can cater to a user base of 240,000 users.

Here are some of the key highlights of the solution design –

The container image for the AWS Fargate is loaded with requisite runtime environments (such as Python, Java, Go etc.) and softwares required for the learning activity. The container image is bootstrapped with the ability for end users to access the container display from their browsers. This container image is stored in Amazon Elastic Container Registry (ECR) and the container image is frequently updated to keep pace with learning needs.

Frontend: NGINX server is used as a web server and reverse proxy to serve the application frontend written in Angular. This runs on m5.large instances in an Auto Scaling group.

Backend: The backend services are implemented using Spring Boot and it runs on m5.large instances configured in an Auto Scaling group.

Decoupling using Amazon SQS: When we started, the backend service was allowed to spin-up the AWS Fargate tasks in a synchronous mode and it was working fine until the application started seeing more traffic. With more concurrent users trying to use this application, we started seeing that users had to wait for longer duration as they get queued up to get a playground container assigned to work on. This was a significant deterrent to the design goal of a quick spin up solution. We even started seeing rate limit errors when the number of concurrent users crossed few hundreds.

In order to tackle this situation, we followed the best practice of implementing retries & exponential backoff in our code to avoid hitting the API rate limits and in addition we decoupled the AWS Fargate task creation activity by utilizing Amazon SQS in the solution mix. With this approach, we changed the AWS Fargate creation task to happen in asynchronous mode. The user requests for AWS Fargate container were pushed to Amazon SQS and we used an AWS Lambda function to poll Amazon SQS and create AWS Fargate tasks at a controlled pace without hitting the API rate limits. This new design was a game changer to enable the application to scale for thousands of users.

MongoDB is deployed on Amazon EC2 with three shards spread across nine nodes. MongoDB is used to store the user and mapped container-related metadata.

The user flow for using this solution would be as described below:

  • A user logs into the application using Infosys corporate AD credentials and requests for a sandbox container.
  • The backend service registers this request in Amazon SQS and the AWS Lambda poller function creates the AWS Fargate task. These details would be persisted in MongoDB.
  • User accesses the environment from their browser and can start learning or solving a technology challenge. A typical session would last for few hours, after which the container is cleaned up. If the user is not done in time, they can extend their time through a simple selection of options.
  • The user can persist their work if they choose to and continue in a new container that will be spawned and preconfigured with their work.

Benefits:

Today we have thousands of learners using the AWS Fargate based playgrounds on the Wingspan Platform for learning experiences that range from nugget practice to long-term project POCs and implementation, from practice in use and throw type playgrounds to sophisticated multi-node certification assessments. The usage is large and diverse. A variety of technologies can be catered to from full stack development to blockchain, cybersecurity and many more.

The Wingspan assessment playground solution can quickly create learning environments so that the users are ready to get their hands dirty within 3-4 mins. Here are some of the benefits that our solution provided.

Always ready: We wanted the learner not to have the hassle of figuring out how to get their environment to work. The platform was accessible 24X7 for the employees to learn new tech skills and our platform was quick to create the learning environment in a matter of 3-4 minutes.

Isolated: We wanted the learner to feel the freedom to experiment without fear. Hence, we wanted every learner to have as many environments they want on the different types of skills that they wanted to learn. The platform created dedicated learning environments to each user and had limited blast radius.

Scalable: Being an organization of over 240,000 learners and giving the freedom to experiment in a fail-safe model, we needed scale. This solution was able to scale for 10,000 concurrent users.

Low maintenance and cost effective: While there are solutions that can provide such environments at a high cost. The platform uses AWS Fargate, which requires zero maintenance of the underlying infrastructure and is cost effective in running the platform at this scale.

The Wingspan Playground Assessment solution has enabled learners to obtain workforce-ready skills by certifying themselves with Infosys internal certifications in the areas such as full stack development, Machine learning, Blockchain, Test automation, Database administration, DevSecOps etc.

What Infosys has achieved with AWS Fargate is a learning culture shift that goes from conceptual to applicatory. A culture that impacts not only the learners but also gives the authors and course creators the freedom and flexibility to weave courses that are immersive and more creative. The Wingspan Assessment solution has been a great success at Infosys and has helped transform the way employees learn new skills. Inspired by this success story, Infosys is now taking the Wingspan solution to clients to help them navigate their next in their journey of digital transformation.

Arpan Patro

Arpan Patro

Arpan Patro is the Lead Architect for the Infosys Wingspan Assessment Platform, a state-of-the-art anytime, anywhere, any device platform that embraces intelligence and automation to cater to new age, hands-on driven technology and behavioral skills.

Satheesh Kumar

Satheesh Kumar

Satheesh Kumar is a Enterprise Solutions Architect at AWS