Облачные технологии. Программа для магистратуры
(Из рабочей программы учебной дисциплины «Облачные технологии» для магистров по направлению «Бизнес-информатика». Составитель: Дмитрий Петухов [я])
Аннотация
Облачные технологии один из ведущих трендов в мире IT на протяжении уже трех лет.
Несмотря на свою молодость, облачные вычисления заставили не только архитекторов ПО, но и менеджеров компаний взглянуть по-другому на модели развертывания ИТ-инфраструктур, распространения программного обеспечения, получения вычислительных ресурсов.
Облачные сервисы сейчас везде: офисные приложения в браузере, хранилища на облачных жестких дисках, средства синхронизации пользовательской информации на мобильных телефонах. Ежедневно появляются новые успешные облачные стартапы, а такие гиганты как Microsoft и Apple строят дата-центры, предназначенные для развертывания облачных сервисов.
Облачная технология настолько же сложна внутри, насколько и проста снаружи. Основная концепция «облаков» - предоставление ресурсов как интернет-сервиса. Классически, облачные сервисы делят на следующие типы архитектур: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) и Software-as-a-Service (SaaS).
Все эти архитектуры объединены двумя общими аспектами: они предоставляют «по требованию» (on-demand) вычислительные ресурсы ЦП и хранилища информации. Из этих двух факторов следует, что у разработчиков программного обеспечения появился ограниченный только возможностями провайдера облачного хостинга запас масштабируемости разрабатываемых приложений и сервисов. Наряду почти с не ограниченной масштабируемостью облачные платформы обладают следующими характеристиками: высокая доступность, надежность, эластичность, мультитенантность.
Но не любое программное обеспечение может воспользоваться вышеперечисленными достоинствами облачных платформ, так как далеко не каждое приложение может мигрировать из класса desktop- или мобильных приложений в приложение, работающее в облаке. Ближе всего к миграции в «облака» приложения, спроектированные на основе сервис-ориентирванной архитектуры (SOA). Но и в последних, чаще всего, приходится переписывать значительную часть кода, пересматривать многих архитектурные принципы построения приложения.
Требования, предъявляемые облачными инфраструктурами к программным системам, которые в этих инфраструктурах запускаются, беспрецедентно высоки. И с этой точки зрения, облачные сервисы представляют отдельный класс распределенных программных систем, где на первый план выходят слабая связность между программными (логическими) слоями системы, сетевое взаимодействие и безопасность хранения и обмена данными.
С точки зрения разработки же, наиболее гибкой и инновационной представляется тип облачной архитектуры «платформа как сервис» (PaaS). Платформы данного типа позволяют разработчику «забыть» о целой цепочкой работ, слабосвязанных непосредственно с разработкой, но являющейся неотъемлемой частью ее жизненного цикла, таких как: установка и настройка аппаратных (серверов, сетевого оборудования) и программных средств, промежуточного ПО и среды исполнения, администрирование находящихся во владении (on-premise) инфраструктур, распространением обновлений и т.п.
Заключение
Конкурентные преимущества от использования облачных технологий очевидны. На сегодняшний день все больше компаний начинают использовать как свои, так и сторонние программные продукты, работающие в «облаках». Поэтому важно знать и понимать все преимущества и риски использования облачных вычислений, архитектурные принципы построения облачных платформ, а также программного обеспечения, работающего под управлением таких платформ. Кроме того, необходимо быть компетентным в таких вопросах, как сертификации и лицензирование облачных инфраструктур и облачных сервисов, понимать юридические ограничения на использования таких сервисов.
В данном курсе будут рассмотрены все вышеперечисленные аспекты облачных технологий, подробно разобраны основные характеристики «облачных» технологий и их отличия от решений на основе серверных технологий. Отдельное внимание будет уделено облачным PaaS-платформам, компонентам платформ Amazon EC2, Google Apps и Microsoft Azure, принципам проектирования и разработки под эти платформы.
Материалы для скачивания
План курса pdf-документ
Программа курса pdf-документ