Облачные вычисления – вычисления проводимые в готовой инфраструктуре к которой есть доступ через сеть. Инфраструктура может состоять из тысяч, сотен тысяч вычислительных узлов, дисковых массивов. Все это соединено в единую сеть и функционирует как одна большая вычислительная машина. Все настроено и доступно из «коробки».
Развитие облачных вычислений ведет к созданию больших абстрактных компьютеров, в которых:
«Я бы сравнил облачные вычисления с натуральным хозяйством и супермаркетом. Есть люди, которые сами выращивают фрукты и овощи, сами себе шьют ботинки, одежду и т.д. – наверняка делают это с удовольствием и точно уверены в качестве своей продукции. А есть вариант как у нас с вами: люди где-то работают, получают зарплату, едут в супермаркет и покупают то, что им нужно. Так и с cloud computing. Зачастую при прочих равных экономически выгоднее получить услугу на стороне. Специализация, разделение труда и массовое производство – модели экономически более эффективные».
Облачные вычисления включают три определения IaaS, PaaS и SaaS.
Описание простыми словами
IaaS – инфраструктура как сервис (аренда серверов, оплата по факту использованных ресурсов), настройка начинается с выбора операционной системы и заканчивается программированием необходимых сервисов. Это можно сравнить с покупкой недостроенного дома без внутренней отделки. До конечного решения вам придется вложить больше ресурсов, чем при использовании PaaS. Целевая аудитория разработчики ПО.
PaaS – платформа как сервис (IaaS + специальная программная платформа), инфраструктура настроена, операционные системы уже стоят и работают, программная платформа стоит, работает, управляет балансировкой и шардингом данных, предоставляет удобный API. Аналогия — достроенный дом, окна и двери есть, газ, вода. Вам придется вешать свои люстры, клеить обои, покупать кухонную утварь, прочее. Целевая аудитория разработчики ПО. При наличии удобных визуальных сред это могут быть пользователи далекие от программирования.
На самом деле PaaS это серьезный шаг вперед. Это можно сравнить с первым появлением операционных систем под персональные компьютеры.
SaaS – приложение как сервис (оплата за время использования приложения). Целевая аудитория конечные потребители.
Есть мнение что можно перетащить все существующее программное обеспечение в облако и запускать там. Представьте что ваши провода от монитора мышки и клавиатуры идут в какой то далекий дата центр, где крутится это ПО. А пользователь получает тонкий клиент (терминал) в свое использование. Нажимая на кнопку клавиатуры или мышки данные уходят сразу в ДЦ, а там выполняется само ПО и отдает клиенту готовую картинку. Лично я согласен только с тонким терминалом и не считаю этот путь верным потому что:
По оси X основные направления облачных вычислений, размер блоков = потенциальному числу целевой аудитории. Горизонтальное перекрывание блоков показывает как сильно на решение повлияла та или иная концепция.
По оси Y слева порог вхождения – совокупный фактор, учитывающий готовые сервисы, стандартизацию обращения к сервисам из разных языков программирования, целостность архитектуры, простоту использования модулей третьих лиц (3rd party), инструменты разработки созданные на базе PaaS.
Решения на которые повлияла концепция IaaS
Amazon WS, GoGrid, ElasticHosts, FlexiScale, RackspaceCloud, Joyent, Enomaly, ElasticGrid.
Решения на которые повлияла концепция PaaS
Hivext Platform, Google AppEngine, Microsoft Azure Platform, Aptana Cloud, Engine Yard, Grid Gain, CodeRun.
Развитие облачных вычислений способно породить мощные программные платформы по типу платформ существующих операционных систем. Только вот потенциал развития облачных платформ намного больше платформ операционных систем для персональных компьютеров.
Представьте что есть «бесконечная» в своих ресурсах машина с доступом из любой точки мира, и стабильностью, которая не снилась ни одному PC в мире. Для работы с ней вы используете тонкие клиенты (планшетные устройства, телефоны, терминалы в общественных местах). Стоимость портативных устройств стремительно падает, а возможности растут и обгоняют desktop системы за счет использования облачных платформ и роста скорости передачи данных по сети.
Возможности, доступные раньше только крупным институтам и бизнесу приходят к простым пользователям, как когда то пришли персональные компьютеры.
А вы, согласны с этим?
Развитие облачных вычислений ведет к созданию больших абстрактных компьютеров, в которых:
- Все составные части используются на полную мощность – утилизация простаивающих ресурсов. При количестве серверов тысячи, десятки и тем более сотни тысяч, затраты на простаивающие сервера вырастут прилично и станет не рационально использование облачных вычислений. Поэтому развивается виртуализация, когда на одну машину ставится несколько операционных систем. Виртуализацией управляют гипервизоры, специальное ПО обеспечивающее работу и распределение ресурсов нескольких операционных систем.
- Высокая степень параллелизма
Вычисления. Если на локальной машине ваши потоки могут выполняться параллельно, при наличии 2 и более ядер или процессоров. То в облаке вы сможете запускать 100, 1000 и более потоков, они смогут выполняться на отдельных серверах (если это конечно реализовал провайдер облачных услуг). Что это даст? Скорость выполнения скриптов перестанет иметь значение, там где задачу можно распараллелить, используйте несколько потоков, их можно использовать даже при рендеринге веб страниц.
Данные. Распределенное хранение значительно надежнее хранения в одной точке. Такие хранилища могут сберечь данные и после ядерной войны или гибели континента, за счет географического разнесения.
- Единая инфраструктура для разработки приложений под облако. Вы используете высокоуровневый API, где операционная система под покрывалом новой программной прослойки и передает привет BIOS. Вы используете ресурсы «бесконечной» машины вот и все.
«Я бы сравнил облачные вычисления с натуральным хозяйством и супермаркетом. Есть люди, которые сами выращивают фрукты и овощи, сами себе шьют ботинки, одежду и т.д. – наверняка делают это с удовольствием и точно уверены в качестве своей продукции. А есть вариант как у нас с вами: люди где-то работают, получают зарплату, едут в супермаркет и покупают то, что им нужно. Так и с cloud computing. Зачастую при прочих равных экономически выгоднее получить услугу на стороне. Специализация, разделение труда и массовое производство – модели экономически более эффективные».
Три кита
Облачные вычисления включают три определения IaaS, PaaS и SaaS.
Описание простыми словами
IaaS – инфраструктура как сервис (аренда серверов, оплата по факту использованных ресурсов), настройка начинается с выбора операционной системы и заканчивается программированием необходимых сервисов. Это можно сравнить с покупкой недостроенного дома без внутренней отделки. До конечного решения вам придется вложить больше ресурсов, чем при использовании PaaS. Целевая аудитория разработчики ПО.
PaaS – платформа как сервис (IaaS + специальная программная платформа), инфраструктура настроена, операционные системы уже стоят и работают, программная платформа стоит, работает, управляет балансировкой и шардингом данных, предоставляет удобный API. Аналогия — достроенный дом, окна и двери есть, газ, вода. Вам придется вешать свои люстры, клеить обои, покупать кухонную утварь, прочее. Целевая аудитория разработчики ПО. При наличии удобных визуальных сред это могут быть пользователи далекие от программирования.
На самом деле PaaS это серьезный шаг вперед. Это можно сравнить с первым появлением операционных систем под персональные компьютеры.
SaaS – приложение как сервис (оплата за время использования приложения). Целевая аудитория конечные потребители.
Что говорят про облака
Есть мнение что можно перетащить все существующее программное обеспечение в облако и запускать там. Представьте что ваши провода от монитора мышки и клавиатуры идут в какой то далекий дата центр, где крутится это ПО. А пользователь получает тонкий клиент (терминал) в свое использование. Нажимая на кнопку клавиатуры или мышки данные уходят сразу в ДЦ, а там выполняется само ПО и отдает клиенту готовую картинку. Лично я согласен только с тонким терминалом и не считаю этот путь верным потому что:
- Это очень просто и можно было бы сделать уже давно (для софта где время отклика не так важно);
- Существующий рынок программного обеспечения вырос на технологиях, развивающихся в изолированных средах персональных компьютеров. Перенос существующего ПО в облака только породит кучу «костылей»;
- Гипервизоры врятли обеспечат высокую степень утилизации простаивающих ресурсов при таком подходе.
«Если вы хотите использовать все пространство банки не загружайте ее камнями, раздробите их в песок».
Влияние концепций на облачные решения
По оси X основные направления облачных вычислений, размер блоков = потенциальному числу целевой аудитории. Горизонтальное перекрывание блоков показывает как сильно на решение повлияла та или иная концепция.
По оси Y слева порог вхождения – совокупный фактор, учитывающий готовые сервисы, стандартизацию обращения к сервисам из разных языков программирования, целостность архитектуры, простоту использования модулей третьих лиц (3rd party), инструменты разработки созданные на базе PaaS.
Решения на которые повлияла концепция IaaS
Amazon WS, GoGrid, ElasticHosts, FlexiScale, RackspaceCloud, Joyent, Enomaly, ElasticGrid.
Решения на которые повлияла концепция PaaS
Hivext Platform, Google AppEngine, Microsoft Azure Platform, Aptana Cloud, Engine Yard, Grid Gain, CodeRun.
Будущее облачных платформ
Развитие облачных вычислений способно породить мощные программные платформы по типу платформ существующих операционных систем. Только вот потенциал развития облачных платформ намного больше платформ операционных систем для персональных компьютеров.
Представьте что есть «бесконечная» в своих ресурсах машина с доступом из любой точки мира, и стабильностью, которая не снилась ни одному PC в мире. Для работы с ней вы используете тонкие клиенты (планшетные устройства, телефоны, терминалы в общественных местах). Стоимость портативных устройств стремительно падает, а возможности растут и обгоняют desktop системы за счет использования облачных платформ и роста скорости передачи данных по сети.
Возможности, доступные раньше только крупным институтам и бизнесу приходят к простым пользователям, как когда то пришли персональные компьютеры.
А вы, согласны с этим?