Облачные платформы: Облачные вычисления — Википедия – Облачные вычисления, краткий обзор или статья для начальника / Habr

Содержание

Обзор платформ для построения облаков / Habr

Наверное всем уже надоели эти самые облака, но вкратце остановимся на том какие они бывают если кто-то не знает. В зависимости от модели развертывания они бывают:

  • private cloud
  • public cloud
  • hybrid cloud

Более подробно можно прочитать тут.
В зависимости от модели обслуживания:

Так вот мы с вами сегодня будем говорить о платформах для построения именно IaaS облаков. Поехали!

Cloudstack 3.0.0

Описание

Cloudstack — это консоль управления вычислительными ресурсами вашего датацентра. На этой платформе построили свои облака такие крупные компании как Zynga, Nokia Research Center, Cloudcentral и другие. Развитие проекта осуществляется компанией Citrix. У платформы есть свое API, которое позволяет настраивать и интегрировать платформу с имеющейся инфраструктурой, а с помощью переходника CloudBridge Amazon EC2 можно конвертировать Amazon API в Cloudstack API. Полный список команд поддерживаемых переходником можно найти тут. Основные особенности платформы:

  • Hypervisors Agnostic (KVM, XEN, ESXi, OVM, BareMetal)
  • Roles
  • Virtual network
  • Resource pool
  • Snapshots and volumes
  • Virtual routers, firewall and load balancer
  • Live Migration with host maintenance

При работе с гипервизором ESXi платформа использует vCenter API. Таким образом, внедрение платформы в имеющуюся инфраструктуру построенной на VMware пройдет легко.

Стоимость

Самое приятное, что на данный момент Cloudstack бесплатный и распространяется под лицензией GNU Public License Version 3. Если вас интересует платная поддержка, то за информацией нужно обратится к разработчикам через email.

Сообщество

Во время установки платформы может возникнуть много проблем. Попробовать решить их можно обратившись с вопросом к сообществу. На форуме обсуждают много вопросов и помогают решить их. Есть канал в IRC, в котором также можно задать вопросы.

Документация

Наверное, достаточно важным элементом во всех продуктах является документация. Она определяет, насколько легким будет вход пользователя в эту технологию. Чем проще и понятнее документация, тем больше шансов, что платформу сможет установить любой заинтересовавшийся человек. Если у вас есть определенный background, то вы без проблем проведете простую инсталляцию платформы, для ознакомления этого достаточно. Более сложная инсталляция и планирование архитектуры будет занимать много времени, в документации не все особенность раскрыты. Документация сделана в стиле step by step и не описывает, как платформа работает. Часть знаний придет к вам только после реального использования платформы.

Опыт

Базовая установка и настройка. Использование VMware кластеров и kvm кластеров. В качестве операционной системы использовалась CentOS 6.2. Успешно подключали наше облако к консоли управления от Rightscale. При использовании CentOS 6 версии могут возникнуть проблемы при запуске libvirtd. Для решения этих проблем нужно в /etc/cgconfig.conf добавить:

group virt {

cpu {

cpu.shares = 9216;

}

}

После этого делаем /etc/init.d/cgconfig restart и пробуем запускать libvirtd.

Так же могут возникнуть проблемы с работой консоли через сайт. Одна из проблема это то что на хостах vnc server работает на 127.0.0.1 адресе. Для проверки запускаем:

netstat -nlp | grep kvm

tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 11673/qemu-kvm

tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 11872/qemu-kvm

tcp 0 0 0.0.0.0:5902 0.0.0.0:* LISTEN 15227/qemu-kvm

tcp 0 0 0.0.0.0:5903 0.0.0.0:* LISTEN 12587/qemu-kvm

Если у вас после выполнения этой команды есть адрес 127.0.0.1, то нужно в файле /etc/libvirt/qemu.conf раскомментировать строчку:

vnc_listen = "0.0.0.0"

и перезапустить виртуальные машины.

Выводы

Очень интересная консоль управления облаками. Отличный функционал, бесплатная и быстро развивается. Можно внедрять ее в реальную инфраструктуру, но если у нас используются только гипервизоры ESXi, то лучшим вариантом будет vCloud Director.

Eucalyptus Open Source 2.0.3

Описание

Eucalyptus — еще одна платформа для построения облаков. Свои Private Cloud, построили на этой платформе, такие крупные компании как: Sony, Puma, NASA, Trend micro и другие. Существуют 2 редакции Eucalyptus: платная и бесплатная. В этих версия очень сильно отличается функционал. Основным достоинством, которое Eucalyptus пытается донести до пользователей, это то, что его API полностью совместимо с Amazon API. То есть, все скрипты и программы, которые работают с Amazon API, могут быть использованы и для вашего облака, построенного на Eucalyptus платформе. Eucalyptus поддерживает 3 гипервизора: XEN, KVM, ESXi. Последний (ESXi) поддерживается только в Enterprise версии.
Основные достоинства:

  • Roles
  • Hypervisor agnostic
  • Clustering and Zonning
  • Flexible Network Management, Security Groups, Traffic Isolation
Стоимость

Как я уже выше писал, есть бесплатная и платная версия. Eucalyptus open source и Ecalyptus Enterprise Cloud. Различия между версиями можно посмотреть тут

Сообщество

Оценить сообщество данного продукта мне не удалось. Все установилось без особых проблем.

Документация

У продукта есть документация по инсталляции, но она не раскрывает все аспекты. Предполагается, что у человека есть большой background. Настройки самой виртуализации вообще нет. При установке более сложной конфигурации документация не поможет, стоит полагаться только на свою компетентность.

Опыт

Установка, настройка по документации. В качестве операционной системы для контроллера облака использовалась CentOS 5.5, операционной системой для хоста была выбрана CentOS 5.5 с гипервизором XEN. Также подключили наше облако к Rightscale. Как таковой консоли управления нет, поэтому приходится либо управлять с помощью euca2tools или подключать в RightScale. Хотя, в платной версии есть своя консоль управления. При установке возникли следующие проблемы:
1) При установке некоторых зависимостей по очереди, они отказались устанавливаться. Решением проблемы была установка зависимостей в один заход.

