Развитие платформы облачных вычислений Microsoft Windows Azure Лекция 1 Новые принципы архитектуры современных программных систем Сафонов Владимир Олегович.

Презентация:



Advertisements
Похожие презентации
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 2 Понятие об облачных вычислениях. Обзор платформ.
Advertisements

Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 1 Обзор архитектур современных программных.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 3 Основные концепции и архитектура Microsoft.
Развитие платформы облачных вычислений Microsoft Windows Azure Лекция 7 Новая версия Windows Azure Compute Сафонов Владимир Олегович Профессор кафедры.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 7 Windows Azure Compute Сафонов Владимир Олегович.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 16 Перспективы Windows Azure Сафонов Владимир.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 12 Инструменты Windows Azure Сафонов Владимир.
Развитие платформы облачных вычислений Microsoft Windows Azure Лекция 8 Управление Web-сервисами в новой версии Windows Azure Сафонов Владимир Олегович.
Развитие платформы облачных вычислений Microsoft Windows Azure Лекция 11 Основы практического использования новой версии Windows Azure Сафонов Владимир.
Развитие платформы облачных вычислений Microsoft Windows Azure Лекция 16 Перспективы развития и использования новой версии Windows Azure Сафонов Владимир.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 8 Управление Web-сервисами в Windows Azure.
называют cloud computing одной из самых перспективных стратегических технологий прогнозируют перемещение в ближайшие пять лет большей части существующих.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 5 Windows Azure Fabric Сафонов Владимир Олегович.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 10 Разработка приложений для Windows Azure.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 9 SQL Azure Сафонов Владимир Олегович Профессор.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 13 Методы и инструменты применения Windows.
Развитие платформы облачных вычислений Microsoft Windows Azure Лекция 6 Windows Azure Storage Сафонов Владимир Олегович Профессор кафедры информатики Заведующий.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 11 Основы практического использования Windows.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Развитие платформы облачных вычислений Microsoft Windows Azure Лекция 13 Методы и инструменты применения новой версии Windows Azure для решения прикладных.
Транксрипт:

Развитие платформы облачных вычислений Microsoft Windows Azure Лекция 1 Новые принципы архитектуры современных программных систем Сафонов Владимир Олегович Профессор кафедры информатики Заведующий лабораторией Java-технологии Санкт-Петербургский государственный университет WWW:

1.Сафонов В.О. Платформа облачных вычислений Microsoft Windows Azure. – М.: ИНТУИТ.РУ. БИНОМ. Лаборатория знаний, 2012, 235 с. 2.Сафонов В.О. Платформа облачных вычислений Microsoft Windows Azure. Учебный курс. декабрь Сафонов В.О. Основы современных операционных систем. Учебный курс. 4.Сафонов В.О. Основы современных операционных систем. – М.: ИНТУИТ.РУ. БИНОМ. Лаборатория знаний, 2011, 583 с. 5.Сафонов В.О. Архитектуры и модели программ и знаний. Спецкурс для студентов 4 курса &Login&= 480&Login& (C) Сафонов В.О Литература по курсу

Развитие ПО для облачных вычислений и центров обработки данных Магазины приложений для новых ОС на основе Web- сайтов Инструменты надежных и безопасных вычислений (trustworthy computing) Инструменты верификации программ (C) Сафонов В.О Новые виды программного обеспечения

Интеграция, использование и распространение ПО через Web Развитие надежных и безопасных вычислений (trustworthy computing) Развитие многоязыковых платформ с единым промежуточным кодом Развитие виртуализации ресурсов и сред Развитие облачных вычислений Перенос популярных видов приложений и инструментов в облака Унификация пользовательских интерфейсов для всех видов компьютеров (настольных, ноутбуков, планшетов, мобильных устройств), развитие интерфейсов типа multi-touch (C) Сафонов В.О Новые черты программных систем

