Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)

393 views

Published on

Всем, кто сталкивался с запуском веб-сервисов, хорошо знакомы вопросы, возникающие при выпуске нового продукта:
- нужно создать вируталки/залить сервера;
- нужно обеспечить мониторинг сервиса;
- обеспечить zero-downtime обновление приложения;
- ... ещё 100500 разных задач.
Зачастую эти задачи решаются либо руками, либо различными связками систем управления конфигурацией и деплойментом.

Мы нашли способ, значительно сокративший время на запуск новых приложений — веб-платформа Deis. Она построена на Docker и CoreOS и представляет собой легковесный PaaS, похожий на Heroku. Подходы, используемые при работе с Deis, облегчают внедрение CD/CI, уменьшают разрыв между dev/stage и production окружениями, уменьшают время на поддержку приложений.

Мы поговорим о проблемах, перечисленных выше, о том, какой путь пройден нами до продакшна, и о том, какие проблемы Deis не решает.

Доклад будет полезен как для Ops, которым хочется автоматизировать типичные задачи вокруг деплоя/обновления веб-сервиса, так и для Dev, которые могут увидеть потенциальную возможность ускорения доставки багфиксов/фич на бой.

Published in: Engineering
  • Be the first to comment

Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)

  1. 1. Кит на службе у человека: microPaaS Deis Медведчиков Алексей. 2GIS
  2. 2. 2GIS
  3. 3. 35 команд
  4. 4. Отдел Infrastructure & Operations Управляем серверами Делаем доставку Помогаем с процессами
  5. 5. О чём
  6. 6. Платформа-как-сервис (PaaS) - чтобы просто писать код
  7. 7. Платформа-как-сервис (PaaS) - чтобы просто писать код ОС
  8. 8. Платформа-как-сервис (PaaS) - чтобы просто писать код ОС Библиотеки
  9. 9. Платформа-как-сервис (PaaS) - чтобы просто писать код ОС Библиотеки Механизм деплоймента
  10. 10. Платформа-как-сервис (PaaS) - чтобы просто писать код ОС Библиотеки Механизм деплоймента Балансировка
  11. 11. Платформа-как-сервис (PaaS) - чтобы просто писать код ОС Библиотеки Механизм деплоймента Балансировка ...
  12. 12. micro PaaS на основе docker
  13. 13. * micro PaaS: нет управления БД, кэшами, очередями Только HTTP-сервисы
  14. 14. Проблемы
  15. 15. ✖ Разработчики пишут на Ansible
  16. 16. ✖ Разработчики пишут на Ansible ✖ Дорогая смена техстека
  17. 17. ✖ Разработчики пишут на Ansible ✖ Дорогая смена техстека ✖ Сборка на сервере падает
  18. 18. ✖ Разработчики пишут на Ansible ✖ Дорогая смена техстека ✖ Сборка на сервере падает ✖ Разные библиотеки dev/prod/test
  19. 19. ✖ Разработчики пишут на Ansible ✖ Дорогая смена техстека ✖ Сборка на сервере падает ✖ Разные библиотеки dev/prod/test ✖ Деплой: час ... день … неделя
  20. 20. Всё ломается само!
  21. 21. Всё ломается само! left-pad
  22. 22. Первичные проблемы: Зоопарк окружений Нет универсальной доставки
  23. 23. Давайте подумаем
  24. 24. tar/deb не решает проблемы
  25. 25. tar/deb не решает проблемы .img низкий КПД
  26. 26. tar/deb не решает проблемы .img низкий КПД lxc/openvz уже лучше
  27. 27. tar/deb не решает проблемы .img низкий КПД lxc/openvz уже лучше docker совсем хорошо
  28. 28. Кандидаты: dokku для local PC
  29. 29. Кандидаты: dokku для local PC rancher глючный и Java
  30. 30. Кандидаты: dokku для local PC rancher глючный и Java flynn медленно пилят
  31. 31. Решение?
  32. 32. Dev Код
  33. 33. Dev Сборщик Код
  34. 34. Dev Сборщик Код Heroku Buildpacks
  35. 35. Dev Сборщик Код Образ Хранилище Heroku Buildpacks
  36. 36. Образ
  37. 37. Apps Образ
  38. 38. Реестр Apps Образ
  39. 39. Реестр Apps Роутер Образ
  40. 40. Реестр Apps Клиенты Роутер Образ
  41. 41. ✖ Разработчики пишут на Ansible ✖ Дорогая смена техстека ✖ Сборка на сервере падает ✖ Разные библиотеки dev/test/prod
  42. 42. ✔ Разработчики пишут код ✖ Дорогая смена техстека ✖ Сборка на сервере падает ✖ Разные библиотеки dev/test/prod
  43. 43. ✔ Разработчики пишут код ✔ 11 языков на выбор ✖ Сборка на сервере падает ✖ Разные библиотеки dev/test/prod
  44. 44. ✔ Разработчики пишут код ✔ 11 языков на выбор ✔ Отдельная сборка перед деплоем ✖ Разные библиотеки dev/test/prod
  45. 45. ✔ Разработчики пишут код ✔ 11 языков на выбор ✔ Отдельная сборка перед деплоем ✔ Собираем целый артефакт
  46. 46. ✔ Разработчики пишут код ✔ 11 языков на выбор ✔ Отдельная сборка перед деплоем ✔ Собираем целый артефакт ✔ Деплой 10 минут
  47. 47. А как же Ops?
  48. 48. Запуск на
  49. 49. Запуск на Простое масштабирование
  50. 50. Запуск на Простое масштабирование Zero-downtime релизы
  51. 51. Запуск на Простое масштабирование Zero-downtime релизы Rollback
  52. 52. Запуск на Простое масштабирование Zero-downtime релизы Rollback Проекты
  53. 53. Запуск на Простое масштабирование Zero-downtime релизы Rollback Проекты Удобно интегрироваться
  54. 54. Запуск на Простое масштабирование Zero-downtime релизы Rollback Проекты Удобно интегрироваться Можно деплоиться в обход сборки
  55. 55. Ложка дёгтя
  56. 56. Docker ➙ v1.9+
  57. 57. Docker ➙ v1.9+ etcd ➙ v2+
  58. 58. Docker ➙ v1.9+ etcd ➙ v2+ Пилить инфраструктуру
  59. 59. Docker ➙ v1.9+ etcd ➙ v2+ Пилить инфраструктуру Нет инструментов для БД
  60. 60. Перспективы? Deis 2 на Kubernetes
  61. 61. Спасибо!
  62. 62. Ваши вопросы? github.com/deis github.com/alexey-medvedchikov

×