Лекція 6. Платформа Windows Azure
В начале данной лекций мы бы хотели сделать небольшое отступление и упомянуть стратегию Software+Services компании Microsoft. Конечно, было бы уместным начать с ностальгических воспоминаний о вебе, его эволюции и "врастании" его в различные аспекты нашей профессиональной деятельности и понятии "Web 2.0 ", однако о зарождении и становлении Интернета легко можно узнать при помощи него же.
Software+Services объединяет несколько феноменов, таких как SaaS, SOA и Web 2.0. Суть данной стратегии заключается в том, чтобы обеспечить на необходимом пользователю уровне комбинацию Интернет - сервисов и локального программного обеспечения. Иными словами, Software+Services - это предоставление нового уровня услуг, удобства и гибкости, отвечающих пользовательским потребностям.
Платформа Windows Azure является одним из основных компонентов стратегии Software+Services.
Характеристика платформ
Windows Azure - являє собою Windows-платформу компанії Microsoft, що надається, як сервіс (PaaS), розгорнутої на серверах і супутньої інфраструктури дата - центрів компанії і має доступ до Інтернет. Тобто, Windows Azure - операційна система, яка надається, як сервіс.
При використанні Windows Azure користувачі отримують можливість запускати різні сервіси, при цьому платформа забезпечує масштабованість, безпеку і доступність.
Windows Azure:
• додає можливості веб - служб існуючим пакетним додатків;
• дозволяє створювати, змінювати і поширювати програми через веб при наявності мінімальної IT - інфраструктури;
• надає сервіси зберігання великої кількості даних, пакетної обробки і високопродуктивних обчислень;
• забезпечує можливості оперативного тестування і поширення веб - служб при мінімальних витратах;
• зменшує витрати, пов'язані з утриманням IT - інфраструктури;
• спрощує процес управління IT - інфраструктурою.
В основі Windows Azure лежать технології віртуалізації, платформа управляється за допомогою інфраструктурного шару Windows Azure Fabric Controller, що забезпечує розгортання служб і додатків, управління навантаженням і ресурсами, про що вже говорилося в Помилка! Неприпустимий об'єкт гіперпосилання.
Також введемо поняття примірника - в Windows Azure це одиниця розгортання, яка відображає віртуальну машину з рядом визначених конфігурацій. При цьому Azure Fabric Controller відповідає за фізичне розгортання віртуальних машин. З боку користувача потрібно лише вказати необхідну кількість примірників віртуальної машини, розгорнутих для певного сервісу.
Життєвим циклом примірників управляє Azure Fabric Controller, користувач, в свою чергу, може запускати і зупиняти екземпляри.
Сервіси Windows Azure
Розглянемо докладніше категорії сервісів, що надаються Windows Azure.
1. Сервіси зберігання даних
Надають масштабируемую систему зберігання даних, з підтримкою таких структур, як таблиці, бінарні об'єкти, асинхронні черги повідомлень і звичайні файлові системи. Детальніше сервіси зберігання даних будуть розглянуті в лекції №7. Також варто відзначити, що дані сервіси підтримують потрійну реплікацію в рамках кластера і центру обробки даних. Автоматичне створення копій і балансування навантаження між серверами забезпечують необхідну масштабованість сервісів зберігання даних.
2. Обчислювальні сервіси
Являють собою контейнери для додатків, з підтримкою .Net, Java, PHP, Python і т.д. З цієї точки зору, Windows Azure є прикладної контейнер, в якому розміщуються код і логіка "хмарного" додатка.
3. Комунікаційні сервіси
Доступні за допомогою "хмарної" сервісної шини, можуть бути використані, як засіб миттєвого обміну повідомленнями з іншими сервісами на стороні, як "хмари", так і клієнта.
4. Сервіси безпеки
Включають в себе сервіси управління доступом, що грунтуються на механізмах федерації (функція єдиного входу, через Інтернет для перевірки користувача і надання йому доступу до різних програм під час одного сеансу роботи), забезпечуючи тим самим можливість інтеграції з уже наявними системами управління ідентифікацією. Більш детальну інформацію див в п. №5 списку додаткових матеріалів.
5. Прикладні сервіси
Сервіси, які використовуються при розробці "хмарних" додатків і інших сервісів.
Ролі
Як правило, сервіс Windows Azure має більше одного примірника. Кожен екземпляр може виконувати як всю логіку додатка, так і її частину. При цьому розробник контролює число і типи ролей.
Можна провести аналогію між ролями в Windows Azure і стандартними типами проектів в Visual Studio. В даному випадку екземпляр Windows Azure є окремий проект.
Ролі Windows Azure:
1. Веб - роль (web role)
2. Прикладна роль (worker role)
Основним завданням веб - ролі є забезпечення підтримки протоколів HTTP і HTTPS. Розміщується роль на базі IIS. Таким чином веб - роль, фактично, відповідає ASP.Net проекту Visual Studio, з урахуванням відмінностей в збірках додатків і способі конфігурації.
Прикладна роль відповідає за підтримку зовнішніх точок входу через TCP \ IP і ряд портів (крім 80 і 443). Дана роль не розміщується на веб - сервері. Продовжуючи аналогію, цю роль можна порівняти з Windows - сервісами, також вона може бути використана для виконання фонових завдань.
Таким чином, ролі в Windows Azure - це "блоки" з яких будується "хмарне" додаток. Примірник ролі - віртуальна машина з рядом визначених характеристик.
Можливості платформ
Нами вже було дано загальний огляд можливостей "хмарних" додатків, а також SaaS, PaaS і IaaS рішень. Але це були концептуальні опису. Підводячи підсумок даної лекції, хочемо ще раз зробити акцент на практичних можливостях Windows Azure.
Windows Azure:
• надає "хмарну" середовище для розробки, хостингу та управління сервісами;
• представляє собою контейнер, що містить код і логіку, в рамках якого додаток може бути розгорнуто;
• надає середу, схожу з існуючої Windows Server середовищем;
• дозволяє розгортати .Net проекти безпосередньо, без внесення істотних і трудомістких змін;
• дозволяє зберігати дані користувачів, підтримує потрійну реплікацію.
Список додаткових матеріалів для самостійного вивчення
Software + Services
1. http://msdn.microsoft.com/ru-ru/library/cc891480.aspx
Windows Azure - основи
1. http://www.youtube.com/watch?v=poDRw_Xi3Aw (відео)
2. http://www.youtube.com/watch?v=CfYjDHVaXSo (відео)
3. http://blogs.msdn.com/b/vorobiev/archive/2011/02/07/faq-windows-azure-platform-windows-azure.aspx
Сервіси безпеки
1. http://www.oszone.net/14366/Windows-Azure
Ролі Windows Azure
1. http://blogs.technet.com/b/isv_team/archive/2010/12/29/3377670.aspx
Огляд можливостей Windows Azure (відео)
1. http://www.techdays.ru/videos/2898.html
(Для ознайомлення з повним текстом статті необхідно залогінитись)