Самоорганизующаяся сервисная инфраструктура
Чего мы хотели
• SOA, DevOps во все поля, стильно, модно, молодёжно
• меньше накладных расходов на эксплуатацию — время и деньги
• и постараться не нанимать админов
docker.com
https://gist.github.com/ramm/4e18b106ba2f3bf1c0b2a07122f867e7
--bridge=<…> --fixed-cidr=<…>
consul.io
Ссылки про запуск нескольких процессов
• http://skarnet.org/software/s6/
• https://github.com/just-containers/s6-overlay
• http://supervisord.org
• https://github.com/Yelp/dumb-init
• Или вообще http://phusion.github.io/baseimage-docker/
а снаружи?
• (ссылку?)
Ссылки про проксирование наружу
• https://github.com/hashicorp/consul-template
• https://github.com/movableink/doorman
• https://github.com/devopsftw/vergilius
• (оно сильно WIP, но вы можете спросить)
но иногда всё же пуризм
• (ссылку?)
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (Точка)
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (Точка)
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (Точка)
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (Точка)

Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (Точка)

Editor's Notes

  • #3 бэкстори: большой интернет-магазин один админ, который уволился aws, с которого надо съезжать (дорого) монолит
  • #5 Докер, потому что нежная любовь, был опыт, и вообще слабоумие и отвага
  • #6 Сейчас, уже лучше, но тогда… внешние плагины, врапперы, вот это всё. Но тут же бридж! А что если.
  • #8 консул в режиме сервера на каждой хостовой машине service discovery! proud consul users since 0.6.x
  • #9 религиозная война тупоконечников и остроконечников один процесс в контейнере или нет для нас — нет, даже наоборот это МНОГОЕ УПРОЩАЕТ
  • #10 Сфоткайте, ну и или потом скачайте презентацию Гемор с PID=1, zombie reaping и всё это. Оно решено.
  • #11 не только сервис дискавери, но и сервис АНДИСКАВЕРИ хелсчеки это важно, делайте много, начинайте с простых и усложняйте не закладывайтесь на то, что мёртвых начнут откидывать в приложении не рассказывать тут про витрину! ИТОГО: машины, контейнеры, сеть, сервисы в контейнерах регистрируются и видят друг друга
  • #12 показывать наружу — consul-templates и теги сервисов, аутентификация до проксирования (dmz, doorman), letsencrypt, здоровое приложение, которое делает в целом то же самое, что consul-templates. Но это такой же (ну почти) сервис, как и любой другой, написанный внутри. :)
  • #13 Сфоткайте, ну и или потом скачайте презентацию
  • #14 продолжение войны - контейнеры как расходный материал, а значит теряют state. нет volume’ам, простая сеть — можно ставить “классически”. или отважно как мы (кролик, redis, галера)
  • #15 rolling updates — простая штука, если у тебя есть serice discovery, хелсчеки и возможность остановить контейнер в любой момент пример с накатыванием витрины мониторинг (И АЛЕРТИНГ) тоже описан внутри контейнера мониторинг — TICK, Kapacitor прямо в контейнере
  • #16 swarm. а чо swarm — просто запускалка и —restart-condition/-delay можно было самим написать
  • #17 стейджинги и CI — в том же кластере, на тех же машинах, потому что можем
  • #18 зачем тогда мезос и кубер? универсальное решение (у нас такой задачи не стояло) многие проблемы можно решить на уровне соглашений понятный сервис для разработчиков должен быть простым