O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Workflows в
Express 42
Игорь Курочкин
История
• Qik
• Skype
• Microsoft
• Express 42
Надежные решения для сложной инфраструктуры
2
Qik
• 2 DEV команды
• 3 OPS
• 1 продукт
• 1 датацентр, 2 окружения
• 10 сервисов
• 50 серверов
Надежные решения для сложно...
Skype
• 2 DEV команды
• 5 OPS
• 2 продукта
• 3 датацентра
• 20 сервисов (Java/Python/C/C++)
• 200 серверов
• 100Tb данных ...
Skype Ops
• 3 OPS
• Scrum
• 5 OPS
• 3 Infra OPS
• 1 dedicated OPS per team
• CEN, TSG, On-call
• Передача проекта
• devops...
Skype infra repo
• 1 репозиторий
• 3 репозитория
• base
• team1
• team2
• N репозиториев
• base
• team1
• teamN
• componen...
Skype
• PaaS
• Chef and Zabbix
• DBaS
• InfoSec
• TPS
• Internal and external endpoints
• Deployment
• PreQA, QA, CAB, Liv...
Express 42
Chef
• Workflow
• Testo
• Berkshelf
• Community cookbooks
• Test Kitchen and tests
Надежные решения для сложной ...
Chef
• Chef DK
• Knife
• Berkshelf
• Chef клиент
• всегда запущен и run проходит без ошибок
• настраивает окружение
• не д...
Chef workflow
• Chef RFC
• https://github.com/chef/chef-rfc
• rfc019-chef-workflows
• Chef Policies
• https://www.chef.io/bl...
Chef проблемы
• Монолитные кукбуки
• Изменения не доходят до всех окружений
• Данные на Chef и в Git не совпадают
• Аудит ...
Testo
https://github.com/express42-cookbooks/testo
• cookbooks
• data_bags
• environments
• roles
• Berksfile/Berksfile.lock...
Berksfile
Надежные решения для сложной инфраструктуры
13
Roles and env
• Roles
• Base
• Chef server
• Graylog server
• Zabbix server
• Environment
• Vagrant
Надежные решения для с...
.kitchen.yml
Надежные решения для сложной инфраструктуры
15
Infra repo
http://www.heavywater.io/blog/2015/04/29/infra-
repo/
• AWS
• SparkleFormation
• sfn
• Batali
• Chef
Надежные р...
Community cookbooks
• Platforms (Ubuntu 14.04)
• Init systems and restart
• Chef 11/12
• LWRP and wrapper support
• Depend...
Tests
• Любое изменение на GitHub
• Запуск тестов в Travis CI
• Вызов Rubocop и Foodcritic проверок
• Запуск виртуалки в D...
Мониторинг
Zabbix
• zabbixapi
• zabbix_lwrp (host, template, graph, …)
• zabbix_templates (~25 сервисов)
• zabbix_actions ...
Мониторинг
• https://github.com/express42/zabbixapi
• https://github.com/express42-cookbooks/
zabbix_lwrp
Надежные решения...
Мониторинг
Надежные решения для сложной инфраструктуры
21
Zabbix Live
• Number of hosts 134
• Number of items 74754
• Numb...
Мониторинг
Надежные решения для сложной инфраструктуры
22
• Много триггеров для поиска проблемы, но
только две нотификации...
ChatOps
• Slack integrations
https://api.slack.com/community
• Atlassian/Zabbix/GitHub/Travis
• Chef/Deploy/Rundeck/Forema...
Документация
• knife-cookbook-doc
• README.md
• CHANGELOG.md
• Git commit message
• Readme Driven Development
• http://doc...
Культура
• Постоянные улучшения
• Внутренние митапы
• Хакатоны
• Вече
Надежные решения для сложной инфраструктуры
25
Вопросы?
Надежные решения для сложной инфраструктуры
26
• Twitter: @igoritl
• GitHub: ikurochkin
• igor@express42.com
Próximos SlideShares
Carregando em…5
×

Workflows в Express 42

722 visualizações

Publicada em

Workflows в Express 42

Publicada em: Engenharia
  • Seja o primeiro a comentar

