Антон Тюрин — Cocaine — приватное облако, где все...

Preview:

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

Раздача слонов

noxiouz@yandex.ru@Noxi0uz

Спасибо

Разработчик облачной платформы

Антон Тюрин

Recommended