Хмарні обчислення

Хмарні обчислення ( англ. cloud computing ), В інформатики - це модель забезпечення повсюдного і зручного мережевого доступу на вимогу до загального пулу ( англ. pool ) Конфігуруємих обчислювальних ресурсів (наприклад, мереж передачі даних, серверів, пристроїв зберігання даних, додатків і сервісів - як разом, так і окремо), які можуть бути оперативно надані і звільнені з мінімальними експлуатаційними витратами і / або зверненнями до провайдера. [1]

Споживачі хмарних обчислень можуть значно зменшити витрати на інфраструктуру інформаційних технологій (у короткостроковому і середньостроковому планах) і гнучко реагувати на зміни обчислювальних потреб, використовуючи властивості обчислювальної еластичності ( англ. elastic computing ) Хмарних послуг.

За оцінкою IDC ринок публічних хмарних обчислень в 2009 році склав $ 17 млрд - близько 5% від всього ринку інформаційних технологій [2].


1. Історія

Спочатку концепція використання обчислювальних ресурсів за принципом системи комунального господарства була запропонована в 1960-і роки Джоном Маккарті .

Виникнення англомовного терміна почало активно обговорюватися у 2008 році в одній з тематичних інтернет-конференцій [3]. У результаті дискусії висувалися різні версії, за однією з яких термін сloud був вперше використаний главою компанії Google Еріком Шмідтом у виступі [4] [5] і набув поширення в засобах масової інформації. Інша популярна версія припускає, що термін cloud computing став широко вживатися в США з 2005 року після запуску компанією Amazon.com проекту Elastic Compute Cloud ( Amazon EC2) і широко поширився в бізнесі, серед постачальників інформаційних технологій і в науково-дослідної середовищі [6]. Термін "хмара" використовується як метафора, заснована на зображенні Інтернету на діаграмі комп'ютерної мережі, або як образ складної інфраструктури, за якою ховаються всі технічні деталі.


2. Характеристики

Національним інститутом стандартів і технологій США зафіксовані такі обов'язкові характеристики хмарних обчислень [7] :

  • Самообслуговування на вимогу ( англ. self service on demand ), Споживач самостійно визначає і змінює обчислювальні потреби, такі як серверний час, швидкості доступу та обробки даних, обсяг збережених даних без взаємодії з представником постачальника послуг;
  • Універсальний доступ по мережі, послуги доступні споживачам по мережі передачі даних незалежно від використовуваного термінального пристрою;
  • Об'єднання ресурсів ( англ. resource pooling ), Постачальник послуг об'єднує ресурси для обслуговування великої кількості споживачів в єдиний пул для динамічного перерозподілу потужностей між споживачами в умовах постійної зміни попиту на потужності; при цьому споживачі контролюють тільки основні параметри послуги (наприклад, обсяг даних, швидкість доступу), але фактичний розподіл ресурсів , які надаються споживачу, здійснює постачальник (в деяких випадках споживачі все-таки можуть управляти деякими фізичними параметрами перерозподілу, наприклад, вказувати бажаний центр обробки даних з міркувань географічної близькості);
  • Еластичність, послуги можуть бути надані, розширені, звужені в будь-який момент часу, без додаткових витрат на взаємодію з постачальником, як правило, в автоматичному режимі;
  • Облік споживання, постачальник послуг автоматично обчислює спожиті ресурси на певному рівні абстракції (наприклад, обсяг збережених даних, пропускна спроможність, кількість користувачів, кількість транзакцій), і на основі цих даних оцінює обсяг наданих споживачам послуг.

З точки зору постачальника, завдяки об'єднанню ресурсів і непостійному характером споживання з боку споживачів, хмарні обчислення дозволяють економити на масштабах, використовуючи менші апаратні ресурси, ніж потрібні б при виділених апаратних потужностях для кожного споживача, а за рахунок автоматизації процедур модифікації виділення ресурсів істотно знижуються витрати на абонентське обслуговування.

З точки зору споживача, ці характеристики дозволяють отримати послуги з високим рівнем доступності ( англ. high availability ) І низькими ризиками непрацездатності, забезпечити швидке масштабування обчислювальної системи завдяки еластичності без необхідності створення, обслуговування і модернізації власної апаратної інфраструктури.

