Лекція 7. Сервіси зберігання даних в Windows Azure. VM - роль
VM - роль в Windows Azure призначена для полегшення процесу міграції існуючих Windows Server додатків в "хмарну" структуру.
VM - роль надає сервіси на рівні інфраструктури (IaaS), полегшуючи процеси контролю і управління інфраструктури для адміністраторів і розробників.
Відзначимо, що інші ролі (веб і прикладна) знаходяться "над" VM -роль, дозволяючи тим самим розробникам, чия діяльність здійснюється на більш високих рівнях абстракції, концентруватися безпосередньо на додатку, а не на ОС, на якому воно базується.
На відміну від перенесення сервісів і окремих компонентів програми, VM - роль дозволяє перенести додаток цілком, знижуючи вартість володіння ним, за рахунок надання сервісів автоматичного управління, оновлення та відмовостійкості.
Таким чином, роль віртуальної машини дозволяє створювати користувальницький образ віртуального жорсткого диска (на основі Windows Server 2008 R2) і розміщувати його в "хмарі".
Фактично VM - роль це віртуальна машина, але вона володіє рядом особливостей:
• Не підтримується збереження образів під час апаратних збоїв;
• кожен сервіс може мати тільки один зовнішній IP - адреса;
• неможливий автоматичний моніторинг додатків, що функціонують усередині віртуальної машини;
• для забезпечення необхідного рівня доступності потрібна наявність двох однакових екземплярів віртуальної машини.
Ґрунтуючись на вимогах розгорнутих додатків, розробники можуть вибирати відповідний розмір віртуальної машини. Примірники Windows Azure підтримують п'ять конфігурацій віртуальних машин:
Таблиця 7.1. Конфігурації віртуальних машин | ||||
Назва | Частота процесора (ГГц) | Кількість ядер | Обсяг пам’яті | Розмір сховища даних |
Дуже маленька (extra small) | 1 | 1 | 768 Мб | 20 Гб |
Мала (small) | 1,6 | 1 | 1,75 Гб | 225 Гб |
Середня (medium) | 1,6 | 2 | 3,5 Гб | 490 Гб |
Велика (large) | 1,6 | 4 | 7 Гб | 1000 Гб |
Величезна (extra large) | 1,6 | 8 | 14 Гб | 2040 Гб |
Кожна віртуальна машина створюється при розгортанні прикладних сервісів. Всі віртуальні машини розташовуються в центрах обробки даних Microsoft.
Про ціни і ліцензування можна довідатися з п. №1 списку матеріалів для самостійного вивчення.
Сервіси збереження даних
Зберігання даних в Windows Azure забезпечується набором сервісів під загальною назвою Windows Azure Storage. Кожен із сервісів підходить для зберігання певного типу даних:
• Table - сервіс, дозволяє зберігати структуровані дані в таблиці, доступ до яких здійснюється через REST API;
• Queue - сервіс, дає змогу організовувати необмежену сховище повідомлень;
• Blob - сервіс, дозволяє зберігати текстову і бінарну інформацію в спеціально організованих контейнерах.
Відзначимо, що Table - сховище не є аналогом реляційного сховища даних. У даній концепції, під таблицею розуміється колекція сутностей (Entities), подібних кортежам в реляційному підході. Сутність же являє собою набір властивостей (Properties). Властивість же є парою "ім'я (name) - збірне значення (typed value)". Продовжуючи аналогію, сутності можна співвіднести з полями в таблиці в реляційному сховищі.
У Table - сховище суті можуть містити різні властивості, перебуваючи в одній таблиці. Тобто таблиця в Table - сховище не задає структуру збережених сутностей.
Таким чином, таблиця складається з набору об'єктів, кожен з яких має набір назв властивостей і їх значень. Об'єкт може мати до 256 властивостей.
У табличному сховище, наприклад, можуть зберігатися стану веб - додатків, поточний стан об'єктів (замовлення, група контактів) і т.д.
Для зберігання бінарних (blob) об'єктів використовується інтерфейс, що дозволяє зберігати іменовані файли разом з метаданими.
Blob - об'єкти діляться на:
• блокові, оптимізовані для потокового введення - виведення, розмір об'єкта не може перевищувати 200 Гб;
• сторінкові, оптимізовані для випадкових операцій введення - виведення, розмір об'єкта не може перевищувати 1 Тб.
Сховище бінарних об'єктів більше підходить для зберігання резервних копій зображень, документів і т.д.
Черга (Queue) є сховищем повідомлень, як правило, забезпечує комунікації між різними ролями Windows Azure. Повідомлення зберігаються в чергах, розмір повідомлень обмежений 8 Кб. При цьому можливе використання необмеженого числа черг, число повідомлень в черзі також не має обмежень.
Детальніше про table, blob і queue сервісах буде розказано в лекціях №11-16.
Крім спеціалізованих сервісів зберігання даних Windows Azure підтримує традиційні файлові операції, за рахунок підтримки NTFS формату.
NTFS томи зберігаються як відформатовані віртуальні диски в сторінкових бінарних об'єктах. Інші програми, які можуть зберігати стану на томах. Доступ до диску здійснюється через стандартний NTFS інтерфейс.
Кожна обліковий запис Windows Azure Storage може зберігати до 100 Тб даних.
З точки зору архітектури, існує 3 основних рівня доступу до даних в Windows Azure Storage:
1. Front - End (FE) рівень. Приймає запити, що надходять, авторизація та аутентифікація також здійснюються на даному рівні. Після аутентифікації запити направляються на сервер (partition server), на відповідному рівні. На FE рівні зберігається карта секторів (partition map), що дозволяє направляти запит безпосередньо необхідного сервера.
2. Рівень секторів (partition layer). Даний рівень управляє поділом даних в системі, забезпечуючи доступ до необхідних серверів, автоматичну балансування навантаження секторів. Єдиний partition - сервер може обслуговувати безліч секторів.
3. Рівень розподіленої файлової системи (Distributed and replicated file system - DFS). Рівень, на якому фактично зберігається інформація, що відповідає за розподіл і реплікацію даних по всіх серверів зберігання. Кожен з DFS серверів доступний для будь-якого partition - сервера.
http://blogs.msdn.com/b/windowsazurestorage/archive/2010/12/30/windows-azure-storage-architecture-overview.aspx) " >
Рис. 7.1. Рівні доступу до даних Windows Azure Storage (джерело –
http://blogs.msdn.com/b/windowsazurestorage/archive/2010/12/30/windows-azure-storage-architecture-overview.aspx)
Список додаткових матеріалів для самостійного вивчення
VM - роль
- http://www.microsoft.com/windowsazure/compute/#vmrole
- http://msdn.microsoft.com/en-us/library/gg465398.aspx
Windows Azure Storage
- http://www.oszone.net/13891/Windows-Azure-Storage
- http://blogs.msdn.com/b/windowsazurestorage/archive/2010/12/30/windows-azure-storage-architecture-overview.aspx
- http://blogs.msdn.com/b/windowsazurestorage/archive/2010/11/23/windows-azure-storage-client-library-potential-deadlock-when-using-synchronous-methods.aspx
(Для ознайомлення з повним текстом статті необхідно залогінитись)