Кокаин (PaaS) - Cocaine (PaaS)

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

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

История

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

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

Архитектура

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

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

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

Смотрите также

Рекомендации

  1. ^ "кокаиновые документы". Получено 8 мая 2017.
  2. ^ "Большой запуск". Получено 8 мая 2017.
  3. ^ «Официальная документация Яндекса». Архивировано из оригинал в 2014-02-19. Получено 2014-02-25.

внешняя ссылка