Workflows в Express 42

  1. 1. Workflows в Express 42 Игорь Курочкин
  2. 2. История • Qik • Skype • Microsoft • Express 42 Надежные решения для сложной инфраструктуры 2
  3. 3. Qik • 2 DEV команды • 3 OPS • 1 продукт • 1 датацентр, 2 окружения • 10 сервисов • 50 серверов Надежные решения для сложной инфраструктуры 3
  4. 4. Skype • 2 DEV команды • 5 OPS • 2 продукта • 3 датацентра • 20 сервисов (Java/Python/C/C++) • 200 серверов • 100Tb данных в месяц Надежные решения для сложной инфраструктуры 4
  5. 5. Skype Ops • 3 OPS • Scrum • 5 OPS • 3 Infra OPS • 1 dedicated OPS per team • CEN, TSG, On-call • Передача проекта • devopstopologies.com Надежные решения для сложной инфраструктуры 5
  6. 6. Skype infra repo • 1 репозиторий • 3 репозитория • base • team1 • team2 • N репозиториев • base • team1 • teamN • component1 • componentN Надежные решения для сложной инфраструктуры 6
  7. 7. Skype • PaaS • Chef and Zabbix • DBaS • InfoSec • TPS • Internal and external endpoints • Deployment • PreQA, QA, CAB, Live • DR, incidents and post-mortems Надежные решения для сложной инфраструктуры 7
  8. 8. Express 42 Chef • Workflow • Testo • Berkshelf • Community cookbooks • Test Kitchen and tests Надежные решения для сложной инфраструктуры 8
  9. 9. Chef • Chef DK • Knife • Berkshelf • Chef клиент • всегда запущен и run проходит без ошибок • настраивает окружение • не деплоит • Chef сервер на окружение (knife-block) Надежные решения для сложной инфраструктуры 9
  10. 10. Chef workflow • Chef RFC • https://github.com/chef/chef-rfc • rfc019-chef-workflows • Chef Policies • https://www.chef.io/blog/2015/10/05/ policyfiles-why-what-and-how/ • Roles/Environments/Runlist Надежные решения для сложной инфраструктуры 10
  11. 11. Chef проблемы • Монолитные кукбуки • Изменения не доходят до всех окружений • Данные на Chef и в Git не совпадают • Аудит изменений на Chef сервере и на клиенте • Версионирование Надежные решения для сложной инфраструктуры 11
  12. 12. Testo https://github.com/express42-cookbooks/testo • cookbooks • data_bags • environments • roles • Berksfile/Berksfile.lock • .kitchen.yml • README.md Надежные решения для сложной инфраструктуры 12
  13. 13. Berksfile Надежные решения для сложной инфраструктуры 13
  14. 14. Roles and env • Roles • Base • Chef server • Graylog server • Zabbix server • Environment • Vagrant Надежные решения для сложной инфраструктуры 14
  15. 15. .kitchen.yml Надежные решения для сложной инфраструктуры 15
  16. 16. Infra repo http://www.heavywater.io/blog/2015/04/29/infra- repo/ • AWS • SparkleFormation • sfn • Batali • Chef Надежные решения для сложной инфраструктуры 16
  17. 17. Community cookbooks • Platforms (Ubuntu 14.04) • Init systems and restart • Chef 11/12 • LWRP and wrapper support • Dependencies • Templates • Tests and Chef Supermarket • Issues and pull requests Надежные решения для сложной инфраструктуры 17
  18. 18. Tests • Любое изменение на GitHub • Запуск тестов в Travis CI • Вызов Rubocop и Foodcritic проверок • Запуск виртуалки в Digital Ocean через Test Kitchen • Выполнение Serverspec тестов • Загрузка в Chef Supermarket • Нотификация в Slack чат и обновление статуса сборки Надежные решения для сложной инфраструктуры 18
  19. 19. Мониторинг Zabbix • zabbixapi • zabbix_lwrp (host, template, graph, …) • zabbix_templates (~25 сервисов) • zabbix_actions (email, slack, opsgenie) • zabbix_dashing • https://github.com/alexanderzobnin/grafana-zabbix Надежные решения для сложной инфраструктуры 19
  20. 20. Мониторинг • https://github.com/express42/zabbixapi • https://github.com/express42-cookbooks/ zabbix_lwrp Надежные решения для сложной инфраструктуры 20
  21. 21. Мониторинг Надежные решения для сложной инфраструктуры 21 Zabbix Live • Number of hosts 134 • Number of items 74754 • Number of triggers 20775 • New values per second 1186 Zabbix PreQA/QA • 79/28920/4968/454
  22. 22. Мониторинг Надежные решения для сложной инфраструктуры 22 • Много триггеров для поиска проблемы, но только две нотификации о наличии • End-to-end тесты: • Full flow тест • Harness тест
  23. 23. ChatOps • Slack integrations https://api.slack.com/community • Atlassian/Zabbix/GitHub/Travis • Chef/Deploy/Rundeck/Foreman/Graylog • Hubot • https://hubot.github.com Надежные решения для сложной инфраструктуры 23
  24. 24. Документация • knife-cookbook-doc • README.md • CHANGELOG.md • Git commit message • Readme Driven Development • http://docs.writethedocs.org Надежные решения для сложной инфраструктуры 24
  25. 25. Культура • Постоянные улучшения • Внутренние митапы • Хакатоны • Вече Надежные решения для сложной инфраструктуры 25
  26. 26. Вопросы? Надежные решения для сложной инфраструктуры 26 • Twitter: @igoritl • GitHub: ikurochkin • igor@express42.com

×