rpm -Uvh python25-2.5.1-bashton1.x86_64.rpm

error: Failed dependencies:

libpython2.5.so.1.0()(64bit) is needed by python25-2.5.1-bashton1.x86_64

Решение:

rpm -Uvh python25-2.5.1-bashton1.x86_64.rpm python25-devel-2.5.1-bashton1.x86_64.rpm python25-libs-2.5.1-bashton1.x86_64.rpm

2) После установке платформы при запуске контроллера могут возникнуть такие ошибки:

/etc/init.d/eucalyptus-cc start

Starting Eucalyptus cluster controller:

Enabling IP forwarding(13)Permission denied: make_sock: could not bind to address [::]:8774

(13)Permission denied: make_sock: could not bind to address 0.0.0.0:8774

no listening sockets available, shutting down

Unable to open logs

Failed to start the CC!

Для решения проблемы нужно выключить Selinux.

3) Если у вас нет достаточно большого опыта работы с XEN, то могут возникнуть проблемы с его использованием. Нужно после установке XEN в /etc/grub/menu.lst поправить default=1 -> default=0 чтобы загрузилось ядро с XEN.

4) Так же в CentOS, надо создавать группу libvirt и добавлять туда пользователя, от которого работает eucalyptus.

Выводы

Сыровато как-то. Бесплатная версия не особо активно развивается. Есть свои проблемы. Возможно в коммерческой версии все намного лучше. Во время исследования платформ, мы делали запрос на триал версию коммерческого продукта, но оценить функционал коммерческой версии не удалось.

vCloud Director 1.5

Описание

vCloud Director платформа для построения облаков от VMware. Если вся ваша инфраструктура, построена на продукта VMware, то внедрение vCloud Director будет идеальным решение. vCloud Director позволяет строить действительно гибридные облака. С помощью VMware vCloud Connector вы можете мигрировать свои виртуальные машины между своим public облаком и private облаком. Основные особенности:

  • Virtual Datacenters
  • vShield Security Technologies
  • Infrastructure Service Catalog
  • Multi-tenant Organizations
  • Self-service Portal
  • VMware vCloud API, Open Virtualization Format, and Callouts
Стоимость

Платная. Для того чтобы узнать примерную цену пакета, который вам подойдет, нужно связываться с региональными менеджерами.

Сообщество

Из-за того, что VMware является лидером рынка у него прекрасное сообщество. Отличная поддержка в виде knowledge base. Не стоит забывать и про платную поддержку и поддержку после покупки продуктов у компании VMware.

Документация

У платных продуктов всегда хорошая документация. И как показала практика, если следовать ей, то установка пройдет без проблем.

Опыт

Установка и настройка vCloud Director. Для установки самого vCloud Director нужен Red Hat. Также есть компоненты, без которых vCloud Director не установится:
— vCenter (with clusters and DRS)
— vShield
Не сложно догадаться, что vCloud Director используется vCenter API. Соответственно мы получаем с вами всю функциональность vSphere если строим свое облако с помощью vCloud Director.

Выводы

Основным минусом является то, что она платная, но если у вас уже используется виртуализация от VMware, то для вас идеальным вариантом будет vCloud Director.

Openstack 2011.3

Описание

Openstack 2011.3 – платформа c открытыми исходными кодами для построения облаков. В проект Openstack входит 3 продукта: Nova (аналог Amazon EC2), Swift (аналог Amazon S3), Glance (сервис для предоставления образов). В нашем сравнении мы будем рассматривать только Nova, но стоит обратить внимание на Swift — продукт в своем роде уникальный и многие продукты делают интеграцию с ним (Cloudstack 3). На данный момент, Nova поддерживает на достойном уровне 2 гипервизора: KVM и XEN. Платформа быстро развивается и обещает большой функционал. Имеет за собой огромное сообщество и поддержку со стороны таких корпораций как: Cisco, Dell, NASA, Intel, AMD, Citrix, Rackspace, Rightscale. Основным ядром Openstack стал продут Nebula, разработанный NASA. Основные особенности:

  • Manage virtualized commodity server resources
  • Manage Local Area Networks
  • Virtual Machine (VM) image management
  • Security Groups
  • Role Based Access Control
  • Projects & Quotas
  • VNC Proxy through web browser
Стоимость

Продукт является полностью бесплатным, с открытыми исходными кодами, но не стоит забывать про помощь сообществу в развитии продукта.

Сообщество

По моему мнению у Openstack, из всех нами рассматриваемых платформ, самое большое и активное сообщество. Из-за того что продукт активно развивается с ним много проблем и очень часто люди помогают решить эти проблемы.

Документация

С документацией у Openstack есть проблемы. Из-за быстрого развития продукта, документация просто не успевает обновляться. Многих важных вещей нет и приходится узнавать это на форумах или в IRC.

Опыт

Базовая установка и настройка Nova, keystone, dashboard. Для виртуализации мы использовали KVM.

Выводы

Платформа бесплатная и быстро развивается, но еще слишком сырая. Для внедрения ее в реальную инфраструктуру нужна команда Python разработчиков, которые доведут ее до ума. Если у вас есть какие-то наработки для Amazon, то совместимость с Amazon API поможет вам. В инкубаторе проекта есть Openstack Dashboard, который не всегда предоставляет 100% функционал из-за переделывания API.

Сводная таблица по основным возможностям продуктов

Облака как любовь / Nexign corporate blog / Habr

