Подробное описание

Введение

Проект «Виртуальные классы» был создан в августе 2016 года и первоначально решал задачу быстрого разворачивания и управления группами виртуальных компьютеров, доступных в любое время отовсюду, где есть Интернет. В качестве учебных стендов они выступают в роли альтернативы настоящим ПК, так как не требуют обновления, легко масштабируются, пригодны для очного, заочного и дистанционного обучения.

Преподавателям компьютерных дисциплин данный сервис существенно облегчает процесс подготовки всей инфраструктуры для будущего занятия, а также предоставляет удобный интерфейс для управления и подключения к стендам учащихся.

Учащиеся, в свою очередь, избавляются от необходимости подготавливать свои личные компьютеры для занятий, а также по решению преподавателя могут продолжить работу на учебных стендах и после занятий в любое удобное для них время.

Все онлайн-вебинары с применением «Виртуальных классов» приобретают интерактивный характер, свойственный лишь очной форме обучения — учащиеся повторяют за преподавателем все действия в реальном режиме времени, а после окончания занятий имеют возможность продлжить работу на тех же самых стендах для закрепления материала.

С момента запуска проект перерос в образовательный сервис полного цикла, в котором любой желающий может опубликовать свой учебный курс, назначить ему цену, продолжительность и ряд других параметров, создать учебную группу, предоставить каждому учащемуся учебный стенд, содержащий до 4-х серверов, и вести с их помощью практические вебинары по технологии демонстрации рабочего стола. Курсы можно организовать и без использования учебных стендов. В этом случае сервис удобен тем, что берёт на себя функцию сбора оплаты с учащихся и обеспечивает демонстрацию рабочего стола преподавателя через специальный прокси-сервер.

Рассмотрим два подхода в технической организации процесса обучения.

Два подхода в технической организации процесса обучения

В традиционном варианте все ученики в компьютерном классе работают на реальных физических компьютерах, подготовленных преподавателем. Однако технике свойственно устаревать, а её обновление стоит немалых денег. К тому же преподаватель жёстко привязан к тому классу, в котором ведёт занятия, поскольку ему приходится настраивать каждую машину в отдельности.

В новом же подходе предлагается всю вычислительную мощь перенести в виртуальную среду, в результате чего упрощаются и ускоряются все этапы подготовки к занятиям, а физические компьютеры используются лишь как терминалы для подключения к виртуальным машинам в облаке. Технические характеристики реальных компьютеров перестают иметь значение — это могут быть весьма устаревшие или слабые машины. Важна лишь стабильность доступа в интернет.

В свете вышесказанного перечислю основные преимущества облачных сервисов в сфере преподавания:

  • Виртуальные машины всегда соответствуют современным техническим требованиям, поскольку за этим следит провайдер.
    Характеристики же реальных компьютеров, с помощью которых мы подключаемся к виртуальным, не имеют значения и могут быть весьма посредственными. То есть вы можете отложить вопрос обновления вашего компьютерного парка до лучших времён и это никак не отразится на качестве занятий.
  • Теперь для подготовки к занятиям вам не нужно настраивать каждый физический компьютер — преподаватель всё это может сделать дома, вообще не появляясь в аудитории. Облачные технологии в этом плане обеспечивают беспрецедентное удобство и экономят ваше время.
  • Вы можете преподавать везде, где есть компьютеры с доступом в интернет, причём ничего устанавливать на эти компьютеры не надо, что часто бывает запрещено в других организациях. Тем самым разрывается зависимость от конкретного класса, где у вас уже всё настроено.
  • Облачная среда предоставляет гибкие инструменты управления виртуальными машинами, и, в частности, позволяет легко регулировать их мощность.
    Парой щелчков мыши вы сможете добавить машинам дополнительные процессорные ядра, оперативную память или производительность в целом. Для обычных компьютеров, да ещё в массовом порядке это практически невозможно.
  • Стоимость такого решения исключительно демократична. На подготовку и проведение занятий Вы потратите считанные проценты от той платы за обучение, которую вносят учащиеся. В структуре расходов на организацию учебного процесса эти затраты практически неощутимы и уж точно несопоставимы с теми удобствами, которые получает преподаватель и учебное учреждение в целом.