Зручність і універсальність доступу забезпечується широкою доступністю послуг і підтримкою різного класу термінальних пристроїв ( персональних комп'ютерів, мобільних телефонів, інтернет-планшетів).


3. Моделі розгортання

3.1. Приватна хмара

Приватна хмара ( англ. private cloud ) - Інфраструктура, призначена для використання однією організацією, що включає кілька споживачів (наприклад, підрозділів однієї організації), можливо також клієнтами і підрядниками даної організації. Приватна хмара може перебувати у власності, управлінні та експлуатації як самої організації, так і третьої сторони (або будь-якої їх комбінації), і воно може фізично існувати як усередині, так і поза юрисдикцією власника.


3.2. Публічне хмара

Публічне хмара ( англ. public cloud ) - Інфраструктура, призначена для вільного використання широкою публікою. Публічне хмара може перебувати у власності, управлінні та експлуатації комерційних, наукових та урядових організацій (або будь-якої їх комбінації). Публічне хмара фізично існує в юрисдикції власника - постачальника послуг.

3.3. Гібридне хмара

Гібридне хмара ( англ. hybrid cloud ) - Це комбінація з двох або більше різних хмарних інфраструктур (приватних, публічних або суспільних), що залишаються унікальними об'єктами, але пов'язаних між собою стандартизованими або приватними технологіями передачі даних і додатків (наприклад, короткочасне використання ресурсів публічних хмар для балансування навантаження між хмарами).


3.4. Громадське хмара

Громадське хмара ( англ. community cloud ) - Вид інфраструктури, призначений для використання конкретним спільнотою споживачів з організацій, що мають спільні завдання (наприклад, місії, вимог безпеки, політики, та відповідності різним вимогам). Громадське хмара може перебувати в кооперативній (спільної) власності, управлінні та експлуатації однієї або більше з організацій співтовариства або третьої сторони (або будь-якої їх комбінації), і воно може фізично існувати як усередині, так і поза юрисдикцією власника.


4. Моделі обслуговування

4.1. Програмне забезпечення як послуга

Програмне забезпечення як послуга (SaaS, англ. Software-as-a-Service ) - Модель, в якій споживачеві надається можливість використання прикладного програмного забезпечення провайдера, що працює в хмарної інфраструктурі і доступного з різних клієнтських пристроїв або за допомогою тонкого клієнта, наприклад, з браузера (наприклад, веб-пошта) або інтерфейс програми. Контроль і управління основним фізичної і віртуальної інфраструктурою хмари, в тому числі мережі, серверів, операційних систем, зберігання, або навіть індивідуальних можливостей додатки (за винятком обмеженого набору налаштувань користувача конфігурації програми) здійснюється хмарним провайдером.


4.2. Платформа як послуга

Платформа як послуга (PaaS, англ. Platform-as-a-Service ) - Модель, коли споживачеві надається можливість використання хмарної інфраструктури для розміщення базового програмного забезпечення для подальшого розміщення на ньому нових або існуючих додатків (власних, розроблених на замовлення або придбаних тиражованих додатків). До складу таких платформ входять інструментальні засоби створення, тестування та виконання прикладного програмного забезпечення - системи управління базами даних, сполучна програмне забезпечення, середовища виконання мов програмування - надані хмарним провайдером.

Контроль і управління основним фізичної і віртуальної інфраструктурою хмари, в тому числі мережі, серверів, операційних систем, зберігання здійснюється хмарним провайдером, за винятком розроблених або встановлених додатків, а також, по можливості, параметрів конфігурації середовища (платформи).


4.3. Інфраструктура як послуга

Інфраструктура як послуга (IaaS, англ. IaaS or Infrastructure-as-a-Service ) Надається як можливість використання хмарної інфраструктури для самостійного управління ресурсами обробки, зберігання, мереж та іншими фундаментальними обчислювальними ресурсами, наприклад, споживач може встановлювати і запускати довільне програмне забезпечення, яке може включати в себе операційні системи, платформенне і прикладне програмне забезпечення. Споживач може контролювати операційні системи, віртуальні системи зберігання даних і встановлені програми, а також обмежений контроль набору доступних сервісів (наприклад, міжмережевий екран, DNS). Контроль і управління основним фізичної і віртуальної інфраструктурою хмари, в тому числі мережі, серверів, типів використовуваних операційних систем, систем зберігання здійснюється хмарним провайдером.


5. Економічні аспекти

При використанні хмарних обчислень споживачі інформаційних технологій можуть істотно знизити капітальні витрати - на побудову центрів обробки даних, закупівлю серверного та мережевого обладнання, апаратних і програмних рішень щодо забезпечення безперервності і працездатності - так як ці витрати поглинаються провайдером хмарних послуг. Крім того, тривалий час побудови та введення в експлуатацію великих об'єктів інфраструктури інформаційних технологій і висока їх початкова вартість обмежують спроможність споживачів гнучко реагувати на вимоги ринку, тоді як хмарні технології забезпечують можливість практично миттєво реагувати на збільшення попиту на обчислювальні потужності.

При використанні хмарних обчислень витрати споживача зміщуються у бік операційних - таким чином класифікуються витрати на оплату послуг хмарних провайдерів.

Для пояснення економічної складової хмарних підходів до обчислень часто використовується аналогія з послугами водо- або електропостачання, наданими в розвинених інфраструктурах по відповідним комунальним мережам, легкодоступними і оплачуваними в міру споживання, порівняно з розробкою кожним споживачем власного водозабору або монтуванням власної електроустановки [5].


6. Технології

Для забезпечення узгодженої роботи вузлів обчислювальної мережі на стороні хмарного провайдера використовується спеціалізоване проміжне програмне забезпечення, що забезпечує моніторинг стану обладнання та програм, балансування навантаження, забезпечення ресурсів для вирішення завдання.

Одним з основних рішень для згладжування нерівномірності навантаження на послуги є розміщення шару серверної віртуалізації між шаром програмних послуг і апаратним забезпеченням. В умовах віртуалізації балансування навантаження може здійснюватися за допомогою програмного розподілу віртуальних серверів за реальними, перенесення віртуальних серверів відбувається за допомогою живої міграції.


7. Критика

Концепція хмарних обчислень з публічної моделлю піддавалася критиці з боку спільноти вільного програмного забезпечення і, зокрема, з боку Річарда Столлман :

Використовувати веб-додатки для своїх обчислювальних процесів не слід, наприклад, тому, що ви втрачаєте над ними контроль. І це не краще, ніж використовувати будь-яку пропрієтарних програму. Робіть свої обчислення на своєму комп'ютері, використовуючи програми, що поважають вашу свободу. Якщо ви використовуєте будь-яку пропрієтарних програму чи чужий веб-сервер, ви стаєте беззахисними. Ви стаєте іграшкою в руках того, хто розробив це ПО.

- "Cloud computing is a trap, warns GNU founder Richard Stallman", інтерв'ю газеті The Guardian [1] (Англ.)

Існує ймовірність, що з повсюдним приходом цієї технології стане очевидною проблема створення неконтрольованих даних, коли інформація, залишена користувачем, буде зберігатися роками, або без його відома, або він буде не в змозі змінити якусь її частину. Прикладом того можуть служити сервіси Google, де користувач не в змозі видалити невикористовувані їм сервіси і навіть видалити окремі групи даних, створені в деяких з них ( FeedBurner, Google Friend Connect і, можливо, інші). В якості альтернативи "очищення" свого профілю пропонується створити новий. Однак не варто забувати про те, що ім'я користувача вже зайнято попередньої обліковим записом, а нові - на кшталт John22441 - влаштовують не всіх. Оскільки хмарні обчислення будуть цілком пропрієтарного (відкритий API не виправляє ситуацію), поки немає надії на те, що користувачеві нададуть засіб для видалення своїх же даних на подібних серверах.

Крім того, деякі аналітики припускали поява в 2010 році проблем з хмарними обчисленнями. Так, наприклад, Марк Андерсон, керівник галузевого IT-видання Strategic News Service, вважав, що через значного припливу користувачів сервісів, що використовують хмарні обчислення (наприклад, Flickr або Amazon), зростає вартість помилок і витоків інформації з подібних ресурсів, а в 2010 році повинні були відбутися великі "катастрофи типу виходу з ладу, або катастрофи, пов'язані з безпекою". Так, наприклад, в 2009 році сервіс для зберігання закладок Magnolia втратив всі свої дані. Тим не менш, багато експертів дотримуються тієї точки зору, що переваги і зручності переважують можливі ризики використання подібних сервісів [8].


Примітки

  1. NIST, 2011, "Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (eg, networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction ", p. 6
  2. Gens, Frank IDC 's New IT Cloud Services Forecast: 2009-2013 (Англ.) . IDC (5 October 2009). Статичний з першоджерела 21 березня 2012.
  3. Cloud Computing Group Who invented The Term Cloud Computing? (Англ.) . Google Groups (20 October 2011).
  4. Eric Schmidt Eric Schmidt, Web 2.0 vs. Web 3.0 (Англ.) . Youtube (20 October 2011).
  5. 1 2 Черняк, 2011
  6. ACM, 2010
  7. NIST, 2011, p. 6
  8. "Катастрофа хмарних обчислень" у 2010 р?

Література