Что такое облака, и когда имеет смысл строить облачные решения? И если строить, то какие платформы использовать? Нужно ли предоставлять клиентам облачные сервисы? А может, лучше использовать виртуализацию? И чем отличается виртуализация от облаков? Эти вопросы задают все IT и «не IT» компании: от крупных операторов связи до небольших стартапов. Давайте попробуем разобраться! В предыдущей статье мы рассмотрели понятия SDN и NFV. Возникает вопрос — если и то и другое связано с виртуализацией и сетями, то это получились облака? Ведь все мы прекрасно знаем, что облака — это виртуализация ресурсов где-то в сети. Я попробовал найти формальное определение облаков, но не нашел. Определения были расплывчаты и нечетки, как настоящие облака. И тогда у меня возникло чувство, что ОБЛАКАМ невозможно дать четкого определения, они как ЛЮБОВЬ, которую можно только описывать и характеризовать с разных сторон. Дальнейшее расследование подтвердило это предположение. Для начала нашел стандарт Cloud Computing, который разрабатывает NIST (National Institute of Standards and Technology). Он выделяет 3 измерения облачных сервисов:

Облака

Т.е. четкого определения облака нет даже в стандарте. Рассмотрим подробнее все измерения:

Модель обслуживания или сервисная модель

Следующие понятия наверняка все слышали:

  • IaaS (Infrastructure as a Service) — поставщик предоставляет только вычислительные ресурсы (servers, storage, processing, memory, network bandwidth). При этом может предоставляться набор подготовленных образов OS, которые разворачиваются за несколько минут. Также предоставляется сетевая связность между виртуальными машинами и дополнительные дисковые ресурсы. Отдельной частью IaaS является MaaS (Metal as a Service) — предоставление доступа к голому железу без OS (bare-metal servers). Пример поставщика IaaS: AWS. Платформы для построения IaaS: VMware, OpenStack, Azure.
  • PaaS (Platform as a Service) — поставщик предоставляет операционную систему и определенный софт для самостоятельной реализации заказчиком своих услуг, например, DB, CMS. Примеры: OpenShift, Heroku, Google Cloud Platform, Cloud Foundry.
  • SaaS (Software as a Service) — поставщик предоставляет софт для использования заказчиком, например: Microsoft Office 365, Microsoft Exchange, 1C и т.п.

Есть мнение, что настоящие облака это только PaaS и SaaS, но стандарт это мнение не подтверждает.

Модель развертывания

Теперь про модели развертывания, которые тоже на слуху:

  • Private cloud (Частное облако) — инфраструктура разворачивается внутри организации, тем самым обеспечивается безопасность и производительность.
  • Public cloud (Публичное облако) — инфраструктура предназначена для предоставления услуг сторонним заказчикам. Например, AWS, Google Cloud. Преимущества тут очевидны: не нужен обслуживающий персонал, быстрорасширяемые ресурсы, платишь только за то, что потребил (часы, гигабайты), возможность сосредоточится на идее или бизнесе, а не на обслуживании инфраструктуры. Хорошо подходят для быстрого развертывания небольших систем, для организации стартапов.
  • Community cloud (Общественное облако) — инфраструктура разделяется между несколькими организациями со схожими концепциями потребления ресурсов, политиками в безопасности и т.п. Потребителей меньше чем в публичном облаке, но больше чем в частном. Пример: Google Apps for Government.
  • Hybrid cloud (Гибридное облако) — это комбинация из двух или более различных облачных инфраструктур (частных, публичных или общественных). Среди гибридных облаков есть интересные кейсы использования, например: внутри частного облака организация хранит всю необходимую актуальную информацию, а резервные копии прозрачно отправляются в публичное облако.

Функциональные характеристики

А вот на функциональные характеристики облаков зачастую не обращают внимание, тогда как для облаков это неотъемлемые требования:

  • Broad Access Network — возможность доступа к ресурсам из Интернета с помощью разнообразных устройств.
  • Rapid Elasticity — эластичность ресурсов. При необходимости быстрое выделение дополнительных ресурсов, вплоть до бесконечности.
  • Measured Services — автоматическое измерение услуг и выставление счетов для оплаты.
  • On-Demand Self Services, Resource Pooling — выделение вычислительных ресурсов (resource pooling) по запросу от заказчиков (on demand).

Получается, чтобы Сервис имел право называться облачным, нужно уметь ответить на вопрос «Где он находится по всем трем измерениям?».

Обратная сторона облаков

Но при всех преимуществах облаков существует ряд моментов, которые могут иметь негативные последствия, особенно в публичных облаках:

  • Облаком сравнительно легко управлять, но обновление софта влияет на тысячи пользователей, что потенциально может привести к серьезным авариям
  • В публичных облаках большие конфигурации не всегда дешевле, надо считать TCO
  • Возникает несколько вопросов к безопасности в публичных облаках:

  1. Как обрабатываются конфиденциальные данные?
  2. Соблюдены ли требования регулятора к персональным данным?
  3. Насколько надежна сохранность данных (дублирование, бекапирование)?
  4. Какая защита от хакерских атак?

Это все, конечно, не повод отказаться от использования облаков, а причина более тщательно разобраться в плюсах и минусах.

Виртуализация

Теперь несколько слов про виртуализацию, без которой не может быть облаков. У виртуализации также есть несколько измерений, которые условно можно назвать «Тип» и «Способ виртуализации».

Я кратко рассажу обо всех. Для более глубокого погружения в тему рекомендую статью «Обзор методов виртуализации, архитектур и реализаций»

Типы виртуализации

Виртуализация серверов

  • Обычно под виртуализацией подразумевается размещение нескольких виртуальных серверов в рамках одного физического
  • Но может еще быть объединение нескольких физических серверов в один логический для решения определенной задачи
  • Распределенность + виртуализация = GRID системы

Виртуализация ресурсов

Ресурсы — это оперативная память, жесткие диски, процессоры. Они также могут быть нарезаны и розданы по частям разным пользователям.

Виртуализация приложений

Виртуализация приложений — это то, что мы уже знаем как PaaS и SaaS

Способы виртуализации

Полная виртуализация и паравиртуализация