Типичный алгоритм действий по подготовке к занятию выглядит следующим образом.

  1. Преподаватель создаёт шаблонный компьютер на базе той операционной системы, в которой он привык работать — в большинстве случаев это Windows. Создание происходит из заранее подготовленного образа, который уже готов к работе через пару-тройку минут.
  2. Он подключается к виртуальной машине и устанавливает в неё необходимое для обучения ПО, например, графический редактор Photoshop. На этом подготовка образцового компьютера завершена.
  3. Примерно за час до начала занятия преподаватель запускает процедуру клонирования шаблонного компьютера по количеству учащихся. К его приходу в аудиторию весь виртуальный класс уже будет готов к работе. Останется дать групповую команду на запуск машин и раздать слушателям логины и пароли.
  4. По окончании занятия учащиеся могут сохранить результаты работы либо на локальных компьютерах, либо на флешках, а преподаватель одной командой уничтожить весь виртуальный класс, оставив при необходимости, один компьютер в качестве шаблона для следующего занятия.

Алгоритм

Основные области применения сервиса Виртуальные классы:

  1. Проведение занятий в любом компьютерном классе без необходимости подготовки самих физических машин
    Удобство достигается за счёт быстрого создания и уничтожения групп виртуальных компьютеров, а также отсутствия тарификации выключенных машин, что даёт существенную экономию средств (средства на выключенных машинах снимаются только за то место на жёстком диске, которое они занимают).
  2. Проведение очных и заочных курсов в онлайн или оффлайн режиме
    Студенты могут подключаться к своим виртуальным машинам из любого места, а преподаватель всегда может соединиться с машиной ученика для траблшутинга или решения текущих проблем. Объединение учащихся в учебные группы позволяет назначать им отдельные серверы и предоставлять доступ к виртуальным машинам 24 часа в сутки, что лучше всего подходит для заочной формы обучения.
  3. Проведение разного рода тестирования
    Особенно это актуально в обучении Nix-подобным системам, где учащиеся должны продемонстрировать, например, умение настроить как саму систему, так и комплекс некоторого ПО, причём для тестирования могут быть созданы не только отдельные виртуальные машины, но целые группы машин, объединённые в сети (см. ниже).
  4. Нагрузочное тестирование веб-сервисов
    С группы созданных виртуальных компьютеров имитируется серия запросов на испытуемый сервис.
  5. Проведение выездного обучения персонала на объектах заказчика
    После прибытия на предприятие заказчика вам остаётся только раздать логины и пароли для подключения к заранее настроенным в облаке машинам.
  6. Проведение презентаций некоторого ПО и других мероприятий, требующих подготовки компьютера для того, чтобы присутствующие могли вживую «пощупать» то, что им рекламируют.
    (К слову сказать, в моей переводческой практике часто возникали ситуации, когда иностранец никак не мог на оборудовании заказчика заставить правильно работать ПО, которое создавалось в иноязычной ОС или операционной системе (проблемы со шрифтами, наличием языковой поддержки и т.п.).

Типичные заблуждения, которые встречаются у потенциальных клиентов сервиса:

  1. Мы пока не готовы на это переходить (это внедрять и т.п.)
    Речь не идёт о том, чтобы на это переходить. Сервис может выполнять вспомогательную роль «палочки-выручалочки» в тех ситуациях, когда вы по каким-либо причинам не можете подготовить класс к своим занятиям, не успеваете это сделать физически, вам предстоит работать в других условиях / другой аудитории и т.п. Деньги, которые вы депонируете на свой счёт, не будут списываться при отсутствии созданных машин, а при наличии неработающих в данный момент машин будут списываться только за занимаемое ими пространство на жёстком диске.
    Со временем же вы, возможно, прийдёте к необходимости регулярного использования «Виртуальных классов».
  2. Это слишком сложно для обычных преподавателей
    Это не сложнее, чем работать на обычном ноутбуке с установленным Windows 8. Windows (а это основная система для обучения) везде одинакова, что в облаке, что на ноутбуке. Поэтому никаких новшеств при использовании сервиса вы не встретите, за исключением разве что нескольких ключевых моментов, которые нужно иметь в виду для успешной работы.
  3. Деньги, вложенные в сервис, пропадут, если он не подойдёт
    Все вложенные средства за вычетом уже потреблённых услуг будут возвращены в течение 30 дней, если сервис вам по каким-то причинам не подойдёт.

Регистрация и начало работы

Если Вы решили разово воспользоваться арендой стендов, то особой необходимости в регистрации нет — после оплаты Вам будет предоставлен временный гостевой аккаунт.

Если же Вы планируете время от времени пользоваться услугами сервиса и периодически пополнять свой баланс, то регистрация простого аккаунта будет предпочтительнее. Кроме того, на сайте в скором времени будет развёрнута система технической поддержки, приоритет в которой будет отдаваться зарегистрированным пользователям.

Если Вы предполагаете постоянно пользоваться услугами аренды, получать бонусные начисления за крупные платежи и самостоятельно контролировать процедуры запуска/останова стендов из веб-консоли, то вам будет создан привелигированный аккаунт. Такая форма работы предпочтительна для учебных центров, школ и в целом рекомендуется для юридических лиц.

Регистрация в системе необходима и для того, чтобы размещать информацию о своих собственных курсах/вебинарах и централизованно взимать плату за них с учащихся даже если Вы не планируете арендовать стенды.

Помимо описанных выше вариантов регистрации и видов аккаунтов существуют ещё и ограниченные учебные аккаунты, которые создаются преподавателем в момент включения учащегося в учебную группу. Учебные аккаунты предназначены для организации доступа учащегося к компьютерам и сетям в составе назначенного ему стенда.

Виды аккаунтов
ВИДЫ УСЛУГ Без регистрации Простой Привелигированный*
Аренда стендов Да Да Да
Продление аренды Разово Да Да
Доступ к веб-консоли Нет Нет Да
Создание и проведение курсов / вебинаров Нет Да Да
ЗАРЕГИСТРИРОВАТЬСЯ

* О желании зарегистрировать привелигированный аккаунт необходимо сообщить через форму Контакты. Простой аккаунт может быть переведён в привелигированный по желанию клиента.

Создание сервера или частной сети

При открытии пункта меню Создать отображаются две формы по причине различия минимальных настроек операционных систем двух семейств. В Windows минимально возможный объём оперативной памяти составляет 1 Gb, а в Linux или BSD ½Gb. В Windows минимальная ёмкость жёсткого диска – 40 Gb, а в Linux — 10 Gb.

Создание сервера или частной сети

Прежде всего, для создания виртуальной машины необходимо выбрать шаблон операционной системы.

Что касается Windows, то согласно лицензионной политике Microsoft, в облачных сервисах не допускается использование клиентских версий Windows, поэтому вы не встретите здесь ни «Семёрки», ни «Восьмёрки» ни «Десятки». Из имеющихся серверных операционных систем рекомендуется выбирать Windows 2012 R2, как проверенную временем и производительную систему с интерфейсом Windows 8. Если у вас дома стоит Windows 8, то вы легко освоитесь и в Windows Server 2012. Эта система, в общем-то, не требует настройки – через пару минут вы уже можете подключиться к ней и начать работу.

В верхней части правой колонки отображается стоимость конфигурации компьютера в работающем (включенном) состоянии. По умолчанию здесь выставлены минимальные параметры.

У выключенного сервера средства списываются только за то пространство на жёстком диске, которое он занимает, а остальные параметры не тарифицируются. Списание происходит по фиксированному тарифу: 1Gb на обычном диске (SAS) стоит 1 коп/час, а на твёрдотельном (SSD) — 4 коп/час.

Стоимость рассчитывается в реальном режиме времени — она автоматически изменяется в ответ на выбираемые опции. Это единственный функционал, который доступен незарегистрированным пользователям сервиса.

В частности, конфигурация из 2 ядер процессора и 2 Гб оперативной памяти на базе Windows с обычной производительностью будет стоить 4 рубля в час, если стоимость ваших занятий не превышает 300 руб за ак. час. Это так называемая Базовая конфигурация.

Стоимость сервера

Необходимо сказать пару слов по поводу индикатора достаточности баланса, который отображается только для владельцев полноценных аккаунтов, тогда как у обычных арендаторов на этом месте отображается просто текущий баланс.

По условиям провайдера, клиент может заказать новую виртуальную машину, если на его балансе имеется сумма, необходимая для работы всех уже заказанных серверов и нового сервера в течение четверти месяца. Этот индикатор был создан для автоматизации процесса подсчёта и указывает на достаточность баланса на счету при заказе виртуальной машины. Как только это значение уходит в минус, заказ машины становится недоступен и кнопка Создать пропадает:

Недостаточность средств на балансе

Всё вышесказанное касается и Linux.

Помимо серверов на данной странице можно создавать и частные сети, к которым затем на странице Сети можно группами подключать или отключать созданные виртуальные машины. Скорость обмена данными между серверами, объединёнными в частную сеть гораздо быстрее (от 1Gb), чем через интернет:

Создание сети

Для автоматического создания нескольких сетей предусмотрена опция «Количество». Например, при задании имени сети как «Net-» и выставлении этой опции равной 5 будут созданы сети Net-1 … Net-5.

Список серверов и действия над ними

На странице Серверы отображается сводная информация по всем созданным стендам:

Список серверов

На этой странице вы можете выполнять групповые операции над серверами, то есть, останавливать, запускать и удалять их. Кроме того, при выборе группы серверов, принадлежащих одному семейству операционных систем – либо Linux, либо Windows — появляются дополнительные опции групповой перенастройки параметров. То есть, вы можете поменять количество ядер процессора, объём оперативной памяти и показатель производительности у всех машин этой группы одной командой. Операция перенастройки может производиться даже на работающих машинах, но во избежание системных сбоев этого делать не рекомендуется.

Групповая перенастройка параметров

В том случае, если одновременно выбраны машины из разных семейств операционных систем, опция групповой перенастройки пропадает. Это разграничение введено в силу минимальных требований к оперативной памяти для разных семейств, о которых упоминалось ранее.

Следует иметь в виду, что смена зелёного индикатора на красный не означает, что внутри самой машины все процессы завершились. Не торопитесь выполнять следующую операцию — наберитесь терпения и подождите хотя бы полминуты-минуту после смены индикатора отключения или включения.

Список серверов можно скачать в виде файла в формате Excel или PDF.

По клику на ссылке с названием сервера откроется вкладка управления отдельной машиной.

Режим управления отдельным сервером

В верхней таблице указана та же информация, что и на странице Серверы. В нижней таблице перечислены опции изменения конфигурации, причём добавлена возможность изменения типа жесткого диска либо его ёмкости. Однако реконфигурирование жёсткого диска бывает необходимо довольно редко и занимает гораздо больше времени. Поэтому эти 2 опции не включены в список групповых на обзорной странице Серверы.

Режим конфигурирования отдельного сервера

В таблице изменения конфигурации красными символами в средней колонке указана текущая конфигурация сервера.

В правой колонке указана стоимость новой конфигурации компьютера в работающем состоянии, если вы вдруг решите изменить параметры сервера. По умолчанию они выставлены минимальными.

В самом верху справа находится ссылка на RDP-файл для подключения к виртуальной машине из Windows. В нём заранее установлена опция подключения к диску C на локальном компьютере для удобства обмена данными между локальной и удалённой машинами. Опции звукового воспроизведения и особенно принтеров специально отключены во избежание лишнего трафика и проблем с подключением.

В случае Linux в этом месте находится архив с портативной версией эмулятора терминала Kitty как более продвинутой версии популярной программы Putty.

После создания шаблонной виртуальной машины, её нужно размножить по количеству учащихся, поэтому отдельно рассмотрим операцию клонирования серверов, опции которой находятся в середине страницы.

Клонирование сервера

Перед началом клонирования необходимо убедиться в том, что сервер выключен и отключен от всех сетей, в противном случае об этом будет выведено предупреждающее сообщение:

Выключите сервер и отсоедините его от сетей

Далее необходимо указать количество копий сервера, которое вы хотите получить. Индикатор достаточности баланса, описанный в параграфе Создание сервера и частной сети, также не должен быть отрицательным. Для владельцев полноценных аккаунтов он отображает достаточность баланса в цифровом выражении, а у обычных арендаторов — слова «Достаточен/Недостаточен» (за достаточность баланса в этом случае отвечает создатель «Виртуальных классов»).

Баланс достаточен

В противном случае кнопка Запустить исчезает:

Баланс недостаточен

При клонировании машины будут создаваться парами друг за другом. Это обусловлено тем, что в один момент времени параллельно может создаваться не более двух машин, т.е. либо 2 либо 1. На каждую пару по статистике тратится порядка 3-5 минут. Кроме того, системе требуется от 2 до 4 минут для подготовки операции клонирования, поэтому информация о создающихся машинах на данной и других страницах появляется не сразу.

Подключение к частным сетям

На этой странице отображается информация о текущих сетях и компьютерах, которые к ним подключены. Можно считать, что компьютеры в каждой подсети соединены через коммутатор. В случае создания с опцией «DHCP» вместо коммутатора используется DHCP-сервер. Для коммутации пакетов между подсетями какая-то из виртуальных машин должна выполнять роль маршрутизатора. Всего можно создать 253 подсети, что с лихвой перекрывает все мыслимые потребности.

Сети

Все активные подключения отображаются установленными флажками с IP и MAC-адресами компьютеров. Если галочка снята, значит машина к сети не подключена. В подсетях с DHCP-серверами у машин вместо IP-адреса отображается надпись «DHCP». MAC-адреса служат для того, чтобы отличать интерфейсы операционной системы друг от друга при конфигурировании.

Чтобы подключить/отключить ту или иную машину к выбранной сети, нужно просто установить/снять флажок и нажать кнопку Изменить.

Поставив галочку напротив названия сети, её можно удалить одноимённой кнопкой, но перед этим необходимо отсоединить от неё все компьютеры, иначе чекбокс отображаться не будет.

Несмотря на простоту отдельных сетей, можно смоделировать более сложные варианты их объединения через отдельные виртуальные машины. Например, в приведённом выше примере две сети компьютеров на базе Linux подключены к некоему маршрутизатору Gate, который может выступать в роли прокси-сервера для доступа в интернет. При этом публичные адреса с помощью брандмауэров можно настроить только на подключение по SSH и блокировку всех других типов пакетов. Тем самым мы моделируем ситуацию, когда подключение к машине через публичный адрес имитирует подключение к терминалу Linux-машины из некоторой внутренней сети для выполнения дальнейших настроек остальных интерфейсов.

Ещё один вариант объединения виртуальных машин в сети моделирует ситуацию, когда для всех учащихся необходимо создать свои непересекающиеся друг с другом наборы подсетей для объединения 3-х компьютеров. Например, Centos (в LAN1-0) + Ubuntu (в LAN2-0) через Gate и Centos1 (в LAN1-1) + Ubuntu1 (в LAN2-1) через Gate1:

Сети

Само собой, при подключении к частным сетям пользователи каждой виртуальной машины сами должны прописать эти параметры внутри своих машин и активизировать соответствующие интерфейсы.

Таким образом, возможность группового объединения в сети даёт широкий простор для фантазии по организации учебных курсов, например, по сетевому взаимодействию Windows и Linux.

Создание учебной группы пользователей

В данном разделе вы можете создать группу учащихся и назначить каждому из них до 4-х серверов.

Сети

По клику на логине учащегося в отдельной вкладке браузера открывается информация о всех нзначенных ему серверах и сетях, к которым они подключены. С этой страницы преподаватель может подключаться к серверам учащегося, например, для решения проблемных моментов. Подобная организация доступа существенно упрощает взаимодействие преподавателя и участников учебной группы.

Информация о стендах учащегося и сетях, к которым они подключены

При добавлении учащегося на его электронную почту высылается письмо с реквизитами входа в личный кабинет, из которого он сможет включать и выключать назначенные ему серверы без участия преподавателя. Информация о других серверах и сетевых подключениях при этом не отображается. Такая схема оптимальна для заочного обучения.

Информация о стендах учащегося в его личном кабинетеИнформация о сетях, к которым подключены серверы учащегося, в его личном кабинете

Назначение стендов учащимся

В самом верху страницы вы можете задать число серверов, которое можно назначить каждому студенту.

Назначение серверов учащимся

В том случае, если на каждого учащегося назначено, например, по 3 сервера, но вы решили уменьшить это количество до 2-х, то после внесения изменений информация по серверам, которые ранее шли под 3-м номером, будет удалена. Это значит, что при повторном задании 3х серверов на человека, все назначения для серверов под номером 3 будут свободны.

Если учащимся не назначен ни один сервер, то в списке выбора присутствуют все серверы. Список выбора автоматически уменьшается на количество уже назначенных машин.

Для одного сервера возможно только одно назначение.

Установка временных лимитов на работу с серверами

Опция Лимит предназначена для ограничения времени активной работы с сервером. Она выражается в минутах и уменьшается по мере нахождения сервера в работающем состоянии. Списание минут приостанавливается на тот период, когда сервер выключен, и возобновляется при его включении.

  • В момент назначения учащемуся какого-либо стенда он подключается в безлимитном режиме.
  • В безлимитный режим стенд можно перевести в любое время вводом -1.
  • Лимит устанавливается в минутах из безлимитного режима.
  • Если лимит ещё не исчерпан, то вводимое заново значение будет складываться с существующим. Это сделано для обеспечения возможности увеличения лимита.
  • Если лимит исчерпан, то стенд переводится в режим блокировки и принудительно останавливается. Для вывода из блокировки нужно ввести новое значение лимита, либо перевести его в безлимитный режим вводом -1.
  • При смене стенда он подключается в безлимитном режиме.

Возможные проблемы и траблшутинг

Возникновение проблем при работе с облаком может быть обусловлено целым рядом факторов, но чаще всего — неготовностью инфраструктуры провайдера обработать ваш запрос.

Дело в том, что индикаторы включения / выключения не отражают на 100% состояние самой виртуальной машины. По статусу в панели управления вы можете видеть, что машина уже работает, однако по факту она загрузилась далеко не полностью. Если в этот момент послать ей запрос на останов, то она с определённой долей вероятности будет остановлена в аварийном режиме, о чём вы не узнаете по индикаторам состояния.

И наоборот, если вы выключаете машину и видите, что индикатор сменился с зелёного на красный, то это вовсе не означает, что все процессы в ней уже завершены. Если в этот момент запустить, например, клонирование, то вы рискуете получить группу неработоспособных машин.

Несмотря на то, что все запросы ставятся в очередь, инфраструктура провайдера не настроена на достоверное определение того, что одна операция завершена, и можно переходить к следующей.

Поэтому основной принцип при включении / выключении машин в том, чтобы выдержать полминуты-минуту и только тогда выполнять какие-либо критичные операции.

В случае невозможности подключения к машине или слишком затянувшейся операции владельцам непривелигированных аккаунтов необходимо обратиться в службу поддержки через форму Контакты, а владельцам привелигированных аккаунтов — подключиться к проблемной машине с помощью Веб-консоли в личном кабинете провайдера. Кнопка «Веб консоль» доступна только для работающей (включенной) машины.

Веб-консоль

Заключение

Задумывая создание Виртуальных классов, я скорее отталкивался от потребностей простого преподавателя, чем рассматривал его глазами разработчика. Мне хотелось преподавать то, что я хочу, там, где я хочу и независимо от того, каково состояние компьютерной техники в аудитории.

Сейчас я использую его как по прямому назначению, так и в качестве удобного подручного средства для быстрой отладки каких-либо скриптов, выяснения особенностей конкретных Linux-систем и др. Мне всё реже нужны ресурсоёмкие виртуальные машины дома или на ноутбуке — я быстро создаю их в облаке на время проведения экспериментов и так же быстро уничтожаю ради экономии средств. Это, кстати, ещё одно применение сервиса для обеспечения отладочной среды для многочисленной армии системных администраторов, работающих на выезде, чтобы проверить то или иное решение в тестовых условиях перед внесением каких-либо изменений в основную систему заказчика.

Несмотря на порой внушительную стоимость месячной аренды серверов у 1cloud, в действительности на период их реального использования не списывается сколь-нибудь значительных сумм. Это вполне оправданная плата за гибкость и удобство в работе.

Я буду признателен за конструктивную критику и пожелания по развитию сервиса, а также приглашаю всех к его активному тестированию и применению в ваших повседневных задачах.

Do NOT follow this link or you will be banned from the site!