How to Scale eLearning, MOOCs, and Online Education Programs
Education is being thrown on its head. The way the global community learns as well as propagates its knowledge is being revolutionized thanks in part to software, technology, and innovative start-ups that bring education to the masses. eLearning and classroom enhancement software like Blackboard sparked a wildfire around 2000 and since then the global community has embraced this revolution in learning; account for an explosion of MOOCs… or Massive Open Online Classrooms.
It’s almost guaranteed that whatever knowledge you seek or skill you need, there is someone online ready to teach you. We’re now seeing even Ivy League and other prestigious universities share their classrooms with the global community through platforms such as Coursera.org (Yale, Stanford) and edX (Harvard, MIT). So we ask: in a classroom that used to fit only 40 students, just how challenging is it for these MOOCs to serve students on-demand (when they want) and in quantities of over 200,000?
The Challenge for MOOCs
With some online teaching organizations reaching students in over 190 countries worldwide (yes, that is 96.9% of all countries in the world) and hundreds of thousands of students enrolled in any given course accessing hours of video content, how can these MOOCs control infrastructure costs and scale when one class becomes incredibly popular and opens its doors for new registrations? Peak log-in times can see over a million students engaging in online discussion boards, sharing or viewing video, commenting, or completing interactive homework activities. The expectation for a MOOC is to be accessible and durable no matter the load, and for its high quality video content to be streamed in high definition so that engagement is not lost.
Why Infrastructure-as-a-Service for Massive-Open-Online-Courses?
The stress of having a global audience accessing video content on-demand with a tendency to be spiky is a fantastic use case for cloud infrastructure. The majority of MOOCs could take advantage of pushing their workloads onto cloud servers and services that optimize for content delivery by factoring in the student’s location and content location to minimize the effect of latency. Multi-region deployment and geo-location of cloud servers is another facet that can ensure that an online learning application remains durable, maintains an acceptable up-time conducive to the learning experience, and satisfies availability requirements of teachers and students alike.
A Framework to Deliver Knowledge
By building a MOOC using IaaS, it’s possibly to deploy worldwide and ensure high performance of classroom assets and video no matter what country students are in. Configuring a content delivery network (CDN) to help optimize delivery of content is another important aspect in making sure that content is being delivered just as the professor recorded it. The CDN will leverage edge locations to deliver content to students and reduces the load on the front-end of the app and the need for buffering. Running the web service and application with a mySQL or noSQL database can also be handled using IaaS as well and the option to deploy on all SSD cloud storage such as the offerings found by Nephoscale are a great way to boost performance on read/write intensive apps. When classes become unpopular, it’s easy to release and spin down the infrastructure required to deploy it. Load balancers can also be used to ensure high availability in case an unpopular class suddenly becomes a hit again and requires more infrastructure.
Using the cloud to deploy online learning environments also enables the software engineers and sys-admins to optimize without worrying about sinking money into server specs. With the massive selection of virtual machines and instance types available it’s possible to benchmark and analyze performance of individual components to see if they require more compute or memory. Resizable VMs make it possible to add/remove memory or compute from a workload to get higher performance or better dollar value based on performance testing results. By automating the entire deployment, engineers can spend their time worrying about fine-tuning the architecture, deliverability, and the quality of the experience instead of infrastructure planning and maintenance.
Conclusion: Move Your Class to the Cloud
It’s clear that online learning apps and MOOCs are already teaching the world innovative ways to use cloud infrastructure. By providing educational services to handle 3 or 3 million students worldwide with scalable cloud servers, the education sector has become an almost revolutionary scene. So in conclusion – if you thirst for knowledge on Thermodynamics or the Fundamentals of Immunology, Part 1 – you should check out edX. If you’re more interested in finding out how to deploy your next revolutionary education app and the best infrastructure or cloud provider to help make it happen – just check in with your friends at ComputeNext.