Основные методы виртуализации — это полная виртуализация и паравиртуализация. Схема обоих методов очень похожа. Есть гипервизор и виртуальные машины с гостевыми OS. При полной виртуализации в гостевую OS не вносятся никакие изменения. При паравиртуализации устанавливаются оптимизированные образы для определенного гипервизора. Это позволяет максимально использовать аппаратные ресурсы и не требует никаких изменений от приложений. Примером системы, реализующей полную виртуализацию, является VMware, пример паравиртуализации — Xen и KVM.

Еще выделяют несколько способов виртуализации:

Виртуализация уровня операционной системы

Особенностью является, что гостевая OS может быть только одна. Примером виртуализации на уровне OS является Linux-VServer:

Контейнеризация

В последнее время все больше используются системы контейнеризации, такие как Docker или Kubernetes. Они позволяют автоматически разворачивать подготовленные образы OS в основном для целей автоматического тестирования и для систем CI. Контейнеры очень похожи на виртуальные машины, но для них не требуется гипервизор, а только соответствующий движок:

Эмуляция оборудования

При этом способе виртуализации VM полностью эмулирует работу определенного оборудования. С одной стороны, это дает возможность, например, на одном процессоре эмулировать другой тип процессора. С другой стороны, понятно, что при этом будет замедление работы в десятки раз. Пример эмулятора — это Bochs.

Эмуляция библиотек OS

И для полноты картины добавлю эмуляцию библиотек. Это способ, при котором эмулируется не вся OS, а только часть. Например, Wine в Linux — эмуляция библиотек для Windows-приложений.

Получается, что мы можем виртуализировать разные системы разными методами. Т.е. видим, что существующими способами и типами виртуализации можно решить множество задач. Возникает логичный вопрос, когда же имеет смысл разворачивать облачную платформу?

Облачные платформы располагаются над набором виртуальных машин, полностью изолируют приложение как от железа, так и от структуры виртуальной среды. Облачные платформы используются для автоматичеcкого и ручного scale in / scale out, запуска / остановки / конфигурирования VM и приложений. Когда имеет смысл оставаться в виртуализации, а когда оставаться в облаке? Концепция следующая: когда всего много — облако, мало — виртуализация:

  • Для задач с большим числом виртуальных серверов — лучше облако, для задач с 10-20 виртуалками можно не разворачивать облачную платформу.
  • Если требуется постоянно менять конфигурацию ресурсов — облако.
  • Много пользователей, данных, клиентов — облако.

Несколько слов про платформы для построения облаков. Информации по ним масса, поэтому приведу только сухую выжимку:

Платформы для построения облаков

Для построения облаков сейчас есть две основные платформы, остальные (Eucalyptus, Cloudstack, Microsoft Azure) занимают несущественную долю.

  • VMware — платформа vSphere. VMware собрала огромное количество технологий, ведет разработку собственной версии OpenStack.
  • OpenStack — образовался в 2010 году, является комплексом проектов свободного программного обеспечения, который может быть использован для создания инфраструктурных облачных сервисов и облачных хранилищ. Организация OpenStack Foundation (2012) насчитывает более чем 1000 организаций и более 30 000 участников. Основные поставщики стека: Mirantis, RedHat, HP.

Облачные платформы обычно используются заказчиками для реализации следующих задач:

  • Работа с часто меняющейся конфигурацией железа, о чем мы говорили выше.
  • Предоставление интернет-услуг и другие сетевые приложения. Приложения должны быть «Cloud Ready».
  • Telco Cloud (они же SDN & NFV).
  • Сбор, хранение, обработка BigData.

Подробно остановиться на этих задачах и на «Cloud Ready» приложениях планирую в одной из следующих статей.

Операторы связи и облака

Интересно понять, есть ли облака у мобильных операторов связи? Предоставляют ли они облачные сервисы? Из открытых источников картина получается следующая:

Билайн

Из облачных услуг предоставляет:

  • PaaS: Виртуальный хостинг
  • SaaS: Microsoft Office 365

МегаФон

Есть следы в сети, что в 2013 году МегаФон предоставлял IaaS. Сейчас на сайте из похожего можно найти услугу Colocation. Вместе с тем у МегаФона появилась масса специализированных услуг: CDN, M2M, WiFi авторизация, VPN и т.п.

МТС

МТС предоставляет облачные услуги под маркой «Белорусские облачные технологии».

  • IaaS в виде доступа к своему «CloudServer»
  • PaaS: SiteBuilder
  • SaaS: Microsoft Exchange, Microsoft Lync 2013

РТК / Tele2

Tele2 не замечен в попытках продвигать облака, а вот РТК, мобильные активы которого находятся в совместном холдинге с Tele2 (Т2 РТК Холдинг) развернулся серьезно. РТК сделал «Национальную облачную платформу» и теперь на ее базе предоставляет:

  • IaaS: Виртуальные ЦОД-ы
  • SaaS: 1С, Виртуальный офиc


Из полученных данных можно сделать вывод, что для мобильных операторов связи предоставление облачных сервисов не является приоритетной задачей, они больше сосредоточены на развитии своих сетей и сервисов. К операторам связи нужно обращаться за сетевыми услугами, такими как: виртуальная АТС, виртуальная сеть, М2М и вообще за всем тем, что может предоставляться на SDN & NFV технологиях: виртуальные Firewall, DPI и т.п. А за вычислительными облаками лучше идти к специализированным провайдерам.

Следующие статьи

  • SDN & NFV и при чем тут Облака
  • Облака как любовь
  • Интерфейсы и функциональные блоки NFV
  • Платформы для построения облаков и Cloud Ready Applications
  • Производители и кейсы использования SDN и NFV
  • Готовим NFV в домашних условиях
  • BigData и NFV — есть ли связь?

API Облачных сервисов — следующий этап в развитии PaaS. Как экономить больше используя облачные платформы

Наверное, про облачные платформы не слышали только люди далекие от ИТ. Бытует мнение, что облачные платформы в недалеком будущем станут раем для приложений, и рано или поздно почти все приложения будут жить «на небесах».

