ормаційної підтримки, а також дає можливість гнучкого перерозподілу ресурсів в залежності від мінливої ??навантаження. Однак найважливішим плюсом віртуалізації є скорочення часу на масштабованість конфігурації, необхідної для вирішення конкретного завдання.
Наприклад, дві компанії одночасно запускають аналогічний сервіс, але одна будує Центр Обробки Даних самостійно, а інша відразу розгортає сервіс на масштабованої хмарної платформі. Кожен місяць число користувачів сервісу збільшується в рази і дуже скоро перша компанія розуміє, що існуючих потужностей недостатньо, і витрачає місяць на збільшення потужності свого Центр Обробки Даних або на переписування додатки з урахуванням масштабованості. Друга компанія в цьому випадку лише збільшує орендовані потужності. До того моменту поки перша компанія перепише сервіс або наростить потужність обладнання, друга переманить у неї нових клієнтів.
Для вирішення проблеми складності програмних систем свого часу була запропонована ідея повторного використання коду, що отримала розвиток у двох напрямках - підпрограми (процедури і функції) та об'єкти.
Спочатку ця ідея реалізувалася у вигляді статичних бібліотек, потім виникла необхідність динамічно оновлювати об'єкти - з'явилися DLL і компоненти (COM, збірки .NET), а з появою мереж знадобилося викликати компонент, фізично розміщений на іншому комп'ютері, Центр Обробки Даних для чого стали використовуватися протоколи типу RPC, DCOM або .NET Remoting для об'єктного взаємодії (див. рис. 1). У процесі стандартизації ідея викликати код по мережі трансформувалася в концепцію сервіс-орієнтованої архітектури (Service-Oriented SOA), що представляє, в кінцевому рахунку, звичайну абстракцію виклику коду по мережі. Найбільш важливою частиною SOA є незалежне розгортання сервісів. Якщо у випадку DLL треба бути готовим до динамічних змін версії і можливостей бібліотеки, то в разі SOA це явним чином закладено в архітектуру - викликаючи сервіс, ми не знаємо, як він реалізований і не можемо управляти його оновленнями.
Облако - це подальший розвиток ідей компонентного підходу, якщо мова йде про серверної частини додатків, то однією з можливих платформ можуть бути сервери, розташовані не в локальному ЦОД компанії, а в хмарі, з якої можна орендувати потужності. [20]
ІТ-індустрія сьогодні вже сформулювала визначення «хмарних» обчислень, а аналітики почали малювати райдужні перспективи, представляючи «хмарні» обчислення не як новий вид сервісу, а як об'єднання різних видів сервісів, для пропозиції яких потрібна одна інфраструктура - віддалений сервер для виконання додатки, за працездатність якого відповідає третя сторона. «Хмарні обчислення» (cloudcomputing) - концепція «обчислювальної хмари», згідно якої програми запускаються і видають результати роботи у вікно стандартного веб-браузера на локальному ПК, при цьому всі програми та їх дані, необхідні для роботи, знаходяться на віддаленому сервері в Інтернеті. «Хмари» об'єднують безліч областей ІТ, які раніше, маючи багато спільного, поділялися [21]. З «хмар» мається на увазі отримувати платформи для обчислень (сервери і віртуальні машини) або додатків, а також самі додатки, що доставляються в рамках концепції SaaS. Робота «хмари» забезпечується якимсь комплексом апаратних і програмних засобів - операційною системою «хмари» (ОСО), яка підтримує роботу з клієнтом, спираючись на мережу великих центрів зберігання і обробки даних.
1.2 Основні напрямки розвитку хмарних обчислень
Чотири основних напрямки розвитку хмарних обчислень є Internet-сервіси, IaaS, PaaS і SaaS. [24]
Деякі продукти безпосередньо надають користувачам такі Internet-сервіси, як системи зберігання, програмне забезпечення проміжного шару, підтримка спільної роботи і бази даних.
IaaS (InfrastructureasaService) - інфраструктура як сервіс.Аренда сервера/кластеру та плата за використані ресурси. [26] Тут найбільш широкі можливості для творчості - можливий вибір ОС, необхідних сервісів і написання кінцевих додатків. Це найдорожчий варіант, але зате є повна свобода дій. Типові представники: Amazon EC2, GoGrid, ElasticHosts та ін.
PaaS (PlatformasaService) - платформакаксервіс.Логіческое продовження IaaS, але вже є ОС, певний набір ПО і все це вже налаштовано. Не потрібно вникати глибоко в надра всієї системи, тому вже надано якийсь набір API для роботи. Цей варіант набагато дешевше попереднього, але все одно необхідно писати додаток. Оплачуються тільки витрачені ресурси. Підходить гнітючому числу розробників. Типові приклади: GoogleAppEngine, WindowsAzure, AptanaCloud. (Softwareas a Service) - програмне забезпечення як сервіс. Готове додаток для кінцевих користувачів. Варіантів оплати величезна безліч - за ресурси, перегляд реклами, абонентська пл...