Лекція 1. Вступ в Cloud Computing
Перш ніж почати розглядати хмарні обчислення, необхідно охарактеризувати методику розподіленої обробки даних.
Розподілена обробка даних - методика виконання прикладних програм групою систем. Таким чином, фактично користувач отримує можливість працювати з прикладними процесами, розташованими в декількох взаємопов'язаних системах.
Розподілені обчислення є способом вирішення складних завдань, що вимагають великих обчислювальних потужностей, заснованому на об'єднанні кількох комп'ютерів в паралельну обчислювальну систему.
Як історичного прикладу розподілених обчислень можна привести рішення французького математика і обчислювача при французькому уряді барона Гаспара де Проні.
Під його керівництвом було розпочато роботу щодо уточнення логарифмічних і тригонометричних таблиць, в зв'язку з переходом на метричну систему. Для того часу було потрібно здійснення величезного обсягу обчислень. Де Проні переніс ідею про поділ праці на обчислювальний процес, виконавці були розподілені за трьома рівнями:
1. нижчий рівень - люди-обчислювачі (computers), які повинні були тільки акуратно додавати і віднімати числа;
2. середній рівень - "технологи", які займалися організацією конкретного рутинного обчислювального процесу;
3. вищий рівень - математики, які організовують підготовку математичного забезпечення і узагальнення отриманих результатів.
Характеристика розподіленого опрацювання даних
·Суть розподіленої обробки даних полягає в тому, що користувач і прикладне програмне забезпечення можуть працювати з віддаленими засобами за допомогою каналів зв'язку.
·Комп'ютери, що входять як частини розподіленої середовища обробки даних діляться на сервери і клієнти. Перші надають обчислювальні ресурси другим.
·Управління розподіленим середовищем здійснюється мережевою операційною системою. Крім того, дана середу має на увазі наявність розподіленої бази даних і інструментарій для управління цією базою.
·Переваги розподіленої системи обробки даних:
·• можливість обслуговування великої кількості користувачів;
·• зняття пікових навантажень з централізованої БД, шляхом розподілу обробки і зберігання локальних БД;
·• забезпечення доступу виконавців до обчислювальних ресурсів всієї мережі;
·• забезпечення симетричного обміну даними між користувачами мережі.
·Залежно від способу розподілу даних, виділяють наступні способи організації обробки даних:
·• централізований;
·• децентралізований;
·• змішаний.
Централізована організація даних. З точки зору реалізації, є найбільш простим варіантом організації. Є єдина централізована база даних, доступ до якої організовується і регулюється сервером, на якому вона знаходиться. Доступ здійснюється за допомогою віддаленого запиту.
В даний час все більшу популярність набирає ідея добровільного використання для організації обчислень комп'ютерів звичайних користувачів.
Перевагою даного способу є: простота реалізації і підтримки; недоліком - обмеження на паралельну обробку даних, оскільки всі запити направляються до єдиного серверу.
Децентралізована організація даних. Даний підхід передбачає розбиття логічно єдиної бази даних на кілька фізично розподілених. Кожен клієнт має доступ до власної локальної базі даних, яка є або частиною загальної бази даних (розподіл), або копією бази в цілому (дублювання), другий варіант призводить до дублювання бази у кожного клієнта.
Існування копій окремих частин бази не допускається. Переваги даного методу:
• велика частина запитів задовольняється локальними базами, що знижує тимчасові витрати;
• збільшується доступність даних;
• підвищена надійність зберігання даних;
• часткова працездатність системи при виході з ладу одного сервера.
недоліки:
• можуть виникнути запити або транзакції, що вимагають доступу до всіх серверів, що збільшує час очікування;
• необхідна наявність інформації про зберігання даних в БД.
Змішаний підхід. Має на увазі об'єднання двох способів децентралізації: розбиття і дублювання. Виникає необхідність наявності інформації про те, де в мережі розміщені дані. Досягається компроміс між необхідним обсягом пам'яті під базу в цілому і обсягом пам'яті, необхідному кожному серверу. При цьому легко організовується паралельна обробка даних. Проте залишаються такі проблеми як: надійність і виконання вимог до пам'яті. Даний підхід можна реалізовувати тільки при наявності мережевої системи управління базою даних, яка забезпечує зберігання, цілісність і безпеку збережених даних.
Cloud computing
Невеликий відступ: термін "хмарні" виник з способу представлення Інтернету, як хмари на різних діаграмах, ілюстраціях і схемах.
Знайти людину, чия робота або інтерес пов'язаний зі сферою інформаційних технологій, нічого не чула про "хмарні обчислення" буде вкрай важко.
Ця тема є однією з найбільш обговорюваних останнім часом.
Такий ажіотаж пояснюється просто - з'явилося рішення, спосіб, що дозволяє істотно скоротити витрати на ІТ - послуги, відмовитися від інвестування в інфраструктуру і витрат, пов'язаних з її супроводом і модернізацією, звести час розгортання програми до мінімуму.
Існує три основні моделі розташування додатків:
• на стороні замовника;
• хостинг;
• в "хмарі".
Найбільш звичною і традиційною моделлю розташування додатки є, безумовно, на стороні замовника, локально, в рамках його інфраструктури.
Основною складністю даної моделі є істотні витрати на формування ІТ - інфраструктури, що відповідає вимогам бізнесу і використовуваних додатків, а також витрати, пов'язані з її супроводом і модернізацією.
Як позитивно моменту можна відзначити, що інфраструктура, апаратне і програмне забезпечення повністю підконтрольні замовнику.
Хостинг. Дана модель розгортання додатків отримала розвиток в зв'язку з поширенням глобальної мережі і збільшенням її ролі у професійній діяльності людини. Раніше така модель називалася Application Service Provider (ASP), тепер - Software as a service (SaaS).
Програмне забезпечення, як сервіс (Software as a service, SaaS)
Являє собою бізнес - модель продажу і використання програмних засобів, при якому постачальник розробляє і керує додатком самостійно, надаючи користувачам доступ до нього за допомогою глобальної мережі.
Очевидно, що основною перевагою такого підходу є відсутність витрат для споживача, пов'язаних з установкою програмного продукту, супроводом його і апаратної платформи.
Відзначимо позитивні особливості SaaS моделі з точки зору постачальників послуг і кінцевих користувачів.
З точки зору SaaS користувачів
• ПЗ не потрібно встановлювати на робочих місцях користувачів;
• відсутність тимчасових витрат на розгортання системи в рамках організації;
• спрощення процесів оновлення і супроводу кінцевого продукту;
• працездатність ПЗ не залежить від платформи, що використовується користувачами.
З точки зору SaaS розробників:
• зниження витрат на обслуговування окремих клієнтів;
• спрощення процесів проникнення на нові ринки;
• захист від нелегального розповсюдження;
• замовник "прив'язується" до розробника, не можна відмовитися від послуг розробника і продовжити використовувати програмний продукт.
Особливості SaaS:
• програмний продукт розроблений для віддаленого використання;
• одноразово додатком може користуватися безліч клієнтів;
• оплата є або абонентську плату, або залежить від ступеня використання програми (наприклад, обсяг і складність здійснених операцій);
• супровід здійснюється постачальником послуг і входить в встановлену оплату;
• оновлення продукту здійснюється поступово і є "прозорим" для кінцевих користувачів.
Таким образам, замовник платить не за володіння програмним продуктом, а за його оренду у постачальника послуг. Крім усього перерахованого вище, відсутність у звичайно користувача продукту, як такого, може розглядатися як спосіб боротьби з нелегальним розповсюдженням програмного забезпечення.
Дана модель відрізняється меншим контролем за інфраструктурою, апаратним та програмним забезпеченням.
Розташування додатків в "хмарі". Сама "молода" модель розміщення додатків. Відрізняється практичною відсутністю контролю за інфраструктурою і орендованих забезпеченням з боку замовника. Витрати ж, відповідно, істотно знижуються. Здійснюється перехід від інвестицій в інфраструктуру до операційних витрат.
Таким чином, хмарні обчислення - це підхід до розміщення, надання і споживання додатків і комп'ютерних ресурсів, при якому додатки і ресурси стають доступні через Інтернет у вигляді сервісів (послуг), які споживаються на різних платформах і пристроях [1].
Оплачуються такі послуги, як правило, за фактом.
Хмарні технології і віртуалізація
Одним з положень, на якому базується "хмарний" підхід, є положення про нерівномірності запитів до ресурсів з боку клієнта. Для згладжування цієї нерівномірності між апаратними ресурсами і middleware поміщається шар віртуальних серверів.
Middleware або підпрограмне забезпечення - шар ПО, що складається з "посередників" між різними компонентами великого додатка.
Під віртуалізацією в ІТ, як правило, розуміється абстракція обчислювальних ресурсів і надання користувачеві системи, що приховує в собі власну реалізацію.
Таким чином, балансування навантаження здійснюється як засобами програмного забезпечення, так і засобами розподілу віртуальних серверів за реальними.
Концепція "хмарної" опрацювання даних - все як послуга (Everything as a service)
Інфраструктура, як сервіс (Infrastructure as a service, IaaS)
Як правило, під цим розуміють надання комп'ютерної інфраструктури у формі віртуалізації, як сервісу згідно з концепцією хмарних обчислень. Іншими словами - це можливість орендувати інфраструктурні ресурси (мережеве обладнання, пристрої зберігання, сервери).
Таким чином, IaaS можна уявити, як поєднання:
·• Апаратних засобів;
·• Операційних систем та системного програмного забезпечення;
·• Сполучного програмного забезпечення.
Безпосереднє управління всією інфраструктурою здійснюється постачальником послуг. Клієнт, зі свого боку управляє операційною системою і встановленим ПО. Зазвичай в залежності від потреб замовника, змінюється і обсяг використовуваної інфраструктури.
Підхід IaaS позбавляє компанії від необхідності підтримки "складних" інфраструктурних рішень (центри обробки даних, мережева інфраструктура), крім того, зменшуються і відповідні витрати.
Хмарна платформа надає сервіси для запуску віртуальних машин і сервіси зберігання даних. Таким чином, до особливостей IaaS можна віднести:
·• віртуалізацію (за фактом, покупку апаратних потужностей замінить покупка серверного часу, дискового простору і мережевий пропускної здатності);
·• інтегровані системи управління - єдина платформа для управління різними типами устаткування;
·• можливість використання готових інфраструктур, на основі перевірених архітектур.
Платформа, як сервіс (Platform as a service, PaaS)
Платформа, як сервіс - це можливість оренди платформи, яка зазвичай складається з операційної системи і прикладних сервісів. Така платформа являє собою комплексне рішення для розробки, тестування, розгортання і підтримки додатків. PaaS також включає в себе і IaaS.
До особливостей PaaS можна віднести:
• модель оплати "pay as you go" - послуга оплачується тільки тоді, коли необхідна;
• масштабованість - кількість виділених ресурсів залежить від кількості обслуговуваних користувачів;
• відмовостійкість і безпеку - не вимагають додаткових витрат від компанії, оскільки вже реалізовані в PaaS;
• віртуалізація;
• інтегрована платформа розробки, тестування, розгортання і супроводу додатків;
• доступність - для використання PaaS необхідно тільки підключення до Internet.
Як уже згадувалося, можливість управління і контролю окремих елементів інфраструктури, апаратного та програмного забезпечення залежать від обраного способу розміщення додатків. Для більшої наочності наведемо таблицю кордонів керованості, де "+" - управляється клієнтом, "-" - управляється постачальником послуги.
На цьому закінчуємо розгляд загальних принципів розподіленого опрацювання даних і хмарних обчислень. Список додаткових матеріалів для самостійного вивчення
1. Розподілена обробка даних
o http://global-july.com/lecture_t4.html
o http://abc.vvsu.ru/Books/up_inform_tehnol_v_ekon/page0019.asp
o http://www.market-journal.com/itvupravlenii/45.html
o http://denizzone.com/baset5.html
2. Віртуалізація
o http://www.datasystems.ru/dir.php?id=1370
o http://www.trinitygroup.ru/solution/infrastucture/virtualization/storage/
3. "Хмарні обчислення"
o http://www.parallels.com/ru/spp/understandingclouds/
o http://www.3dnews.ru/editorial/cloud_computing/
o http://netler.ru/pc/cloud.htm
o http://www.pcweek.ru/themes/detail.php?ID=112879
(Для ознайомлення з повним текстом статті необхідно залогінитись)