Scaling E-Learning Platform to Serve 1 Million Concurrent Users – A Case Study

The client believed that with a few changes in place, their e-learning platform could serve a larger number of end-users. iauro collaborated to build a futuristic e-learning experience

What is the right technology to build a futuristic E-learning platform? Is there a scalable architecture that can help if, say, there is a sudden spike in the number of concurrent users because of a global crisis? How do iauro find a sustainable tech stack that will make the platform engaging and interactive for the students? Questions like these have been plaguing the edutech market for a while now. The pandemic is forcing the edutech leads to rummage through their technical resources for the answer. A right technology stack can help with the rising demand for online education platforms. iauro collaborated with an edutech client to work-out a platform that can deal with these challenges. The aim was to connect any number of keen students with the right educational resources. This case study about that e-learning platform will bring some hope in these chaotic times.

Challenges for Learning

By the means of their E-learning platform, our client had been offering study material in major cities of the country. They had a successful 20-year long journey in the education sector. Substantial experience in the sector enabled them to foresee any changes in market trends, and pivot accordingly. The client believed that a larger number of users could benefit from the personalized course material and smart mock-tests. They concluded that in order to do so, a few things needed to be in place

  • An architecture that can scale for a larger number of end-users. It should also be able to integrate regular updates without slowing down the performance
  • A user experience design that is engaging, interactive and yet lightweight
  • Provision to allow accessibility on mobile phones, tablets, and all such popular devices. Moreover, learning resources should also be available online. 

Incorporating these features in the platform would enable the client to serve a million end-users at a time. Their determination and iauro’s experience with edutech, collaborated to pave the way for what followed.

Building the Future Learning

iauro and the client discussed the client’s vision for the platform. Design Thinking helped iauro understand the need for the changes required and a suitable roadmap to make them happen. Post the ideation, iauro decided over the tools and technologies that could help us in this endeavor:

  • Microservices Architecture (MSA). For scalability, microservices architecture was possibly the best option available. It is domain-driven, agile, fast performing, failure resilient, and flexible. As the number of end-users would increase, the microservices would scale to serve them. Moreover, microservices are technology agnostic. Their intercommunication protocols are indifferent to the underlying technology. This was helpful for our domain experts to find the right technology combination for every service offered by the platform. With the help of MSA, iauro was able to build an improved platform faster.
  • Design Thinking. With the help of the Design Thinking approach, iauro was able to understand the pain points in terms of end-user experience. This helped with a total renovation of the platform interface and user experience design. The approach also helped us identify and suggest other possible changes including:
    • Database management
    • Cross-platform functionality
    • Infrastructure changes 

The aim was for the platform to be easier to handle for the young students benefiting from it.

  • Incorporating AWS. Amazon Web services are cost-effective, reliable, and secure. The database management for the platform was highly optimized by the cloud functionality. Because of its immense popularity and offerings, the use of AWS was also necessary to make the platform ready for global use in the future. Moreover, it would also help with the platform’s ability to be operated on a variety of devices.
  • Multiple devices and Offline. iauro revamped the platform to be functional on android devices, iOS devices, and Smart TVs as well. Moreover, the platform would also be able to allow offline downloading of course material. The learning resources were, therefore, readily available anytime.

The evolved platform was as good as new. It was now actually capable of serving a million concurrent users. Once again, the client found a way to pivot for future changes.

  • The platform can now scale to a much larger number of students on their android and iOS mobiles, tablets, and smart TVs.
  • With better scalability in place, the platform could also cater to a wider range of education curriculums and examination courses.
  • The offline download feature made learning resources more accessible and helpful.
  • A later collaboration with a telecom giant enabled the platform to be available on a set-top box as well.

A determination to serve education cannot and should not be hindered by technology. With the right expertise and vision, the client and iauro built a platform that is seamlessly working even during these uncertain times. More and more students are turning towards online learning, and our platform is ready to serve.

Shift Left Testing for Faster and Failure Resilient DevOps Deliveries

DevOps Continuous Delivery can get faster and more failure resilient than it already is. Shift Left Testing is the key.

When done right, automation can save time and improve product quality. To do it right, of course, requires consistent monitoring and analysis. DevOps automation strategies are also meant to speed up delivery. But, the testing discipline might need to change. Avoiding product vulnerabilities throughout the DevOps pipeline would help a lot with speed. It will also make the deliveries failure resilient. There exists a discipline that holds such attributes. It is fast, fail-safe, and can amend the defamed developer-tester relations. So, it will be helpful to discuss this discipline called Shift Left Testing. 

Bringing Dev and Test Together

Continuous Delivery is the ultimate automation goal that the companies employ DevOps for. Automating redundant tasks offers space for delivery teams to explore new learning opportunities. The current testing approach is undoubtedly automated. But the testing is not practically frequent enough to ensure uninterrupted deliveries. This is also where the developer-tester conflict arises. Automation would only be effective if developing and testing are collaborative activities.  Right now, they are consecutive steps. The Shift Left Testing is powered by continuous testing and deployment. It makes testing more transparent and persistent. This regulates the development to realize the business vision for the end product.

Shift Left Testing

To put it simply, shift left suggests prevention rather than detection. It pulls up testing from being “after” the development to “during it”. The test cycles shorten because test and dev are working together, and there are no funny surprises. Shift left channels the focus on reducing the failure rate instead of amending the failures. If done right, shift left can increase the delivery speed while ensuring fail-safe end products at the same time. Here, are some points that should be kept in mind for ensuring successful shift left:

  • Clearly define the testing scopes beforehand. This will ensure a smoother integration of continuous testing tools and practices.
  • Create awareness about shift left. The delivery teams, management etc. should be able to adapt its practices. The companies, as a whole, should be thoughtful about what works for them
  • Tools that fit well with the current business infrastructure, would make the evolution easier. DevOps itself is a discipline attained by gradual acceptance. Shift left too, should navigate through the same path. Some practices and tools cannot shift left immediately. Amendments will have to be made for them.

Benefits of Shift Left

Dignified testing helps the developers to understand and respect the testing process and work along with them. Shift left can bring transparency among delivery teams and speed up the continuous delivery pipelines. Here are some of its prime benefits:

  • Faster Deliveries. A consistent testing approach reduces the chances of later reworks. Development and testing proceed together, and the overall delivery time decreases.
  • Failure Resilience. Shift left keeps the development in lines with the business vision for the product. Any future changes too, are developed and tested there and then. Therefore, the product is more fail-safe.
  • Inter-team Collaboration. Shift Left testing requires the teams to work together. The developers and testers share combined knowledge to identify the redundant work in the SDLC map. This helps them set up  the tasks for automation. Thus, automation is deemed not as a replacement for current work culture, but a facilitator to it.
  • Incremental Development and Testing. Continuous testing minimizes the time between development and testing. The development is done in small increments so that the immediate testing can reveal and tend to any point of concern.
  • Quantifiable Key Performance Indicators (KPIs). Defining KPIs helps in analyzing the results and reports better. Shift left helps companies to set Quantifiable criteria for the developed increments and test results. This helps in extracting meaningful information for future projects as well. 

Conclusion
Testing is an essential part of the SDLC. Right testing practices can help companies to realize the full potential of DevOps Automation. Shift left is an accelerator to Continuous Delivery. Undoubtedly, speed and resilience are major necessities of current times.