Выбор платформ и облачных операционных систем для создания облачных инструментальных сервисов для национальной нанотехнологической сети
Автор: Тюлькин Алексей Андреевич
Журнал: Нанотехнологии в строительстве: научный интернет-журнал @nanobuild
Статья в выпуске: 3 т.4, 2012 года.
Бесплатный доступ
На рынке представлено довольно много решений для хостинга веб-приложений. Стали появляться облачные хостинги, позволяющие владельцу веб-приложения больше не задумываться о масштабируемости, вычислительных мощностях, пропускной способности. В данной статье приведена оценка наиболее популярных облачных хостингов для размещения облачных инструментальных сервисов.
Облачные инструментальные сервисы, облачный хостинг
Короткий адрес: https://sciup.org/14265628
IDR: 14265628
Текст обзорной статьи Выбор платформ и облачных операционных систем для создания облачных инструментальных сервисов для национальной нанотехнологической сети
о всем мире установилась устойчивая тенденция перехода в «облака». Фактически это означает перенос всего существующего программного обеспечения (приложений) в некий формат, благодаря которому вся нагрузка на выполнение задач приходится на сервер, а пользователю для работы с данным приложением необходимо всего лишь иметь доступ по сети Интернет и браузер, например, Interner Explorer, Google Chrome и т.д.
В качестве примера облачных приложений можно привести уже давно существующие почтовые сервисы Gmail, Yandex, Hotmail, Microsoft Office 365 – сервис, содержащий облачные версии популярных продуктов, YouTube – популярный видеохостинг.
«Облако» обеспечивает безграничные возможности для приложений. «Облако» делится на облачный хостинг и облачное хранилище. Облачное хранилище предполагает безграничное дисковое пространство. Облачный хостинг предполагает безграничные вычислительные мощности и пропускную способность.
Перед любым руководителем компаний по разработке программного обеспечения стоит вопрос по выбору технологий разработки. Необходимо выбрать платформу и языки программирования, на которых будет разработано приложение. В связи со сложившейся тенденцией перехода в «облака» решение должно соответствовать облачным технологиям.
Для каждого отдельного проекта могут быть выбраны разные платформы и языки. Однозначного решения нет. Поэтому в рамках данной статьи будут приведены рассуждения по выбору облачных платформ и языков для разработки конкретного приложения: облачные инструментальные сервисы.
Облачные инструментальные сервисы предназначены для коллективной разработки обучающих курсов. Обучающие курсы должны быть мультимедийными и интерактивными. В обучающих курсах могут присутствовать всевозможные материалы: видеоряд, звуковая дорожка, картинки, текст и т.д. Облачный инструментальный сервис должен позволять создавать такие курсы и располагаться в «облаке». Рабо-