Под словосочетанием «облачная платформа» зачастую объединяют разные отличные друг от друга технические решения. В данной статье мы классифицируем облачные платформы по архитектуре и решаемой ими проблеме.

В статье, хочется донести мысль о том, на каких именно ресурсах можно сэкономить на порядки больше при разработке приложений, какого типа платформы нацелены на создание приложений быстрее и с меньшими затратами.

Также, в конце статьи, будет описан ряд особенностей облачной платформы, которая развивается совместными усилиями специалистов из России и Украины.

В основном, платформы разделяют на три группы, относительно уровня виртуализации:

  • Облачные хостинги
  • Облачные контейнеры
  • Облачные сервисы

Облачные хостинги

Данный вид платформ решает проблему управления ресурсами на уровне операционной системы. Позволяют развернуть приложения практически любой архитектуры. Решают задачу динамического выделения ресурсов на основе виртуализации операционной системы.
Эта группа платформ появилась раньше всех и существует относительно давно, технические решения имеют отлаженные и отработанные механизмы.

Представители: Amazon EC2, Azure, Scalaxy, Clodo

Облачные контейнеры

Решают задачу динамического выделения ресурсов на уровне веб-сервера. Позволяют развернуть приложения ограничивая выбор языка программирования (ЯП), иногда, частично ограничивают набор функциональных возможностей конкретного ЯП.
Эта группа появилась немного позже предыдущей. Техническое решение облачных контейнеров в основном строится поверх облачных хостингов, но это скрыто от разработчиков на уровне контейнера веб-сервера.

Представители: GAE, Heroku

Облачные сервисы

Помимо организации эффективного потребления ресурсов, облачные сервисы в первую очередь предназначены для решение принципиально другого вопроса, а именно для решения проблем большой длительности, сложности и дороговизны разработки. Технически облачные сервисы обычно реализовываются поверх облачных контейнеров или облачных хостингов, и в своей основе содержат принцип виртуализации приложений внутри платформы.
Разработка приложений на базе облачных сервисов максимально ориентирована на использование API готового набора сервисов.
На данный момент это последний уровень абстракции облачных платформ. В качестве отдельного класса, подобные платформы, появились относительно недавно.

Представители: GAE Services, Oracle Service Bus, LongJump, Saleforces Service Cloud, Hivext Cloud Platform

Облачные сервисы предоставляющие API

Давайте проанализируем причины появления третьей группы платформ, а именно облачных сервисов, как отдельного класса.

Первая и вторая группы предназначены, в первую очередь, для снятия с разработчиков заботы про инфраструктуру приложения. За счет этого можно экономить на администрировании приложений и на расходе ресурсов: платить приблизительно только за то, что реально используешь по ресурсам.

Однако, расходы на администрирование и на ресурсы приложений это далеко не самая затратная часть в ИТ. Наверно, каждый заказчик приложений знает о том, что именно дороже всего обходится при создании и функционировании его приложения. Самая расходная статья это зарплата сотрудников, а если конкретнее, это зарплата программистов и менеджеров. Чем обширнее проект — тем больше необходимо программистов, чем сложнее его уровень — тем выше уровень подготовки и знаний требуется этих же программистов.


Исходя из вышесказанного, очевидно что экономить больше, особенно на этапе прототипирования, создания нового продукта, прощупывания своей бизнес модели нужно не на ресурсах. Пока проект доживает до момента, когда необходимо экономить на ресурсах тратятся десятки, сотни тысяч килобаксов. Проект может и не дожить до релиза потратив кучу времени и денег на реализацию своей бизнес идеи.

Вот именно поэтому стали появляться облачные платформы с наборами готовых сервисов, которые нацелены в первую очередь на уменьшение расходов на самом процессе разработки приложений.

Конечно, именно эта же проблема решается с помощью использования разносторонних отдельных готовых наработок и библиотек. Их на данный момент набралось привеликое множество в разных областях разработки ПО. Если проанализировать как развивается процесс эволюции техник программирования и самих ЯП, можно явно выделить переходы от низких до более высоких уровней абстракции. На данный момент выделяют 5 поколений ЯП. Каждое новое поколение поглощает количественные наработки предыдущего поколения и содержит наиболее важные, проверенные и отработанные методики и алгоритмы из ранних поколений. Другими словами, создание средств, техник и самих ЯП для разработки приложений прямо подчиняется закону «Переход количества в качество».

В данный момент, подобная же ситуация происходит в развитии обширного набора библиотек и наработок. Из них выбираются наиболее зарекомендовавшие себя и ложатся в основу следующего уровня — в основу облачных сервисов.

Сервисно ориентированное программирование

Данный подход к программированию возник не вчера. Относительно давно существует SOAP и на его базе WebServices с WSDL. Пару лет назад про WebServices говорили также много как сейчас про облачные вычисления. Сегодня различные платформы и сайты предоставляют свои API по разным протоколам. Это является качественным продолжением парадигмы SOA и WebServices.

Экосистема облачных сервисов, в общем случае, это сочетание всех сервисов и функций, к которым может получить доступ ваше приложение, запущенное на определенной облачной платформе. Платформа предоставляет эти сервисы и управляет ими, гарантируя высокий коэффициент доступности, малое время отклика, эффективное распределение ресурсов между общими и выделенными ресурсами и т.д. Прелесть таких сервисов в том, что развернутые приложения могут рассчитывать на них и получать доступ к ним посредством заданного интерфейса. Сервисы такого типа бывают как стандартными, вроде таблиц и баз данных, так и более сложными – системы авторизации пользователей, обработки платежей и т.д.

Сегодня активно используется multi-cloud подход — формирования логических цепочек вызовов сервисов разных облачных платформ.

