About The Centre for Software Practice
The Centre for Software Practice (CSP) is a research and development body within the Faculty of Engineering, Computing and Mathematics at the University of Western Australia (UWA). Formed in 2006, the center creates practical learning opportunities for students studying software engineering at UWA and conducts research into the impact of technology on online communities, open source development, and health informatics.
In 2012, after partnering with Stanford University to obtain a massive open online course (MOOC) platform, CSP created Class2Go to deliver multiple online courses and assessments over the web. Then the center needed an infrastructure capable of managing and delivering course assets—including streaming video, online quizzes, and practical coding assessments—to several thousand online participants. The infrastructure had to be able to scale to accommodate the delivery of new courses and enable participant interaction. In addition, the CSP needed to fund Class2Go without assistance from third parties, meaning it had a limited budget to spend on infrastructure.
Why Amazon Web Services
CSP chose Amazon Web Services (AWS) because the scalability, cost, features, and sophistication of the AWS Cloud made it a perfect fit for Class2Go. “We didn’t consider any other providers,” says Professor Glance. “AWS is also very easy to use. We stood the Class2Go infrastructure up in a single afternoon.”
CSP deploys the Class2Go solution on web servers running on nine Amazon Elastic Compute Cloud (Amazon EC2) instances. Amazon Simple Queue Service (Amazon SQS) sends data to the web servers and Elastic Load Balancing manages the flow of data between the software platform and each Amazon EC2 instance. The infrastructure is set up to run Amazon Simple Email Service (Amazon SES) on one instance to manage student mail and uses another to process coding assignments. “When a student puts in code, it’s sent off to the grading instance, which runs the grading assignment and sends feedback,” says Professor Glance.
The platform uses a MySQL database on Amazon Relational Database Service (Amazon RDS) to index course information. This allows Class2Go to record students’ grades and interactions as they progress through each course, and automatically create backup snapshots and read replicas of all student data. The center also uses Amazon Simple Storage Service (Amazon S3) to store course assets such as videos and online quizzes.
CSP launched Class2Go’s first production environment quickly and efficiently, at a fraction of the cost of an earlier online platform. Previously, CSP had worked with Australian Government departments to create MMEx—an online platform that allows health professionals across Australia to share patient information securely and efficiently. “Delivering the MMEx e-health platform cost $300,000 and it took three or four months to get the first production environment running,” says Professor Glance. “Using AWS, Class2Go cost about $200 for the first month and our current operating costs are only about $1,500 a month.”
AWS has helped enable CSP to adapt its production environment quickly and efficiently to meet Class2Go’s evolving requirements. “We’ve had great success in terms of up-time, responsiveness, and features like being able to seamlessly upgrade to a bigger Amazon EC2 instance when one runs out of memory,” says Professor Glance. “In terms of daily operations, it’s almost infrastructure that you can build and forget.”
“The MOOC space is a very significant development for tertiary education,” says Professor Glance. “One of the reasons that this has all been possible is that cloud platforms like AWS have been there to facilitate it.” AWS in Education, which evaluates academic research support proposals from accredited universities, awarded a $10,000 grant to the center to supplement its MOOC initiative. The CSP used the grant to provide 130 students with an Amazon EC2 instance each for practical exercises. “We’re calling this concept ‘bring your own server’,” says Professor Glance. “We think that the opportunity for students to have a bit of the cloud that follows them around their software engineering degree is a big one.” If the experiment is successful, the model will be rolled out for other courses at UWA.
The scalability of AWS has allowed CSP to lay the groundwork for future growth. “As we start piling on courses, we expect student numbers to increase from about 2,500 students to between 20,000 and 30,000,” says Professor Glance. “All it would take is to have one popular course and we could see anything upwards of 100,000 people accessing the system. Using AWS, we’re prepared to accommodate that kind of increase.”