А.А. ТЮЛЬКИН Выбор платформ и облачных операционных систем...
та с данным сервисом должна быть обеспечена посредством интернета в браузере пользователя.
Необходимо выбрать платформу, технологию BackEnd (бизнес логика, которая выполняется на сервере) и технологию FrontEnd (то, что видит пользователь).
Мы имеем огромный опыт по разработке приложений именно по технологии .Net , соответственно, в качестве BackEnd была выбрана технология .Net.
На данный момент существует ряд лидеров, предоставляющих облачный хостинг и облачное хранилище:
-
1. Windows Azure.
-
2. Amazon Elastic Compute Cloud (Amazon EC2).
В целом, данные облачные платформы должны обеспечивать безграничные возможности.
Данные облачные провайдеры были выбраны по нескольким причинам:
-
1. привлекательные цены и гибкие тарифные планы. Как известно, чем больше клиентов, тем более явно прослеживается «эффект масштаба»;
-
2. поддержка технологии .Net. Большая часть программистов в России имеет опыт разработки именно на данной технологии, остальные специалисты находятся в большом дефиците;
-
3. доверие. Ни для кого не секрет, что Microsoft и Amazon являются серьезными брендами с огромной историей, которые зарекомендовали себя с положительной стороны.
В действительности выбор стоит между IaaS (инфраструктура как сервис) и PaaS (платформа как сервис). Windows Azure – это PaaS, а Amazon EC2 – это и PaaS, и IaaS. Если бы мы были заинтересованы в IaaS, мы, определенно, выбрали бы Amazon. Но при текущих обстоятельствах для нас большую выгоду имеет среда, которая была бы уже настроена настолько, насколько возможно. Таким образом, мы бы могли сосредоточить наше время и ресурсы именно на решении бизнес задачи вместо того, чтобы тратить наше время на создание и настройку новой среды.
А.А. ТЮЛЬКИН Выбор платформ и облачных операционных систем...
Мы также рассматривали платформу Google App Engine как PaaS в качестве альтернативы, но так как в качестве языка программирования используется язык Python, а большинство программистов в России используют технологию .Net, то данный вариант сразу отпал из-за сильного дефицита таких программистов на рынке.
Мы не можем судить об эффективности Windows Azure и Amazon EC2, так как архитектура данных платформ скрыта от нас. Устройство каждой из платформ является «ноу-хау», и ни одна из компаний не станет раскрывать свои секреты.
Что касается настройки безопасности приложения, то на платформе Azure это является простым шагом, так как для этого созданы специальные сервисы, которые довольно просты в использовании. В отношении Amazon EC2 – настройка сложнее.
Что же касается языков программирования, то, как было отмечено ранее, мы выбрали технологию .Net. Данная технология позволяет использовать множество языков, например, C#,VB.Net и т.д. Соответственно, над одним приложением может работать сразу несколько человек, причем каждый может писать код на своем языке. Данную технологию поддерживает Azure, а теперь и Amazon.
Единственным представителем официального облачного хостинга от Microsoft, на основе Windows Azure, в России является компания SoftLine. Это дает возможность заключить договор и рассчитываться рублями, а не долларами. Представителей компании Amazon, предоставляющих такую возможность, нет. Есть лишь ряд компаний, которые на основе API Amazon и средств виртуализации организовывают собственное «облако» в рамках своих дата-центров.
Критическим пунктом для нас также является наличие кэширующих серверов – CDN (Content Delivery Network). Данная технология позволяет кэшировать наиболее скачиваемый контент в соответствующие регионы. Иными словами, если контент располагается на сервере в Америке, а запросы к какому-либо видео довольно часто поступают из Москвы, то данный видеофайл будет перемещен на кэширующий сервер в Москву и впоследствии все запросы к данному видеофайлу из Москвы будут перенаправляться к кэширующему серверу в Москве, что позволит скачивать данное видео в разы быстрее. Microsoft поддерживает данную возможность в полной мере.
А.А. ТЮЛЬКИН Выбор платформ и облачных операционных систем...
В целом, явной разницы между Windows Azure и Amazon EC2 не видно, за исключением того, что Amazon EC2 – это еще IaaS, что позволяет иметь возможность более тонкой настройки инфраструктуры. Но так как мы давно работаем именно с продуктами Microsoft, то нам по духу ближе их идеология, поэтому в качестве платформы была выбрана платформа Windows Azure .
На данный момент существует несколько вариантов реализации Front End технологии: Adobe Flash, Microsoft Silverlight и HTML5.
Adobe Flash – это плагин, который устанавливается на компьютер клиента. Adobe Flash существует довольно долго на рынке, но с течением времени в данной технологии проявляются неудобства и уязвимость безопасности. Такие гиганты, как Apple отказались от данной технологии на основании вышеперечисленных причин.
Microsoft Silverlight – это тоже плагин, как и Adobe Flash. На рынке существует не так давно. Считается конкурентом Adobe Flash. Версия 4.0 данного плагина получила зрелость, до этого было много недоработок и не хватало существенного функционала, например, работа с микрофоном и Web камерой.
HTML5 – это независимый стандарт, который позволяет просматривать аудио, видео, создавать насыщенные анимированные приложения средством нового объекта Canvas на компьютере пользователя. Главное преимущество заключается в том, что нет необходимости устанавливать плагин.
С плагинами всегда имелись проблемы: поддержка кроссплатфор-менности, кроссбраузерности. Например, Microsoft Silverlight неустойчиво работает в операционной системе Linux, Adobe Flash не работает на «яблочных» продуктах. А если рассматривать планшеты и мобильные устройства, то проблема с плагинами стоит особенно остро.
Данные проблемы решает новый стандарт HTML5. Данный стандарт уже поддерживают все браузеры, смартфоны и планшеты. Разница лишь в том, в какой степени происходит данная поддержка. Критическим моментом для нашего проекта является поддержка тега
Итак, в связи с новой тенденцией перехода в «облака», а также отказа от идеологии плагинов было выбрано следующее решение для разработки облачных инструментальных сервисов:
-
• Облачная платформа: Windows Azure
-
• BackEnd технология: .Net
-
• FrontEnd технология: HTML5
Настоящая публикация – результат НИР, финансируемых в рамках Федеральной целевой программы «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007–2013 годы» ФЦП ИР по проекту «Создание ОИС для организации групповой разработки по концепции WEB-2 мультимедийного контента малыми предприятиями».
Уважаемые коллеги!
При использовании материала данной статьи просим делать библиографическую ссылку на неё:
Тюлькин А.А. Выбор платформ и облачных операционных систем для создания облачных инструментальных сервисов для национальной нанотехнологической сети // Нанотехнологии в строительстве: научный Интернет-журнал. М.: ЦНТ «НаноСтроительство». 2012, Том 4, № 3. C. 77–83. URL: (дата обращения: __ ____________).
Dear colleagues!
The reference to this paper has the following citation format:
Tiulkin A.A. Frameworks and cloud operating systems for cloud services tools development for national nanotechnological network. Nanotechnologies in Construction: A Scientific Internet-Journal, Moscow, CNT «NanoStroitelstvo». 2012, Vol. 4, no. 3, pp. 77–83. Available at: (Accessed _____________). (In Russian).