Transcript
Page 1: Антон Тюрин — Cocaine — приватное облако, где все включено

Cocaine - приватное облако, где «все включено»

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

Я.Субботник, Минск, 31 августа

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

Кокаин — это облачная платформа

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

Про Cocaine

• Yet another Conference 2012 bit.ly/YaC2012

• Я.Субботник в Санкт-Петербурге bit.ly/YaSubb-011212

• Я.Субботник в Санкт-Петербурге bit.ly/17mtJau

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

Модули

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

• По умолчанию файловая система• Для серъёзных облаков elliptics

Хранение кода приложений

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

Поддержка языков

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

• Node.js• Python• Ruby• Java

Обычно поддерживают

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

• Запускаем любой исполняемый файл • Ожидаем взаимодействия

C точки зрения платформы

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

• Node.js• C++• Python• Go• Java

Есть фреймворки

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

Протокол

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

• Сервисы, приложения, ядро - общаются по одному протоколу• Простой - состоит из 7 команд• Поддерживает стриминг• Имеет много общего с HTTP 2.0

Взаимодействие

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

Event-driven

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

• Клиентский код за пределами облака• Приложение внутри облака• Различные драйверы (ZeroMQ, таймеры)• HTTP- интерфейс• Все, что угодно

Event emitters

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

Сервисы

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

• К общим компонентам простой доступ• Геолокация, логирование, определение модели телефона, хранение данных, ...• Не надо писать биндинг в каждый язык

Сервисы

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

Логирование

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

• По умолчанию пишутся в syslog• Для серъёзных облаков - logstash

Логи в 21 веке

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

Логи в 21 веке

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

Балансировка

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

Типичная схемапользователи (HTTP, C++, Python)

Cocaine IPVS

Cocaine Apps #1 Cocaine Apps #2сломано

Cocaine Apps #3

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

• IPVS• RR• любая другая, нужно только написать плагин

Умеем

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

• позволяет задавать веса• различные алгоритмы балансировки (11)• TCP/UDP• по одному IP адресу доступны несколько сервисов

IPVS

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

Изоляция

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

• Процесс• CGroups• Docker (https://www.docker.io)

Изоляция

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

• приложение запускается внутри контейнера• свое окружение всегда с собой• ФС организована слоями• можно менять окружение, комбинируя слои

Docker

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

Как попробовать

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

• Vagrant bit.ly/cocaine-Vagrant

• deb и rpm пакеты repo.reverbrain.com

• Git-репозиторий bit.ly/iwantcoke

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

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

[email protected]@Noxi0uz

Спасибо

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

Антон Тюрин