Антон Тюрин — Облачная платформа cocaine — облако своими...
DESCRIPTION
Облачные технологии шагают вперед семимильными шагами, количество компаний, переносящих свои бизнес-приложения в облака, увеличивается. В тоже время не все готовы доверить свои приложения и данные сторонней компании, предоставляющей облачную инфраструктуру. В этом случае отличным решением будет использование нашей открытой облачной платформы Cocaine, которую вы можете развернуть сами. Платформа активно развивается, и мы хотим поделиться новыми интересными возможностями, которые в ней появились за последнее время. Например, рассказывая о сервисах, которые нужны практически каждому облачному приложению: о том, как пользоваться уже существующими и как написать свои.TRANSCRIPT
![Page 1: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/1.jpg)
Облачная платформа Cocaine - облако своими рукаим
Антон Тюринразработчик облачной платформы
четверг, 13 июня 13 г.
![Page 2: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/2.jpg)
Кокаин — это облачная платформачетверг, 13 июня 13 г.
![Page 3: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/3.jpg)
bit.ly/YaSubb-011212
Про Cocaine на Я.Субботникев Санкт-Петербурге в декабре 2012
Осторожно! С тех пор стало ещё лучше!
четверг, 13 июня 13 г.
![Page 4: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/4.jpg)
Неуправляемые платформы
четверг, 13 июня 13 г.
![Page 5: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/5.jpg)
+ Написать нужно только основную логику.
Неуправляемые платформы
четверг, 13 июня 13 г.
![Page 6: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/6.jpg)
+ Написать нужно только основную логику.+ Быстрая и дешёвая разработка.
Неуправляемые платформы
четверг, 13 июня 13 г.
![Page 7: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/7.jpg)
+ Написать нужно только основную логику.+ Быстрая и дешёвая разработка.– Ограничения в выборе инструментов.
Неуправляемые платформы
четверг, 13 июня 13 г.
![Page 8: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/8.jpg)
+ Написать нужно только основную логику.+ Быстрая и дешёвая разработка.– Ограничения в выборе инструментов.– Нет контроля за окружением.
Неуправляемые платформы
четверг, 13 июня 13 г.
![Page 9: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/9.jpg)
Управляемые платформы
четверг, 13 июня 13 г.
![Page 10: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/10.jpg)
Управляемые платформы
+ Можно запустить почти всё что угодно.
четверг, 13 июня 13 г.
![Page 11: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/11.jpg)
Управляемые платформы
+ Можно запустить почти всё что угодно.+ Полный контроль над окружением.
четверг, 13 июня 13 г.
![Page 12: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/12.jpg)
Управляемые платформы
+ Можно запустить почти всё что угодно.+ Полный контроль над окружением.– Нужно всё написать самому.
четверг, 13 июня 13 г.
![Page 13: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/13.jpg)
Управляемые платформы
+ Можно запустить почти всё что угодно.+ Полный контроль над окружением.– Нужно всё написать самому.– Полный цикл разработки.
четверг, 13 июня 13 г.
![Page 14: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/14.jpg)
Cocaine Frameworks
четверг, 13 июня 13 г.
![Page 15: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/15.jpg)
+ Асинхронный код.
Cocaine Frameworks
четверг, 13 июня 13 г.
![Page 16: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/16.jpg)
+ Асинхронный код.+ Грязная работа уже сделана.
Cocaine Frameworks
четверг, 13 июня 13 г.
![Page 17: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/17.jpg)
+ Асинхронный код.+ Грязная работа уже сделана.+ Поддерживается Python, Node.js, C++.
Cocaine Frameworks
четверг, 13 июня 13 г.
![Page 18: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/18.jpg)
+ Асинхронный код.+ Грязная работа уже сделана.+ Поддерживается Python, Node.js, C++.– Нужно адаптировать существующий код.
Cocaine Frameworks
четверг, 13 июня 13 г.
![Page 19: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/19.jpg)
Python#!/usr/bin/env python
from cocaine.worker import Worker
W = Worker() # Dispatcher object
def event_handler(request, response): req = yield request.read() # Read incoming data if "Hello!" in req: response.write("Hello, world!") # Send data chunk else: response.write("Please, say 'Hello' to me!") response.close()
W.run({"hello" : event_handler}) # Run event loop.
bit.ly/YaSubb-dummy
четверг, 13 июня 13 г.
![Page 20: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/20.jpg)
Node.js#!/usr/bin/env node
var Q = require("q")var co = require("..")var argv = require("optimist").argvvar mp = require("msgpack")var __assert = require("assert")var crypto = require("crypto")
var W
co.getServices([],function(){ var W = new co.Worker(argv) W.on("hash",function(stream){ var sha512 = crypto.createHash("sha512") var request stream.on("data",function(data){ request = data
sha512.update(data) }) stream.on("end",function(){ var d = sha512.digest("hex") stream.write( mp.pack({code:200, headers:[ ["content-type","text/plain"], ["content-length",""+(d.length+1)], ["x-by","worker"+argv.uuid]]})) stream.write(d+"\n") stream.end() }) }) W.on("_terminate",function(){ console.log("worker terminating") process.exit(0) })})
четверг, 13 июня 13 г.
![Page 21: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/21.jpg)
#include <fstream>#include <functional>#include <cocaine/framework/worker.hpp>#include <cocaine/framework/application.hpp>
using namespace cocaine::framework;
class AppProxy : public application<AppProxy>{ struct event_handler : public handler<AppProxy>, public std::enable_shared_from_this<event_handler> { event_handler(std::shared_ptr<AppProxy> a) : handler<AppProxy>(a) { } void on_chunk(const char *chunk, size_t size) { response()->write(chunk); response()->close(); } }; public: AppProxy(std::shared_ptr<service_manager_t> service_manager) : application<AppProxy>(service_manager) { } void initialize() { on<event_handler>("get"); }};
int main(int argc, char *argv[]){ cocaine::framework::worker_t::run<AppProxy>(argc, argv);}
С++
четверг, 13 июня 13 г.
![Page 22: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/22.jpg)
Драйверычетверг, 13 июня 13 г.
![Page 23: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/23.jpg)
Драйверы
четверг, 13 июня 13 г.
![Page 24: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/24.jpg)
• Обычно, приложения — event driven.
Драйверы
четверг, 13 июня 13 г.
![Page 25: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/25.jpg)
• Обычно, приложения — event driven.• И единственное событие — HTTP-запрос.
Драйверы
четверг, 13 июня 13 г.
![Page 26: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/26.jpg)
You app
Драйверы
timeoutTimer Driver
http-requestHTTP Driver
file-changedFilesystem Driver
Cocaine
четверг, 13 июня 13 г.
![Page 27: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/27.jpg)
You app
Драйверы
timeoutTimer Driver
http-requestHTTP Driver
Arduino Driver?
file-changedFilesystem Driver
Cocaine
четверг, 13 июня 13 г.
![Page 28: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/28.jpg)
You app
Драйверы
timeoutTimer Driver
http-requestHTTP Driver
wind-speedArduino Driver?
file-changedFilesystem Driver
Cocaine
четверг, 13 июня 13 г.
![Page 29: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/29.jpg)
{ "slave" : "dummy_with_drivers.py", "drivers" : { "A": { "type": "filesystem-monitor", "args": { "emit": "file_changed", "path": "/tmp/dummy-file" } },
"B": { "type": "time", "args": { "emit": "wakeup", "interval": 1000 } } }}
Configure drivers
четверг, 13 июня 13 г.
![Page 30: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/30.jpg)
Сервисычетверг, 13 июня 13 г.
![Page 31: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/31.jpg)
Сервисы
четверг, 13 июня 13 г.
![Page 32: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/32.jpg)
• К общим компонентам — общий доступ.
Сервисы
четверг, 13 июня 13 г.
![Page 33: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/33.jpg)
• К общим компонентам — общий доступ.• Геолокация, логирование, определение модели телефона, хранение данных, ...
Сервисы
четверг, 13 июня 13 г.
![Page 34: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/34.jpg)
• К общим компонентам — общий доступ.• Геолокация, логирование, определение модели телефона, хранение данных, ...• Для всех и без лишних задержек.
Сервисы
четверг, 13 июня 13 г.
![Page 35: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/35.jpg)
• К общим компонентам — общий доступ.• Геолокация, логирование, определение модели телефона, хранение данных, ...• Для всех и без лишних задержек.• Не надо писать биндинг в каждый язык
Сервисы
четверг, 13 июня 13 г.
![Page 36: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/36.jpg)
Сервисы
Geolocation
Logging
URL Fetching
MapReduce
RPCApp #1 WorkerApp #1 WorkerApp #2 WorkerApp #2 Worker
Cocaine
четверг, 13 июня 13 г.
![Page 37: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/37.jpg)
#!/usr/bin/env python
from cocaine.worker import Workerfrom cocaine.services import Service
storage = Service("storage")
def write_dummy(request, response): req = yield request.read() yield storage.write("dummy-namespace", "dummy-key",\ req , ["dummy-tag"]) dummy = yield storage.read("dummy-namespace", "dummy-key") response.write(dummy) response.close()
W = Worker()W.run({"write_dummy" : write_dummy})
Python bit.ly/YaSubb-cocaine-service
четверг, 13 июня 13 г.
![Page 38: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/38.jpg)
Протоколчетверг, 13 июня 13 г.
![Page 39: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/39.jpg)
Взаимодействие
четверг, 13 июня 13 г.
![Page 40: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/40.jpg)
• Сервисы, приложения, ядро - общаются по одному протоколу.
Взаимодействие
четверг, 13 июня 13 г.
![Page 41: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/41.jpg)
• Сервисы, приложения, ядро - общаются по одному протоколу.• Простой - состоит из 7 команд.
Взаимодействие
четверг, 13 июня 13 г.
![Page 42: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/42.jpg)
• Сервисы, приложения, ядро - общаются по одному протоколу.• Простой - состоит из 7 команд.• Поддерживает стриминг.
Взаимодействие
четверг, 13 июня 13 г.
![Page 43: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/43.jpg)
[1, 0, [ arg1, arg2 ]]
номер канала
код команды
специфичные для командыданные
четверг, 13 июня 13 г.
![Page 44: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/44.jpg)
Команды
• heartbeat• handshake• terminate• error• invoke• chunk• choke
четверг, 13 июня 13 г.
![Page 45: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/45.jpg)
Cocaine-Runtimeчетверг, 13 июня 13 г.
![Page 46: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/46.jpg)
Cocaine-Runtime
четверг, 13 июня 13 г.
![Page 47: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/47.jpg)
Cocaine-Runtime
• Управляет количеством воркеров
четверг, 13 июня 13 г.
![Page 48: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/48.jpg)
Cocaine-Runtime
• Управляет количеством воркеров• Запускает сервисы
четверг, 13 июня 13 г.
![Page 49: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/49.jpg)
Cocaine-Runtime
• Управляет количеством воркеров• Запускает сервисы• Собирает статистику о других runtime
четверг, 13 июня 13 г.
![Page 50: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/50.jpg)
Cocaine-Runtime
• Управляет количеством воркеров• Запускает сервисы• Собирает статистику о других runtime• Предоставляет локатор сервисов
четверг, 13 июня 13 г.
![Page 51: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/51.jpg)
Cocaine-Runtime
• Управляет количеством воркеров• Запускает сервисы• Собирает статистику о других runtime• Предоставляет локатор сервисов• Загружает драйверы
четверг, 13 июня 13 г.
![Page 52: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/52.jpg)
Cocaine-toolчетверг, 13 июня 13 г.
![Page 53: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/53.jpg)
Cocaine-tool
• Управление приложениями в облаке• Информация о состоянии облака• Для тех, кто не боится командной строки
четверг, 13 июня 13 г.
![Page 54: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/54.jpg)
service cocaine-runtime start
• Стартуют сервисы• Создаются сокеты для воркеров• Инициализируются данные для приложений
четверг, 13 июня 13 г.
![Page 55: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/55.jpg)
service cocaine-runtime start
CocaineRuntime
• Стартуют сервисы• Создаются сокеты для воркеров• Инициализируются данные для приложений
четверг, 13 июня 13 г.
![Page 56: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/56.jpg)
service cocaine-runtime start
CocaineRuntime
Service Node
Service Locator
Other services
• Стартуют сервисы• Создаются сокеты для воркеров• Инициализируются данные для приложений
четверг, 13 июня 13 г.
![Page 57: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/57.jpg)
service cocaine-runtime start
CocaineRuntime
UDS for appB
Service Node
Service Locator
Other services
• Стартуют сервисы• Создаются сокеты для воркеров• Инициализируются данные для приложений
четверг, 13 июня 13 г.
![Page 58: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/58.jpg)
service cocaine-runtime start
CocaineRuntime
UDS for appBUDS for appA
Service Node
Service Locator
Other services
• Стартуют сервисы• Создаются сокеты для воркеров• Инициализируются данные для приложений
четверг, 13 июня 13 г.
![Page 59: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/59.jpg)
Рождение
CocaineRuntimeUDS for appA UDS for appB
Service Node
Service Locator
Other services
• Запускает worker• Ждет handshake от worker’а• Worker стартует и шлет handshake
четверг, 13 июня 13 г.
![Page 60: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/60.jpg)
Рождение
CocaineRuntimeUDS for appA UDS for appB
Service Node
Service Locator
Other services
first event for appA
• Запускает worker• Ждет handshake от worker’а• Worker стартует и шлет handshake
четверг, 13 июня 13 г.
![Page 61: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/61.jpg)
Рождение
CocaineRuntimeUDS for appA UDS for appB
Service Node
Service Locator
Other services
first event for appA
workerfor A
fork & exec slave --uuid <uuid> --endpoint <UDS>
runtime ждет handshake
• Запускает worker• Ждет handshake от worker’а• Worker стартует и шлет handshake
четверг, 13 июня 13 г.
![Page 62: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/62.jpg)
Рождение
CocaineRuntimeUDS for appA UDS for appB
Service Node
Service Locator
Other services
first event for appA
handshakewith uuid
workerfor A
fork & exec slave --uuid <uuid> --endpoint <UDS>
runtime ждет handshake
• Запускает worker• Ждет handshake от worker’а• Worker стартует и шлет handshake
четверг, 13 июня 13 г.
![Page 63: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/63.jpg)
Сессия
CocaineRuntimeUDS for appA UDS for appB
Service Node
Service Locator
Other services
workerfor A
четверг, 13 июня 13 г.
![Page 64: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/64.jpg)
Сессия
CocaineRuntimeUDS for appA UDS for appB
Service Node
Service Locator
Other services
workerfor A
четверг, 13 июня 13 г.
![Page 65: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/65.jpg)
Сессия
CocaineRuntimeUDS for appA UDS for appB
Service Node
Service Locator
Other services
workerfor A
четверг, 13 июня 13 г.
![Page 66: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/66.jpg)
Сессия
CocaineRuntimeUDS for appA UDS for appB
Service Node
Service Locator
Other services
workerfor A
service endpoint
четверг, 13 июня 13 г.
![Page 67: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/67.jpg)
Сессия
CocaineRuntimeUDS for appA UDS for appB
Service Node
Service Locator
Other services
workerfor A
service endpoint
Service storageanother CR node
четверг, 13 июня 13 г.
![Page 68: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/68.jpg)
Сессия
CocaineRuntimeUDS for appA UDS for appB
Service Node
Service Locator
Other services
workerfor A
service endpoint
Service storageanother CR node
четверг, 13 июня 13 г.
![Page 69: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/69.jpg)
- Да, наверняка ничего не работает!- Сейчас покажу!
bitly.com/iwantcoke
четверг, 13 июня 13 г.
![Page 70: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/70.jpg)
Модуличетверг, 13 июня 13 г.
![Page 71: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/71.jpg)
Модули
четверг, 13 июня 13 г.
![Page 72: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/72.jpg)
• Всё, кроме ядра системы — подключаемые модули.
Модули
четверг, 13 июня 13 г.
![Page 73: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/73.jpg)
• Всё, кроме ядра системы — подключаемые модули.• Драйверы, изоляторы, сервисы, стораджи, системы логирования.
Модули
четверг, 13 июня 13 г.
![Page 74: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/74.jpg)
• Всё, кроме ядра системы — подключаемые модули.• Драйверы, изоляторы, сервисы, стораджи, системы логирования.• И их можно менять в рантайме.
Модули
четверг, 13 июня 13 г.
![Page 75: Антон Тюрин — Облачная платформа Cocaine — облако своими руками](https://reader033.vdocuments.mx/reader033/viewer/2022061605/556fdaddd8b42af8088b4cda/html5/thumbnails/75.jpg)
• Essentials• Blastbeat Driver• CGroups Isolation• MongoDB Storage• Elliptics Storage• URLFetch Service
Open Source
четверг, 13 июня 13 г.