Java (Oracle): ныне – многоязыковая платформа для разработки программ с единым бинарным промежуточным кодом (байт- кодом) в постфиксном формате и единой виртуальной машиной (JVM), поддерживающая программирование на языках Java, Ruby, Python и др. (всего более 30 единобайткодных языков). Поддерживает JIT-компиляцию, профилирование программ, современные динамические языки с расширяемыми типами.NET (Microsoft): многоязыковая платформа с единым бинарным промежуточным кодом (CIL) и единой виртуальной машиной (CLR). Поддерживает JIT-компиляцию, профилирование программ, современные динамические языки с расширяемыми типами Обе платформы уделяют особое внимание надежности и безопасности, на основе исполнения управляемого кода и динамического контроля типов Обе платформы поддерживают разработку Web-сервисов и содержат базовые средства для реализации облачных вычислений (C) Сафонов В.О Развитие популярных платформ для разработки программ

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

Клиент (client) – пользователь и (или) компьютер, использующий какие-либо программные сервисы; как правило, реализован как Web-клиент Сервер (server) – компьютер или центр обработки данных, предоставляющий программные сервисы через Web Тонкий клиент (thin client) – клиент Web-сервиса с минимальным пользовательским интерфейсом, общающийся с Web-сервисом только через браузер и протокол HTTP Rich client (полнофункциональный клиент) – клиент Web-сервиса, имеющий полнофункциональный GUI и общающийся с Web-сервисом через слой промежуточного программного интерфейса (middleware), обеспечивающий его функциональность; пример ПО для поддержки rich clients: Microsoft Silverlight Слой (layer) – крупная независимая компонента архитектуры ПО; данная концепция устаревает Уровень абстракции (abstraction layer) – горизонтальный слой (номер N); совокупность модулей, реализация которых использует только модули уровня N- 1 (N > 0) – данная концепция несколько устарела, современные архитектуры более сложны Аспект – совокупность рассредоточенных фрагментов кода, реализующих некоторую (сквозную) функциональность, например, проверки безопасности (C) Сафонов В.О Развитие современных основных понятий архитектуры ПО (1/3)

Промежуточное программное обеспечение (middleware) – совокупность слоев ПО, лежащих между клиентом и сервером и обеспечивающих их коммуникацию Ярус (tier) – слой программного обеспечения, реализующий какую-либо независимую часть его архитектуры; например: business tier – реализация бизнес-логики; Web tier – реализация взаимодействия с Web Многоярусная архитектура (multi-tier architecture) – архитектура ПО, при которой презентация результатов, обработка и управление данными реализованы как отдельные процессы. Пример: Использование middleware для взаимодействия с сервером и СУБД для взаимодействия с данными (C) Сафонов В.О Развитие современных основных понятий архитектуры ПО (2/3)

Многоклиентская архитектура (multi-tenant architecture) – архитектура клиент-серверного ПО, при которой один экземпляр серверного ПО, исполняемый на сервере, обслуживает несколько клиентов (tenants – букв. клиенты, арендаторы). Пример: Web-сервис С точки зрения рассмотренных концепций, облачные вычисления соответствуют принципам multi-tiered and multi-tenant architecture Что касается abstraction layers, для современной сложной архитектуры ПО данный термин несколько устарел, так как все модули ПО повторно используемы, и в различных системах различные ярусы (слои) могут иметь разные условные номера. Двумерная модель не в состоянии адекватно описать современное ПО (C) Сафонов В.О Развитие современных основных понятий архитектуры ПО (3/3)

(C) Сафонов В.О Пример многоярусной архитектуры: Ярусы презентации, бизнес-логики и данных

