Центр практических занятий по программированию (CSP) – это подразделение по научным исследованиям и разработкам в составе факультета техники, информатики и математики Университета Западной Австралии (UWA). Центр создан в 2006 году; он занимается организацией прикладного обучения студентов UWA, будущих разработчиков ПО, а также проводит исследования в области воздействия технологии на интернет-сообщества, разработки ПО с открытым исходным кодом и медицинской информатики.

В 2012 году, после совместной со Стэнфордским университетом разработки платформы массовых открытых дистанционных курсов (MOOC), центр CSP создал платформу Class2Go для проведения через Интернет различных дистанционных курсов и онлайн-тестирования. После этого центру потребовалась инфраструктура, способная обслуживать и доставлять тысячам слушателей используемые в курсе ресурсы, включая потоковое видео, онлайновые контрольные опросы и тесты по практическому созданию программного кода. Для этой инфраструктуры требовалась возможность масштабирования, чтобы можно было вводить новые курсы и обеспечивать взаимодействие участников. Кроме этого, CSP должен был осуществлять финансирование Class2Go без помощи третьих сторон, а значит, бюджет на развитие инфраструктуры был ограниченным.

Центр CSP выбрал Amazon Web Services (AWS), поскольку масштабируемость, стоимость, функциональные возможности и высокий уровень сервисов облака AWS делали платформу идеально подходящей для системы Class2Go. «Других поставщиков мы даже не рассматривали, – говорит профессор Гланс. – Помимо прочего, AWS очень легко использовать. Мы запустили инфраструктуру для Class2Go за полдня».

Центр CSP разворачивает решение Class2Go на веб-серверах, работающих на девяти инстансах Amazon Elastic Compute Cloud (Amazon EC2). Amazon Simple Queue Service (Amazon SQS) посылает данные на веб-серверы, а Elastic Load Balancing управляет потоком данных между программной платформой и каждым из инстансов Amazon EC2. Amazon Simple Email Service (Amazon SES) работает на одном инстансе и управляет почтой студентов, еще один инстанс используется для обработки заданий по созданию кода. «Студент вводит код, код отправляется в оценивающий инстанс, на нем выставляется оценка, и студенту отправляется обратная связь», – поясняет профессор Гланс.

Для индексации информации курса платформа использует базу данных MySQL в Amazon Relational Database Service (Amazon RDS). Это позволяет системе Class2Go фиксировать оценки студентов и взаимодействие с ними по мере освоения каждого курса, а также автоматически создавать резервные снимки состояния и реплики чтения данных всех студентов. Центр также использует Amazon Simple Storage Service (Amazon S3) для хранения ресурсов курса, таких как видео и онлайновые контрольные опросы.

Центр CSP быстро и эффективно запустил первую рабочую среду системы Class2Go; при этом затраты были в несколько раз меньше, чем на предыдущей онлайн-платформе. Ранее CSP работал с министерствами правительства Австралии над созданием MMEx – онлайн-платформы, позволяющей работникам здравоохранения по всей Австралии безопасно и эффективно обмениваться информацией о пациентах. «Создание платформы электронной системы здравоохранения MMEx обошлось в 300 000 USD, и запуск первой рабочей среды занял от трех до четырех месяцев, – объясняет профессор Гланс. – Сейчас, когда мы используем AWS, расходы на Class2Go за первый месяц составили 200 USD, а на текущие операционные расходы уходит всего около 1500 USD в месяц».

AWS помогла CSP быстро и эффективно адаптировать рабочую среду под изменившиеся требования Class2Go. «Мы достигли большого успеха с точки зрения времени непрерывной работы, времени отклика и таких возможностей, как способность системы незаметно для пользователей переходить на более крупный инстанс Amazon EC2 в том случае, если не хватает памяти, – продолжает профессор Гланс. – Что касается повседневных операций, мы получили инфраструктуру, о которой после создания можно практически забыть».

«Платформа MOOC представляет собой очень существенный шаг в развитии высшего образования, – считает профессор Гланс. – Одной из причин, позволивших осуществить этот проект, является существование облачных платформ, таких как AWS». Программа «AWS в сфере образования», в рамках которой оцениваются предложения аккредитованных университетов по поддержке исследований в академических областях, выделила центру грант на 10 000 USD в поддержку его инициативы по созданию MOOC. Центр CSP использовал грант на то, чтобы предоставить 130 студентам инстансы Amazon EC2 для практических занятий. «У нас эта концепция называется "используйте свой собственный сервер", – замечает профессор Гланс. – Мы очень ценим возможность, предоставляемую студентам по специальности "разработка ПО", иметь во время учебы собственный "кусочек облака"». Если эксперимент окажется успешным, модель будет внедрена и на других курсах UWA.

Масштабируемость AWS позволила Центру CSP заложить основы будущего роста. «Когда мы начинаем вводить новые курсы, мы ждем, что число студентов возрастет с 2500 до 20 000–30 000 человек», – рассуждает профессор Гланс. – Стоит только создать один популярный курс, и количество пользователей, входящих в систему, может вырасти хоть до 100 000. Используя AWS, мы готовы адаптироваться к такому росту».

Подробнее о том, как AWS может помочь развертывать приложения быстрее и экономичнее, см. на странице сведений о бизнес-приложениях: http://aws.amazon.com/business-applications/.