3. Qik
• 2 DEV команды
• 3 OPS
• 1 продукт
• 1 датацентр, 2 окружения
• 10 сервисов
• 50 серверов
Надежные решения для сложной инфраструктуры
3
4. Skype
• 2 DEV команды
• 5 OPS
• 2 продукта
• 3 датацентра
• 20 сервисов (Java/Python/C/C++)
• 200 серверов
• 100Tb данных в месяц
Надежные решения для сложной инфраструктуры
4
5. Skype Ops
• 3 OPS
• Scrum
• 5 OPS
• 3 Infra OPS
• 1 dedicated OPS per team
• CEN, TSG, On-call
• Передача проекта
• devopstopologies.com
Надежные решения для сложной инфраструктуры
5
6. Skype infra repo
• 1 репозиторий
• 3 репозитория
• base
• team1
• team2
• N репозиториев
• base
• team1
• teamN
• component1
• componentN
Надежные решения для сложной инфраструктуры
6
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. Express 42
Chef
• Workflow
• Testo
• Berkshelf
• Community cookbooks
• Test Kitchen and tests
Надежные решения для сложной инфраструктуры
8
9. Chef
• Chef DK
• Knife
• Berkshelf
• Chef клиент
• всегда запущен и run проходит без ошибок
• настраивает окружение
• не деплоит
• Chef сервер на окружение (knife-block)
Надежные решения для сложной инфраструктуры
9
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. Chef проблемы
• Монолитные кукбуки
• Изменения не доходят до всех окружений
• Данные на Chef и в Git не совпадают
• Аудит изменений на Chef сервере и на
клиенте
• Версионирование
Надежные решения для сложной инфраструктуры
11
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. Tests
• Любое изменение на GitHub
• Запуск тестов в Travis CI
• Вызов Rubocop и Foodcritic проверок
• Запуск виртуалки в Digital Ocean через Test Kitchen
• Выполнение Serverspec тестов
• Загрузка в Chef Supermarket
• Нотификация в Slack чат и обновление статуса
сборки
Надежные решения для сложной инфраструктуры
18
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
• Много триггеров для поиска проблемы, но
только две нотификации о наличии
• End-to-end тесты:
• Full flow тест
• Harness тест