Интересы участников процесса разработки приложений

  • Разработчик будет определенно заинтересован в широком наборе сервисов, доступных его приложению. Поэтому он отдаст предпочтение платформе с бόльшим набором полезных и качественно реализованных сервисов. Разработчики могут сфокусироваться на логике работы своих приложений и воспользоваться предлагаемыми платформой сервисами в качестве поддержки. Для разработчика хорошая облачная платформа будет выглядеть как контейнер для унаследованного приложения, взращенный на стероидах.
  • Чем большее число сервисов предлагает платформа, тем меньше сервисов нужно будет разрабатывать самим. Для операторов это означает, что в процессе эксплуатации платформы они будут тратить меньше времени и сил на внедрение, управление и наблюдение. Следовательно, они смогут сконцентрироваться на основной цели: приложениях, необходимых предприятию.
  • Для руководителей несомненным плюсом платформы с богатым набором сервисов будет увеличение эффективности работы предприятия. Даже с точки зрения разработчика или оператора очевидно, что развитая облачная платформа позволяет разным участникам проекта в большей степени концентрироваться на разработке основных, а не вспомогательных элементов. Такой подход может стать основой для трансформации организации, тратящей много времени и сил лишь на поддержание рабочего состояния инфраструктуры, в гибкую, подвижную группу, действующую на опережение.

Сервисно ориентированная архитектура Hivext Cloud Platform

При большом количестве разных библиотек и фреймворков сложность разработки приложений остается довольно высокой. Даже, для реализации прототипа и проверки бизнес-идеи разработчик сталкивается с необходимостью разработки большого количества сопутствующих задач не связанных с основной идеей приложения. К таким задачам, прежде всего, относятся: настройка серверных решений (WebServer, DB, ORM и др.), реализация модели безопасности (авторизация пользователей, раздача прав доступа, контроль целостности данных, другие), файловое хранилище. В реальности, это только вершина айсберга задач, которые мало связанны с бизнес идеей самого приложения, но требуют выделения ресурсов для их решения.

В центре идеи Hivext лежит таже парадигма SOA. Однако, имеется ряд особенностей, которые являются ключевыми:

  1. наличие большого набора сервисов, расширяемого разработчиками приложений
  2. наличие сервисной шины, которая удобно их объединяет
  3. наличие клиентских библиотек для всех сервисов и для разных ЯП, которые скрывают работу с сервисами за понятными классами и удобными методами
  4. характеристики облачного хостинга — автоматическое получение дополнительных вычислительных ресурсов по требованию

Hivext предоставляет сервисы для разработчиков с целью улучшения процесса разработки приложений, более эффективного использования ресурсов — время, деньги, знания. Из предоставляемого набора сервисов создатели приложений могут реализовывать уже свои сервисы для конечных потребителей, которые гармонично интегрируются в экосистему общих сервисов платформы.

К тому же, Hivext обладает рядом отличительных характеристик

  • разработка прямо в облаке, без деплоя — проблема деплоя решена — его вообще нет

    компиляция происходит прямо на серверах платформы, изменения кода сразу же после сохранения скрипта отражаются на результатах работы
  • скриптовая направленность — стимулирует к написанию небольших кусков кода логики, разработка приложений сводится к написанию небольших скриптов
  • мультиязычность — клиентская и серверная;

    — серверную логику можно расширять используя синтаксис разных языков программирования (на данный момент Java, server JS, PHP), причем во все языки программирования можно внедрять классы созданные на Java или вызывать любой скрипт разных ЯП используя сервис скриптинга

    — на клиенте предлагаются SDK для работы с платформой на разных ЯП (j2me, j2se, javascript, PHP, ActionScript/Flash/Flex, Qt)
  • удобно работать разными командами над одним проектом — сшивание результатов на уровне описанных стандартизированных сервисов, работа с разными приложениями как будто с одним и тем же приложением используя все теже сервисы

Сегодня официально опубликован список финалистов Зворыкинского проекта (государственная программа Федерального агенства по делам молодежи), в который прошел проект Hivext Cloud Platform. Благодарим всех, кто верит в наши силы и поддерживает наш проект советом или делом!

Постскриптум

Обобщим преимущества Облачных сервисов предоставляющих API

  • значительно упрощают жизнь разработчикам, вместо того чтобы развивать все с нуля, они могут воспользоваться API сервисов и получить быстрый доступ к большой функциональности
  • ускоряют цикл разработки
  • делают приложения максимально расширяемыми, с богатым набором функций по умолчанию
  • помогают кооперировать с другими поставщиками услуг и сервисов
  • помогают в интеграции и взаимодействии с другими приложениями, написанными стороними разработчиками на этой же платформе
  • помогают в управлении безопасностью приложения
  • предлагают набор инструментов для аналитики работы приложения
  • предполагают по умолчанию наличие эластичности и масштабирования приложения

Сегодня, вероятно, большинство участников рынка не воспринимает облачные сервисы как отличительную черту предлагаемых провайдерами PaaS-решений. Это вполне объяснимое положение вещей для данного момента времени, свидетельствующее о незрелости рынка облачных вычислений. Скорее всего, уже в ближайшее время предлагаемые платформами сервисы получат большее внимание со стороны всех участников ИТ-проектов.

Ссылки на материал, используемый во время написания статьи

PaaS Is The Future Of Cloud Services: APIs Are The Key
PaaS-решения: экосистема сервисов приложений

Картинки найдены в Google.

Мифы о SaaS, облачных платформах и облачных вычислениях / Habr

Термин «Облачные вычисления» или SaaS (Soft as a Service, ПО как услуга) появился относительно недавно, но быстро набирает популярность. Сама идея аутсорсинга вычислений (то есть размещение их на удаленном сервере вместо компьютера пользователя), не нова, использовалась давно и никто не сомневается в ее эффективности.

Но тем не менее, многие испытывают явное недоверие по отношению к онлайн-продуктам, основанным на SaaS-платформах, и предпочитают популярные коробочные решения. Например, мой товарищ в свое время долго колебался, что выбрать — 1С или Sugar CRM.