Сервис – компонента программы, непосредственно доступная пользователю Основной принцип: С точки зрения пользователя, программный продукт представляет собой набор простых в использовании Web-сервисов с удобным графическим Web- интерфейсом Сервис-ориентированная модель должна быть расширяемой (пользователь должен иметь возможность добавить новые сервисы или изменить набор доступных сервисов) Пользователи должны иметь возможность обращаться к сервисам через сеть с самых различных по своим возможностям устройств – desktop-машин, мобильных устройств и т.д. Метод реализации Web-сервисов (.NET, Java и др.) для пользователя несущественен Разработчик должен иметь возможность публикации своих Web-сервисов Поддержка SOA: -Microsoft SharePoint (простой инструмент для создания расширяемых Web-страниц и Web-сервисов); -UDDI (Universal Discovery, Description and Integration) – технология для публикации и поиска Web-сервисов (Microsoft) С данной точки зрения, облачные вычисления соответствуют принципам SOA (C) Сафонов В.О Развитие Service-Oriented Architecture (SOA)

SaaS – модель разработки программ, основанная на использовании лицензируемых программных сервисов по требованию клиентами, получающими (покупающими) лицензии у сервис-провайдеров Основная идея: использование ПО по требованию (on demand) по невысокой стоимости (вместо покупки полной лицензии на ПО для всех платформ) Характеристики SaaS: -Доступ к коммерческому ПО через сеть -Удаленное управление ПО пользователями через центральный Web-сайт -Использование модели one-to-many (multi-tenant application), т.е. использование одного приложения многими клиентами -Централизация управления версиями и обновлениями (пользователи могут загружать новые версии через сеть) -Интеграция программных сервисов в общий гибридный набор ПО, потребляемый пользователем, как mash-ups – гибридных Web-приложений С данной точки зрения, облачные вычисления соответствуют принципам SaaS и, по-видимому, являются их наилучшим воплощением (C) Сафонов В.О Развитие концепции Software-as-a-Service (SaaS)

Cloud computing - облачные вычисления Облако (cloud) –широко используемая метафора для изображения сервисов, предоставляемых через Web Облачные вычисления – модель вычислений, основанная на динамически масштабируемых(scalable) виртуальных (virtual) ресурсах - данных, приложениях, Web-сайтах, виртуальных машинах, ОС и др., - которые доступны и используются как сервисы через Интернет и реализуются с помощью мощных центров обработки данных (data centers) С точки зрения пользователей, существуют облака (общедоступные, частные, облака сообществ), предоставляемые различными компаниями для использования мощных вычислительных ресурсов, которых нет у индивидуального пользователя Перспективы облачных вычислений весьма многообещающие Наиболее популярная облачная платформа – Microsoft Windows Azure (облачная ОС) и Microsoft Azure Services Platform (реализованная на основе Microsoft.NET) В настоящее время все крупные компании (Microsoft, IBM, HP, Dell, Oracle и др.) разработали свои системы облачных вычислений; имеется тенденция к интеграции этих корпоративных систем в единое доступное пользователю облако - InterCloud (C) Сафонов В.О Развитие cloud computing

Подход к разработке программ принципиально изменился Вместо индивидуальных изолированных разработок на собственном компьютере – разработка сетевых приложений и использование готовых сервисов через Web Распространение ПО через магазины приложений и через облака Будущее – за сетевым и распределенным программным обеспечением, основанным на Web-сервисах, многоклиентских и многоярусных архитектурах - принципах SOA, SaaS, multi-tenancy, multi-tiering Всем этим принципам соответствует модель облачных вычислений Microsoft – одна из ведущих компаний, поддерживающих и развивающих этот новый подход (.NET, Windows Azure) (C) Сафонов В.О Резюме

1.Проанализируйте используемое и разрабатываемое Вами программное обеспечение, с точки зрения соответствия парадигмам cloud computing и SOA 2.Проанализируйте новые тенденции в развитии архитектуры программных систем 3.Получите пробный академический доступ к Windows Azure и попробуйте ее использовать на простых примерах 4.Сформулируйте проблемы безопасности программ и данных для облачных вычислений – в чем преимущество данной модели для реализации безопасности, в чем ее подводные камни 5.Опубликуйте свое первое приложение в магазине приложений для Windows 8 (C) Сафонов В.О Домашнее задание к лекции 1