Upload
yandex
View
1.665
Download
4
Embed Size (px)
DESCRIPTION
Облачные технологии решают многие инфраструктурные проблемы эксплуатации, например, масштабирование, отказоустойчивость, балансировка нагрузки. В то же время не все готовы доверить свои приложения и данные сторонней компании, предоставляющей облачную инфраструктуру. Разрубить гордиев узел поможет Cocaine — технология, позволяющая построить своё собственное, приватное облако даже на обычном десктопе. Это технология, абсолютно открытая для каждого из вас. Благодаря Cocaine вы получаете балансировку на основе IPVS, динамическое определение доступности элементов облака и многое другое, можете создать взаимодействие между приложениями и сервисами, написанными на разных языках. Использование связки Node.js и Cocaine продемонстрировано в рамках доклада Владимира Гриненко «Своё веб-приложение в облаке — просто и удобно».
Citation preview
Cocaine - приватное облако, где «все включено»
Антон Тюринразработчик облачной платформы
Я.Субботник, Минск, 31 августа
Кокаин — это облачная платформа
Про Cocaine
• Yet another Conference 2012 bit.ly/YaC2012
• Я.Субботник в Санкт-Петербурге bit.ly/YaSubb-011212
• Я.Субботник в Санкт-Петербурге bit.ly/17mtJau
Модули
• По умолчанию файловая система• Для серъёзных облаков elliptics
Хранение кода приложений
Поддержка языков
• Node.js• Python• Ruby• Java
Обычно поддерживают
• Запускаем любой исполняемый файл • Ожидаем взаимодействия
C точки зрения платформы
• Node.js• C++• Python• Go• Java
Есть фреймворки
Протокол
• Сервисы, приложения, ядро - общаются по одному протоколу• Простой - состоит из 7 команд• Поддерживает стриминг• Имеет много общего с HTTP 2.0
Взаимодействие
Event-driven
• Клиентский код за пределами облака• Приложение внутри облака• Различные драйверы (ZeroMQ, таймеры)• HTTP- интерфейс• Все, что угодно
Event emitters
Сервисы
• К общим компонентам простой доступ• Геолокация, логирование, определение модели телефона, хранение данных, ...• Не надо писать биндинг в каждый язык
Сервисы
Логирование
• По умолчанию пишутся в syslog• Для серъёзных облаков - logstash
Логи в 21 веке
Логи в 21 веке
Балансировка
Типичная схемапользователи (HTTP, C++, Python)
Cocaine IPVS
Cocaine Apps #1 Cocaine Apps #2сломано
Cocaine Apps #3
• IPVS• RR• любая другая, нужно только написать плагин
Умеем
• позволяет задавать веса• различные алгоритмы балансировки (11)• TCP/UDP• по одному IP адресу доступны несколько сервисов
IPVS
Изоляция
• Процесс• CGroups• Docker (https://www.docker.io)
Изоляция
• приложение запускается внутри контейнера• свое окружение всегда с собой• ФС организована слоями• можно менять окружение, комбинируя слои
Docker
Как попробовать
• Vagrant bit.ly/cocaine-Vagrant
• deb и rpm пакеты repo.reverbrain.com
• Git-репозиторий bit.ly/iwantcoke
Раздача слонов