Консерватизм возобладал, и он приобрел 1С. В результате через два года, побывав в Силиконовой Долине и увидев возможности Shugar CRM, которая стремительно развивается и сейчас подошла бы ему гораздо лучше, очень пожалел о принятом в свое время недальновидном решении.

Что же мешает компаниям уже сейчас использовать все преимущества SaaS-платформ, повышать свои прибыли и экономить средства?

SaaS-платформы предназначены для малого бизнеса, а не для крупных компаний

Конечно, для небольшой компании SaaS-платформа это прежде всего возможность получить профессиональное решение по гораздо более низкой цене. Но низкая стоимость обусловлена не слабостью функционала, а бизнес-моделью SaaS.

Более низкая стоимость SaaS-решений по сравнению с коробочными у многих подсознательно асоциируется со слабостью. Все привыкли, что чем дороже продукт, тем он лучше и мощнее, и наоборот. А между тем, именно крупные компании могут получить самую большую экономию, используя SaaS-платформу.

Судите сами. Допустим, небольшому печатному салону нужен сайт. Если заказать сайт у веб-студии, придется заплатить $400, а если использовать SaaS-решение для создания сайта, ежегодный платеж составит около $100 за аналогичный сайт. Таким образом, через 4 года печатный салон потратит те же деньги, как если бы он заказывал сайт в студии.

Совсем другая ситуация в крупной компании, имеющей несколько десятков или даже сотен рабочих мест, на каждом из которых необходимо разместить коробочное лицензионное ПО (например, тот же 1С или Парус). Кроме оплаты первоначальных лицензий, необходимо оплачивать постоянные апгрейды системы, обучение сотрудников, устранение неполадок.

Использование SaaS-платформы может в этом случае принести огромную экономию средств (срок окупаемости может составлять уже не 4 года, а десятки, если не сотни лет) и позволит значительно ускорить внедрение и обновление системы в целом.

Не стоит забывать и о том, что при использовании SaaS деньги не выводятся из оборота, а значит приносят дополнительную прибыль. SааS-решение — это всегда самая актуальная версия ПО, его обслуживают сторонние инженеры, и пользователям это не стоит ни копейки дополнительных затрат.

SaaS-решения уступают коробочным

Одним из огромных преимуществ облачных SaaS-решений в любой области является как раз легкость их обновления и совершенствования. Ядро системы, расположенное на удаленном сервере, постоянно обновляется разработчиками, и все пользователи мгновенно получают доступ ко всем новым возможностям.

Не нужно устанавливать патчи и обновления на свой компьютер, ждать выхода новых версий программ — пользователи SaaS-платформы всегда пользуются самой последней версией продукта.

SaaS-платформа находится неизвестно где

Действительно, все привыкли — вот диск, там Photoshop, установил и работаешь! Диск можно пощупать, посмотреть на его обложку, а программа располагается на компьютере пользователя, ее можно найти в Проводнике и убедиться в этом.

А SaaS-решение располагается непонятно где, нет никаких дисков, нечего пощупать. И никаких лицензий, и не надо ничего ставить на свой компьютер.

Но ведь и сайт, расположенный на сервере у провайдера, не располагается на компьютере пользователя. И ничего, никто не боится и не переживает по этому поводу.

SaaS в этом случае ничем не отличается от обычного сайта. SaaS-провайдер владеет только своим решением, а весь контент принадлежит клиенту и как правило, может быть в любой момент экспортирован в любом удобном формате.

SaaS-платформы открыты, и пользоваться ими небезопасно

Возможность подключения к SaaS-платформе множества пользователей часто вызывает опасения. Размещение ПО на собственном компьютере создает иллюзию защищенности, в то время как на самом деле уязвимость как раз гораздо выше именно в этом случае. Ведь взломанная программа может содержать в себе троян или бэкдор, который уже находится на компьютере пользователя! И может делать с ним все, что угодно, вплоть до форматирования жесткого диска.

В то же время SaaS-решение размещается на удаленном защищенном сервере, и доступа к исходным кодам нет ни у кого из пользователей, поэтому вероятность взлома на порядок ниже. Пользователи имеют доступ только к терминалу, и им нет необходимости размещать какой бы то ни было код на своем компьютере.

Защита информации гораздо слабее именно в тех компаниях, которые хранят ее у себя, ведь любой обиженный или просто «засланный» сотрудник может просто вынести все конфиденциальные данные на обычной флешке, или украсть пароли (по статистике, именно так и происходит обычно утечка информации, а вовсе не в результате действий виртуозных хакеров из кино).

Облачные платформы: динамика развития | iot.ru Новости Интернета вещей

1. Определение


Облачные платформы – платформы для облачных вычислений, представляющие собой готовое программное и аппаратное обеспечение, сдающееся в аренду через Интернет для развертывания, разработки, тестирования своих приложений. 

2. История создания и развития


Идея создания облачных платформ была сформирована еще во времена появления Интернета, однако первая облачная платформа появилась только в 2006 году под названием «Amazon Web Services» (хотя предоставлять доступ к вычислительным ресурсам через Интернет компания начала еще в 2002 году). Именно в 2006 Amazon предложила более 50 различных услуг в 14 географических регионах. 


Следующей крупной платформой стала система Microsoft Azure, появившаяся в 2010 (сейчас занимает второе почетное место по количеству пользователей и предоставляемых услуг после Amazon). В 2011 в мире был представлен третий крупный игрок на рынке облачных вычислений — Google Cloud Platform. Через год после этого началось активное создание новых платформ и сервисов от различных компаний, и как следствие снижение цен на аренду платформ. Были созданы такие сервисы как: i-Teco OpenStack Cloud, Cloud OS от Azure, Jelastic для PHP и Java приложений и другие.


