Кокаин (PaaS)

редактировать
Кокаин
Cocaine PaaS.jpg
Разработчик (и) Андрей Сибирёв и команда Яндекс
Первый выпуск20 марта 2011 г.; 9 лет назад (2011-03-20)
Написано наC ++
Тип Веб-разработка
Веб-сайтgithub.com / cocaine

Кокаин (Интегрированный сетевой движок настраиваемых всевозможных пользовательских приложений) - это система с открытым исходным кодом PaaS для создания пользовательских приложений облачного хостинга, похожих на Bluemix, Google App Engine или Heroku. Таким образом, уже реализовано несколько служб, в том числе служба определения региона или языка пользователя, служба доступа к хранилищу MongoDB и сборщик URL.

Содержание
  • 1 История
  • 2 Архитектура
  • 3 Применение технологии
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
История

Андрей Сибирьёв, оригинальный разработчик Cocaine, позаимствовал идею у Heroku, еще одна облачная платформа как услуга. В то время Heroku поддерживала только приложения, разработанные на Ruby. Используя Heroku, разработчик мог создать приложение Ruby и отправить его в облако, в то время как Heroku решал проблемы с инфраструктурой и балансировкой нагрузки. Однако Сибирьёва не устроила документация для Heroku, поэтому он решил создать собственное решение PaaS.

Изначально «Кокаин» был личным проектом Сибирёва. Однако это изменилось, когда Яндекс обнаружил внутреннюю потребность в масштабируемой платформе, которая могла бы справляться с миллионами запросов в секунду (RPS). Этим целям служил кокаин. Теперь Cocaine используется в инфраструктуре Yandex.

Архитектура

Облако состоит из одной или нескольких независимых машин, на которых установлен сервер Cocaine (Cocained). Пользователи ничего не знают о местоположении служб, к которым они обращаются - им доступны только адрес балансировщика нагрузки и имя приложения. Запросы пользователей отправляются на балансировщик нагрузки, который передает их в облако. В облаке для каждого запроса выбирается оптимальная машина, а затем запрос выполняется. Детали инфраструктуры и настройки среды приложения также скрыты от разработчика. Разработчику нужно только отправить код в облако и написать специальный манифест для выполнения кода. Нет необходимости настраивать что-либо еще, например базы данных, хранилища значений ключей или HTTP-клиентов. Для этого существуют службы, которые с точки зрения программиста являются собственными модулями для языка программирования, на котором написан код. Например, служба Storage позволяет пользователям получить доступ к хранилищу Elliptics, а служба Uatraits использует данные о пользовательском агенте клиента и его заголовках HTTP для определения характеристик устройства, отправившего запрос.

Применение технологии

В облаке приложения могут быть написаны на различных языках программирования (C, C ++, Go, JavaScript, Python, Ruby и другие) и фреймворки (Node.js ). Кокаин, связанный с веб-сервером, обеспечивает автоматически масштабируемую среду развертывания для веб-приложений. Облако обрабатывает большие объемы информации благодаря интерфейсу потокового обмена данными. Cocaine реализует отказоустойчивую и высокопроизводительную передачу сообщений и событий по шине. Используя балансировщик нагрузки, пользователь может создавать системы, реагирующие на действия пользователя. Приложения в облаке запускаются независимо друг от друга. Это позволяет поддерживать несколько версий одного и того же приложения и настраивать «мягкую миграцию» для перехода пользователей к обновленным версиям продуктов. Приложения могут быть протестированы в облаке в изолированной среде. Таким образом, программные ошибки не повлияют на физическую систему или другие приложения.

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-15 13:22:26
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте