В чем основная идея многоярусной архитектуры ПО

Многоярусная архитектура (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 и др.) разрабатывают свои системы облачных вычислений; имеется тенденция к интеграции этих корпоративных систем в единое доступное пользователю "облако". Однако имеются и частные "облака", доступные только служащим определенной компании