Сегодня облачные платформы как никогда пользуются популярностью. Основными преимуществами использования облачных платформ является быстрота создания новых приложений, гибкость и масштабируемость системы. В топ-10 самых известных и используемых облачных платформ входят: Amazon Web Services, Azure от Microsoft, Google App Engine, Rackspace, Force.com от компании Salesforce, Intuit Partner Platform, Facebook, IBM Cloud, VMWare vCloud, Sharepoint Online.

3. Технические характеристики


При использовании облачных платформ о стороны клиентов необходима только организация рабочего места (компьютер/ноутбук/планшет) причем вне зависимости от местоположения. Единственным условием является наличие выхода в Интернет. Клиент (пользователь облачных платформ) занимается только администрированием собственных приложений, ПО. 


За все остальные аспекты, а это: администрирование баз данных, виртуализация, сетевое и серверное оборудование, администрирование операционных систем, обслуживание инфраструктуры дата-центра – отвечает поставщик облачной платформы, часто называемый облачным провайдером.  Кроме того, помимо платформы для запуска приложений облачная платформа предлагает еще аренду облачного хранилища и поддержку таких технологий как машинное обучение, искусственный интеллект, Big Data.


Для обеспечения безопасности чаще всего используется отдельный VPN и адрес в сети, собственный брандмауэр, гибкие настройки DNS.


Цена за аренду облачной платформы обычно складывается из платы за вычислительные мощности (включая обслуживание оборудования), стоимости лицензии, используемого программного обеспечения/ операционной системы/ систем виртуализации и т.д. и платы за услуги облачного провайдера как поставщика облачной платформы. 

4. Кейсы применения


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

5.

Облачные платформы (PaaS): платформенные сервисы и технологии

Среда разработки

Платформенные сервисы как услуга наиболее востребованы у разработчиков приложений. ITGLOBAL.COM предлагает готовые инструменты для организации полного цикла разработки — сборки, тестирования, развертывания, управления, мониторинга и обновления кода. Заказчику не приходится думать о выстраивании архитектуры, совместимости оборудования и ПО, приобретении лицензий и т. д. Облачные технологии PaaS позволяют работать над одним проектом географически распределенной команде разработчиков.

Облачное хранилище S3

Платформенный онлайн-сервис Amazon S3 предназначен для хранения и обработки данных любых объемов и любого типа. S3 включает инструменты для управления разрозненными данными, аналитики big data, резервного копирования, архивации, внесения изменений в метаданные. Для защиты применяются политики ограничения доступа и шифрование.

In-Memory вычисления

Производительные In-Memory платформы — такие, как SAP HANA и Oracle Database In-Memory, предназначены для быстрой работы аналитических и транзакционных приложений. Сервис ITG Scale Cloud позволяет арендовать многопроцессорные машины с объемом ОЗУ до 32 ТБ. Конфигурацию серверов можно быстро менять, варьируя количество ядер и размер оперативной памяти под конкретные проекты.

Хостинг приложений

Услуга облачного хостинга платформ SAP HANA и SAP Hybris помогает бизнесу расширить набор SAP-решений и оптимизировать затраты на них. ITGLOBAL.COM обеспечивает функционирование инфраструктуры, масштабирование и быстрый запуск проекта.

Desktop as a Service

Модель Desktop as a Service (DaaS) — подвид PaaS, виртуальные рабочие места (VDI), к которым можно подключаться удаленно с десктопов или мобильных устройств. На VDI можно устанавливать любой прикладной софт, в зависимости от задач сотрудника. Услуга реализуется с помощью технологий VMware View и Citrix XenDesktop.

PaaS в гибридном облаке

Вариант PaaS в гибридной облачной модели интересен тем, кто работает с исходным кодом только в собственном репозитории. Приложение создается локально, после чего загружается на PaaS-платформу с поддержкой соответствующего языка — и эксплуатируется уже на инфраструктуре провайдера.

Облачные платформы (PaaS): платформенные сервисы и технологии

Среда разработки

Платформенные сервисы как услуга наиболее востребованы у разработчиков приложений. ITGLOBAL.COM предлагает готовые инструменты для организации полного цикла разработки — сборки, тестирования, развертывания, управления, мониторинга и обновления кода. Заказчику не приходится думать о выстраивании архитектуры, совместимости оборудования и ПО, приобретении лицензий и т. д. Облачные технологии PaaS позволяют работать над одним проектом географически распределенной команде разработчиков.

Облачное хранилище S3

Платформенный онлайн-сервис Amazon S3 предназначен для хранения и обработки данных любых объемов и любого типа. S3 включает инструменты для управления разрозненными данными, аналитики big data, резервного копирования, архивации, внесения изменений в метаданные. Для защиты применяются политики ограничения доступа и шифрование.

In-Memory вычисления

Производительные In-Memory платформы — такие, как SAP HANA и Oracle Database In-Memory, предназначены для быстрой работы аналитических и транзакционных приложений. Сервис ITG Scale Cloud позволяет арендовать многопроцессорные машины с объемом ОЗУ до 32 ТБ. Конфигурацию серверов можно быстро менять, варьируя количество ядер и размер оперативной памяти под конкретные проекты.

Хостинг приложений

Услуга облачного хостинга платформ SAP HANA и SAP Hybris помогает бизнесу расширить набор SAP-решений и оптимизировать затраты на них. ITGLOBAL.COM обеспечивает функционирование инфраструктуры, масштабирование и быстрый запуск проекта.

Desktop as a Service

Модель Desktop as a Service (DaaS) — подвид PaaS, виртуальные рабочие места (VDI), к которым можно подключаться удаленно с десктопов или мобильных устройств. На VDI можно устанавливать любой прикладной софт, в зависимости от задач сотрудника. Услуга реализуется с помощью технологий VMware View и Citrix XenDesktop.

PaaS в гибридном облаке

Вариант PaaS в гибридной облачной модели интересен тем, кто работает с исходным кодом только в собственном репозитории. Приложение создается локально, после чего загружается на PaaS-платформу с поддержкой соответствующего языка — и эксплуатируется уже на инфраструктуре провайдера.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *