Среда для разработки в облаке
Разработка программного обеспечения связана с большим числом функций, выполняемых совместно группой программистов.
Для обеспечения их эффективной работы необходимо решить ряд административных задач, таких как организация рабочих мест, внедрение средств коммуникации, обеспечение среды тестирования и контроля релизов. Многие из этих задач решаются с помощью облачных технологий.
Рабочее место
Для работы требуется специализированное программное обеспечение и аппаратная платформа для его функционирования. Причем требуемые среда и ресурсы могут сильно отличатся в зависимости от особенностей проекта: веб-портал, приложение для виртуальной реальности, спецэффекты к кинопроекту, система для проектирования конструкций — для каждого из этих и многих других направлений требуются свои уникальные ресурсы.
Задача усложняется, если программист задействован в нескольких проектах одновременно и ему требуется оперативно менять среду разработки. Физически это требует организации нескольких рабочих мест с железом и ПО, что ведет к дополнительным расходам, эффективность которых будет невысокой, так как ресурсы будут задействованы не на 100%.
Создание рабочего места программиста в облаке провайдера позволяет динамически выделять требуемые мощности и лицензии на программное обеспечение, а также создавать неограниченное число сред разработки в виде виртуальных серверов и рабочих станций.
Организация виртуального рабочего места дает следующие преимущества:
— Выделение вычислительных ресурсов по запросу — в любой момент виртуальный сервер или ПК можно выключить и не платить за него.
— Возможность создания шаблона рабочего места для быстрого развертывания при необходимости.
— Создание снимков и резервных копий, чтобы иметь возможность отката в случае ошибки или аварии.
— Доступ к виртуальной рабочей станции из любого места позволяет создать распределенную по миру команду.
Совместная работа
В крупных проектах, как правило, принимают участие несколько специалистов, их работа требует взаимодействия и координации. Для этого необходимо организовать общее место для хранения файлов и документов, настроить коллективный чат, внедрить систему контроля версий, подключить каждого к планировщику задач и так далее.
Каждая из этих функций может потребовать отдельного сервера, которые в облачной среде легко объединяются в единую инфраструктуру.
Тестирование
Любая разработка программных продуктов связана с тестированием, в ходе которого выявляются недочеты и ошибки. Идеальные условия для тестирования — это «чистая» рабочая станция, которую не жалко «пожертвовать», если в ходе испытаний программный продукт вызовет сбой операционной системы или другой тестовой среды.
Облачный виртуальный сервер может быть развернут и сконфигурирован строго под поставленную задачу тестирования, а возможность создания шаблона позволит создавать новые экземпляры столько раз, сколько потребуется в ходе тестирования. Причем на каждом этапе тестирования можно создавать снимки — контрольные точки, к которым легко вернуться в случае ошибки.
Некоторые программные продукты создаются для работы с большими объемами информации, хранящихся в базе данных. Виртуальный сервер может иметь очень высокую производительность и объем дисковой подсистемы для проведения стресс-теста, после завершения которого такой сервер можно удалить и перестать за него платить.
Как и в случае с виртуальным рабочим местом, сервер с тестовой средой, располагающийся в облаке, доступен всем разработчикам через сеть Интернет, вне зависимости от того, где они находятся.
Ввод в эксплуатацию ПО
Для небольших и несложных программных продуктов ввод в эксплуатацию связан только с установкой на рабочее место конечного пользователя. Для сложных информационных систем и веб-порталов есть риск, что запуск или обновление может привести к сбою, а даже короткий перерыв в работе таких систем может быть очень критичен. Остановка работы банковских систем, порталов электронной торговли или сервисов онлайн-контроля способна спровоцировать как финансовые, так и репутационные потери.
Для предотвращения такого рода сбоев можно выполнить ввод в эксплуатацию новой версии параллельно с действующей и произвести переключение на нее только после полного «боевого» тестирования. Облачные технологии легко позволяют собирать многокомпонентные системы разного масштаба.
Такой подход к запуску дает весомые преимущества:
— Старая система работает параллельно с новой, это позволяет произвести бесшовную миграцию и избежать сбоев прив воде в эксплуатацию.
— Переключение между старой и новой системой производится практически мгновенно.
— Если в работе новой системы возникнут недостатки, существует возможность обратного переключения.
— Параллельная работа обеих систем позволяет распределить нагрузку во время ввода в эксплуатацию, чтобы проверить производительность новой. Например, на новую информационную систему можно перевести лишь половину пользователей и проверить, насколько большую нагрузку они создадут.
Azoft: как IaaS-облака помогают в проектах по сервисной разработке
Azoft — сервисная компания с 15-летней историей в разработке серверных, мобильных и веб-приложений для бизнеса. Начав в 2002 году с создания программных решений для крупных клиентов из игровой индустрии и телекома, сегодня компания не только оказывает услуги разработки на заказ, но и занимается перспективными исследованиями в области IT. На счету Azoft более 400 мобильных проектов, 10 R& D-исследований, 800 проектов по веб-разработке, включая масштабные бэкенд-платформы. С недавнего времени компания использует облачные технологии в модели IaaS от компании «ИТ-ГРАД» одного из лидеров рынка облачных технологий, что позволяет решать востребованные и актуальные задачи.
Как отмечают в Azoft, IaaS решает три главные для компании задачи:
— Позволяет в любое время вносить изменения в конфигурацию серверов.
— Обеспечивает отказоустойчивость размещенных в облаке решений.
— Гарантирует защиту персональных данных.
«Эксплуатация облачной инфраструктуры предполагает отсутствие ограничений. В случае физического носителя мы всегда ограничены его фактическим ресурсом, а работая с облаком мы можем создавать такие конфигурации серверов и в таком объеме, который нам необходим. Еще одно отличие заключается в том, что можно не беспокоиться о создании резервных носителей информации — облако делает это за нас. В комплекте с виртуальными серверами мы получаем отказоустойчивые решения», — говорит Иван Ожиганов, директор по стратегическому развитию Azoft.
Первая российская BaaS-платформа Scorocode разместилась в IaaS-облаке
До недавнего времени флагманом движения BaaS (backend-as-a-service) считалась компания Parse, вышедшая в 2011 году на рынок с облачным бэкендом для мобильных приложений. Решение представлялось в виде услуги удаленного сервиса для хранения, обработки данных и создавало гибкие условия для написания серверной бизнес-логики средствами JavaScript. Однако век бэкенда Parse оказался недолгим: в 2016 году Facebook покупает стартап, а с 2017 года прекращает обслуживание клиентов. Это событие совпало с началом разработки российской BaaS-платформы Scorocode, создателем которой выступила компания PROF-IT VENTURES. Был разработан сервис с возможностью предоставления пользователям базовой функциональности альтернативных платформ и большого количества новых функций.
При реализации проекта Scorocode перед компанией стояла задача найти долгосрочного партнера, надежного хостинг-провайдера, способного обеспечить гарантированную отказоустойчивость облачной платформы и безопасное хранение данных на территории России. При этом стратегическая цель PROF-IT VENTURES включала в себя последующее развитие платформы и обеспечение поддержки всего жизненного цикла разработки приложений: от быстрой разработки backend до прототипирования и разработки frontend-приложений любого масштаба. Запуск облачной платформы на базе вычислительных мощностей поставщика IaaS-услуг и вывод продукта на рынок стали важными задачами компании. Качество услуг, широта предоставляемого функционала и гибкая система ценообразования выступили главными критериями при выборе поставщика.
«Поскольку сложно сразу оценить требуемые для эксплуатации ресурсы, архитектура решения корректировалась неоднократно, пока мы не получили надежное и проверенное решение. Все это время (около двух месяцев) „ИТ-ГРАД“ позволил нам работать бесплатно, оперативно выделяя необходимые под проект ресурсы. Качество услуг, широта предоставляемого функционала и гибкая система ценообразования выгодно отличают „ИТ-ГРАД“ от других участников рынка. Считаю, что партнерство с „ИТ-ГРАД“ — важный этап развития компании», — рассказал Ара Исраелян, директор по разработке программного обеспечения PROF-IT VENTURES.
Использование IaaS компанией Zed Russia для предоставления мобильного контента и облачных услуг
Компания Zed Russia, ранее именуемая INFON, основана в Санкт-Петербурге в 2001 году и специализируется на разработке и внедрении уникальных продуктов и услуг среди потребителей мобильного контента и бизнес-партнеров в сегментах B2B и B2G. Услуги компании доступны более 200 млн абонентов сотовых операторов России, Украины, Казахстана, стран СНГ, Балтии и Израиля. На сегодняшний день Zed Russia предлагает техническую платформу, поддерживающую более 1200 моделей телефонов, идентифицирующую модели посетителей WAP-сайтов компании и автоматически формирующую каталог доступного контента для каждой конкретной модели. База телефонов пополняется ежедневно. Чтобы инфраструктура и сервисы удовлетворяли требованиям бизнеса, возникла необходимость перейти в облако.
«Площадка Zed Russia требовала серьезного расширения в короткое время. Мы ничего не перемещали из собственной инфраструктуры, а развернули сервисы в облаке с нуля. Сервисы, работающие на облачной площадке „ИТ-ГРАД“, представляют собой решения дополнительной добавленной стоимости, которые мы предоставляем операторам мобильной связи и их абонентам. Это развлекательные и информационные услуги, голосование в виде SMS и телевизионных чатов, заявки на музыку, услуги для радиокомпаний, чаты в радиоэфире, разговоры с ведущими радиоэфира», — отметил Константин Эпштейн, заместитель технического директора Zed Russia.
Заключение
Решение задач при разработке ПО требует различного оборудования и программного обеспечения — среды разработки, перенос которой в виртуальную инфраструктуру облачного провайдера позволяет эффективно использовать ресурсы, а следовательно, и сократить финансовые затраты. Доступ к облаку возможен из любой точки мира, что дает возможность создавать междугородние и международные команды разработчиков, а использование таких дополнительных функций, как облачное хранилище или резервное копирование, делает работу удобнее и надежнее.
Виртуальные ресурсы ничем не отличаются от физических, но дают большую гибкость, оперативность, масштабируемость и финансовую эффективность.