Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 2 Понятие об облачных вычислениях. Обзор платформ облачных вычислений Сафонов Владимир Олегович Профессор кафедры информатики Заведующий лабораторией Java-технологии Санкт-Петербургский государственный университет WWW:
Общее понятие о cloud computing Cloud computing - облачные вычисления Облако (cloud) –давно используемая метафора для изображения сервисов, предоставляемых через Интернет или другую коммуникационную сеть (например, через ATM-сеть) Облачные вычисления – модель вычислений, основанная на динамически масштабируемых(scalable) и виртуализованных ресурсах (данных, приложениях, ОС и др.), которые доступны и используются как сервисы через Интернет и реализуются с помощью мощных центров обработки данных (data centers) С точки зрения пользователей, существуют облака (общедоступные, частные и т.д.), предоставляемые различными компаниями, для использования мощных вычислительных ресурсов, которых нет у индивидуального пользователя Недостаток: пользователь полностью зависит от облака и не может управлять даже резервным копированием своих данных и программ Наиболее популярная облачная платформа – Microsoft Windows Azure (облачная ОС) и Microsoft Azure Services Platform (реализованная на основе Microsoft.NET) В настоящее время все крупные компании (Microsoft, IBM, HP, Dell, Sun и др.) разрабатывают свои системы облачных вычислений; имеется тенденция к интеграции этих корпоративных систем в единое доступное пользователюоблако (C) Сафонов В.О
Элементы концепции облачных вычислений Инфраструктура как сервис (Infrastructure as a Service) Платформа как сервис (Platform as a Service) Программное обеспечение как сервис (Software as a Service) Другие элементы Интернет-технологий, например: бизнес-приложения, доступные через Интернет (отслеживание курсов акций и др.), данные которых расположены на серверах (C) Сафонов В.О
Уровни компонент облачных вычислений Уровень клиента – Клиентское оборудование и ПО, использующее облачные вычисления, например, Android (ОС для мобильных устройств); полнофункциональный клиент (Web-браузер) Уровень сервисов - Сервисы, используемые через облако, например, электронные платежи, поисковые системы, видеоигры Уровень приложений – Облачные приложения, не требующие инсталляции на компьютерах пользователей, например, Microsoft Online Services Уровень платформы – Инструменты развертывания и использования приложений через облако, без необходимости покупки необходимой для этого аппаратуры и ПО; например, Microsoft.NET Azure Services Plalform Уровень памяти – Инструменты хранения и резервного копирования данных, предоставляемые через облако Уровень инфраструктуры – Предоставление через облако полной виртуальной платформы как сервиса, например, Amazon EC2 (C) Сафонов В.О
Архитектура облачных вычислений Сервисы Инфраструктура Платформа Память Архитектор облака – главный разработчик архитектуры Интегратор облака – Ответственный за объединение компонент в облако Компоненты облака - как правило, Web-сервисы Облако может быть общедоступным или частным (C) Сафонов В.О
Роли в облачных вычислениях Поставщик облачных сервисов (как правило, центр обработки данных – data center) Пользователь Производитель (vendor) оборудования или ПО, используемых для облачных вычислений; например, EMC – производитель систем хранения данных (C) Сафонов В.О
Стандарты облачных вычислений Приложения: Коммуникации (HTTP, XMPP); безопасность (SSL) Клиенты: Браузеры (AJAX); offline-клиенты (HTML 5) Реализации: Виртуализация (OMF) Сервисы: Данные (XML) (C) Сафонов В.О
Amazon's Elastic Compute Cloud IBM Computing on Demand or Blue Cloud Microsoft Azure Oracle Cloud Force.com cloud Google AppEngine Kaavo cloud и многие другие. (C) Сафонов В.О Платформы облачных вычислений
Домашнее задание к лекции 2 1.В чем, по-Вашему, преимущества и недостатки облачных вычислений? 2.Поэкспериментируйте с какой-либо общедоступной системой облачных вычислений, например, Amazon EC2 3.Какие из современных платформ разработки программ, по- Вашему, наиболее подходят для реализации облачных вычислений? 4.В чем особенность подхода Microsoft? 5.В чем особенность подхода Google? 6.Проанализируйте используемое и разрабатываемое Вами программное обеспечение, с точки зрения соответствия парадигмам cloud computing и SOA 7.Инсталлируйте и попробуйте на простых примерах использовать Windows Azure и Azure Services Platform 8.Сформулируйте проблемы безопасности программ и данных для облачных вычислений – в чем преимущество данной модели для реализации безопасности, в чем ее подводные камни (C) Сафонов В.О