В чем основная идея многоярусной архитектуры ПО
Многоярусная архитектура (multi-tier architecture) – архитектура ПО, при которой презентация результатов, обработка и управление данными реализованы как отдельные процессы. Пример: Использование middleware для взаимодействия с сервером и СУБД для взаимодействия с данными.
10. Что такое многоклиентская (multi-tenant) архитектура ПО?
Многоклиентская архитектура (multi-tenant architecture) – это архитектура клиент-серверного ПО, при которой один экземпляр серверного ПО, исполняемый на сервере, обслуживает несколько клиентов (tenants – букв. клиенты, арендаторы). Пример: Web-сервис.
11. Что такое сервисно-ориентированная архитектура?
Сервисно-ориентированная архитектура (SOA) – один из наиболее современных подходов к программированию.
Сервис – это компонента программы, непосредственно доступная пользователю.
Пример сервиса: Получение прогноза погоды через Интернет.
Основной принцип SOA. С точки зрения пользователя, программный продукт представляет собой набор простых в использовании Web-сервисов с удобным графическим Web-интерфейсом.
Сервисно-ориентированная модель должна быть расширяемой: пользователь должен иметь возможность добавить новые сервисы или изменить набор доступных сервисов.
Пользователи также должны иметь возможность обращаться к сервисам через сеть с самых различных по своим возможностям устройств – desktop-машин, мобильных устройств и т.д.
Метод реализации Web-сервисов (.NET, Java и др.) для пользователя несущественен.
Разработчик должен иметь возможность публикации своих Web-сервисов.
Поддержка SOA осуществляется во многих современных программных инструментах, в том числе:
- Microsoft SharePoint - простой инструмент для создания расширяемых Web-страниц и Web-сервисов);
- UDDI (Universal Discovery, Description and Integration) – технология для публикации и поиска Web-сервисов (Microsoft).
С данной точки зрения, облачные вычисления соответствуют принципам SOA.
В чем суть концепции Software as a Service (SaaS)?
Software as a Service (SaaS) – модель разработки программ, основанная на использовании лицензируемых программных сервисов "по требованию" клиентами, получающими (покупающими) лицензии у сервис-провайдеров.
Термин SaaS возник в 1999 г.
Основная идея SaaS - использование ПО по требованию (on demand) по невысокой стоимости,вместо покупки полной лицензии на ПО для всех платформ.
Характеристики SaaS:
- Доступ к коммерческому ПО через сеть;
- Удаленное управление ПО пользователями через центральный Web-сайт;
- Использование модели "one-to-many" (multi-tenant application), т.е. использование одного приложения многими клиентами;
- Централизация управления версиями и патчами (пользователи могут загружать новые версии через сеть);
- Постоянная интеграция программных сервисов в общий гибридный набор ПО, потребляемый пользователем, как mash-ups – гибридных Web-приложений.
С данной точки зрения, облачные вычисления соответствуют принципам SaaS.
Что такое облачные вычисления?
Англоязычному термину cloud computing соответствует русский термин "облачные" вычисления.
"Облако" (cloud) – широко используемая метафора для изображения сервисов, предоставляемых через Интернет или другую коммуникационную сеть (например, через ATM-сеть).
Облачные вычисления – модель вычислений, основанная на динамически масштабируемых (scalable) и виртуализованных (virtual) ресурсах - данных, приложениях, ОС и др., - которые доступны и используются как сервисы через Интернет и реализуются с помощью мощных центров обработки данных (data centers).
С точки зрения пользователей, существуют "облака" (общедоступные или частные) , предоставляемые различными компаниями для использования мощных вычислительных ресурсов, которых нет у индивидуального пользователя.
Перспективы облачных вычислений, как будет видно из данного курса, весьма многообещающие.
Недостаток облачных вычислений: пользователь полностью зависит от "облака" и не может управлять даже резервным копированием своих данных и программ.
Наиболее популярная "облачная" платформа – Microsoft Windows Azure (облачная ОС) и Microsoft Azure Services Platform (реализованная на основе Microsoft.NET). О ней и пойдет речь в данном курсе.
В настоящее время все крупные компании (Microsoft, IBM, HP, Dell, Oracle и др.) разрабатывают свои системы облачных вычислений; имеется тенденция к интеграции этих корпоративных систем в единое доступное пользователю "облако". Однако имеются и частные "облака", доступные только служащим определенной компании