SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Workflows в
Express 42
Игорь Курочкин
История
• Qik
• Skype
• Microsoft
• Express 42
Надежные решения для сложной инфраструктуры
2
Qik
• 2 DEV команды
• 3 OPS
• 1 продукт
• 1 датацентр, 2 окружения
• 10 сервисов
• 50 серверов
Надежные решения для сложной инфраструктуры
3
Skype
• 2 DEV команды
• 5 OPS
• 2 продукта
• 3 датацентра
• 20 сервисов (Java/Python/C/C++)
• 200 серверов
• 100Tb данных в месяц
Надежные решения для сложной инфраструктуры
4
Skype Ops
• 3 OPS
• Scrum
• 5 OPS
• 3 Infra OPS
• 1 dedicated OPS per team
• CEN, TSG, On-call
• Передача проекта
• devopstopologies.com
Надежные решения для сложной инфраструктуры
5
Skype infra repo
• 1 репозиторий
• 3 репозитория
• base
• team1
• team2
• N репозиториев
• base
• team1
• teamN
• component1
• componentN
Надежные решения для сложной инфраструктуры
6
Skype
• PaaS
• Chef and Zabbix
• DBaS
• InfoSec
• TPS
• Internal and external endpoints
• Deployment
• PreQA, QA, CAB, Live
• DR, incidents and post-mortems
Надежные решения для сложной инфраструктуры
7
Express 42
Chef
• Workflow
• Testo
• Berkshelf
• Community cookbooks
• Test Kitchen and tests
Надежные решения для сложной инфраструктуры
8
Chef
• Chef DK
• Knife
• Berkshelf
• Chef клиент
• всегда запущен и run проходит без ошибок
• настраивает окружение
• не деплоит
• Chef сервер на окружение (knife-block)
Надежные решения для сложной инфраструктуры
9
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
Chef проблемы
• Монолитные кукбуки
• Изменения не доходят до всех окружений
• Данные на Chef и в Git не совпадают
• Аудит изменений на Chef сервере и на
клиенте
• Версионирование
Надежные решения для сложной инфраструктуры
11
Testo
https://github.com/express42-cookbooks/testo
• cookbooks
• data_bags
• environments
• roles
• Berksfile/Berksfile.lock
• .kitchen.yml
• README.md
Надежные решения для сложной инфраструктуры
12
Berksfile
Надежные решения для сложной инфраструктуры
13
Roles and env
• Roles
• Base
• Chef server
• Graylog server
• Zabbix server
• Environment
• Vagrant
Надежные решения для сложной инфраструктуры
14
.kitchen.yml
Надежные решения для сложной инфраструктуры
15
Infra repo
http://www.heavywater.io/blog/2015/04/29/infra-
repo/
• AWS
• SparkleFormation
• sfn
• Batali
• Chef
Надежные решения для сложной инфраструктуры
16
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
Tests
• Любое изменение на GitHub
• Запуск тестов в Travis CI
• Вызов Rubocop и Foodcritic проверок
• Запуск виртуалки в Digital Ocean через Test Kitchen
• Выполнение Serverspec тестов
• Загрузка в Chef Supermarket
• Нотификация в Slack чат и обновление статуса
сборки
Надежные решения для сложной инфраструктуры
18
Мониторинг
Zabbix
• zabbixapi
• zabbix_lwrp (host, template, graph, …)
• zabbix_templates (~25 сервисов)
• zabbix_actions (email, slack, opsgenie)
• zabbix_dashing
• https://github.com/alexanderzobnin/grafana-zabbix
Надежные решения для сложной инфраструктуры
19
Мониторинг
• https://github.com/express42/zabbixapi
• https://github.com/express42-cookbooks/
zabbix_lwrp
Надежные решения для сложной инфраструктуры
20
Мониторинг
Надежные решения для сложной инфраструктуры
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
• Много триггеров для поиска проблемы, но
только две нотификации о наличии
• End-to-end тесты:
• Full flow тест
• Harness тест
ChatOps
• Slack integrations
https://api.slack.com/community
• Atlassian/Zabbix/GitHub/Travis
• Chef/Deploy/Rundeck/Foreman/Graylog
• Hubot
• https://hubot.github.com
Надежные решения для сложной инфраструктуры
23
Документация
• knife-cookbook-doc
• README.md
• CHANGELOG.md
• Git commit message
• Readme Driven Development
• http://docs.writethedocs.org
Надежные решения для сложной инфраструктуры
24
Культура
• Постоянные улучшения
• Внутренние митапы
• Хакатоны
• Вече
Надежные решения для сложной инфраструктуры
25
Вопросы?
Надежные решения для сложной инфраструктуры
26
• Twitter: @igoritl
• GitHub: ikurochkin
• igor@express42.com

Más contenido relacionado

La actualidad más candente

Платформа для поставки счастья в команду QA
Платформа для поставки счастья в команду QAПлатформа для поставки счастья в команду QA
Платформа для поставки счастья в команду QASlava Kuznetsov
 
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...Ontico
 
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...Ontico
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Ontico
 
Rootconf-2015 Тестируем инфраструктуру как код
Rootconf-2015 Тестируем инфраструктуру как кодRootconf-2015 Тестируем инфраструктуру как код
Rootconf-2015 Тестируем инфраструктуру как кодIgor Kurochkin
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустяYuriy Nasretdinov
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Ontico
 
Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Anton Turetsky
 
Секреты здорового питания: полезные рецепты с Celery - Александр Швец, Marilyn
Секреты здорового питания: полезные рецепты с Celery - Александр Швец, MarilynСекреты здорового питания: полезные рецепты с Celery - Александр Швец, Marilyn
Секреты здорового питания: полезные рецепты с Celery - Александр Швец, Marilynit-people
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayAndrey Rebrov
 
Денис Иванов
Денис ИвановДенис Иванов
Денис ИвановCodeFest
 
Caché github continuous intergration
Caché github continuous intergrationCaché github continuous intergration
Caché github continuous intergrationInterSystems
 
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéПриемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéInterSystems CEE
 
Monitoring base, golang meetup, kyiv
Monitoring base, golang meetup, kyivMonitoring base, golang meetup, kyiv
Monitoring base, golang meetup, kyivVsevolod Polyakov
 

La actualidad más candente (14)

Платформа для поставки счастья в команду QA
Платформа для поставки счастья в команду QAПлатформа для поставки счастья в команду QA
Платформа для поставки счастья в команду QA
 
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...
 
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
 
Rootconf-2015 Тестируем инфраструктуру как код
Rootconf-2015 Тестируем инфраструктуру как кодRootconf-2015 Тестируем инфраструктуру как код
Rootconf-2015 Тестируем инфраструктуру как код
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустя
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
 
Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?
 
Секреты здорового питания: полезные рецепты с Celery - Александр Швец, Marilyn
Секреты здорового питания: полезные рецепты с Celery - Александр Швец, MarilynСекреты здорового питания: полезные рецепты с Celery - Александр Швец, Marilyn
Секреты здорового питания: полезные рецепты с Celery - Александр Швец, Marilyn
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
 
Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
 
Caché github continuous intergration
Caché github continuous intergrationCaché github continuous intergration
Caché github continuous intergration
 
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéПриемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на Caché
 
Monitoring base, golang meetup, kyiv
Monitoring base, golang meetup, kyivMonitoring base, golang meetup, kyiv
Monitoring base, golang meetup, kyiv
 

Similar a Workflows в Express 42

Puppet development kit and best practices
Puppet development kit and best practicesPuppet development kit and best practices
Puppet development kit and best practicesIgor Kurochkin
 
OTUS Infrastructure as Code
OTUS Infrastructure as CodeOTUS Infrastructure as Code
OTUS Infrastructure as CodeIgor Kurochkin
 
Тестируем инфраструктуру как код
Тестируем инфраструктуру как кодТестируем инфраструктуру как код
Тестируем инфраструктуру как кодAndrey Tokarchuk
 
DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015Ivan Evtukhovich
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON
 
Docker in Production with AWS ECS
Docker in Production with AWS ECSDocker in Production with AWS ECS
Docker in Production with AWS ECSDmitry Kataev
 
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...IT-Portfolio
 
Инженерный дзен. Непрерывные изменения (Александр Титов)
Инженерный дзен. Непрерывные изменения (Александр Титов)Инженерный дзен. Непрерывные изменения (Александр Титов)
Инженерный дзен. Непрерывные изменения (Александр Титов)Ontico
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Tanya Denisyuk
 
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in productionAnatoly Popov
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Ontico
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Ontico
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeYehor Herasymchuk
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Ontico
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтендViacheslav Slinko
 
DevOps в проекте Upsource. Андрей Сизов, System Administrator
DevOps в проекте Upsource. Андрей Сизов, System AdministratorDevOps в проекте Upsource. Андрей Сизов, System Administrator
DevOps в проекте Upsource. Андрей Сизов, System AdministratorJetBrains Russia
 
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)Ontico
 
Практический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQLПрактический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQLAlex Chistyakov
 
Практика разработки веб-серверов на Rust
Практика разработки веб-серверов на RustПрактика разработки веб-серверов на Rust
Практика разработки веб-серверов на RustMichael Pankov
 

Similar a Workflows в Express 42 (20)

Puppet development kit and best practices
Puppet development kit and best practicesPuppet development kit and best practices
Puppet development kit and best practices
 
OTUS Infrastructure as Code
OTUS Infrastructure as CodeOTUS Infrastructure as Code
OTUS Infrastructure as Code
 
Тестируем инфраструктуру как код
Тестируем инфраструктуру как кодТестируем инфраструктуру как код
Тестируем инфраструктуру как код
 
DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
 
Docker in Production with AWS ECS
Docker in Production with AWS ECSDocker in Production with AWS ECS
Docker in Production with AWS ECS
 
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
 
Инженерный дзен. Непрерывные изменения (Александр Титов)
Инженерный дзен. Непрерывные изменения (Александр Титов)Инженерный дзен. Непрерывные изменения (Александр Титов)
Инженерный дзен. Непрерывные изменения (Александр Титов)
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"
 
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in production
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтенд
 
DevOps в проекте Upsource. Андрей Сизов, System Administrator
DevOps в проекте Upsource. Андрей Сизов, System AdministratorDevOps в проекте Upsource. Андрей Сизов, System Administrator
DevOps в проекте Upsource. Андрей Сизов, System Administrator
 
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
 
Практический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQLПрактический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQL
 
Практика разработки веб-серверов на Rust
Практика разработки веб-серверов на RustПрактика разработки веб-серверов на Rust
Практика разработки веб-серверов на Rust
 

Workflows в Express 42

  • 2. История • Qik • Skype • Microsoft • Express 42 Надежные решения для сложной инфраструктуры 2
  • 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
  • 12. Testo https://github.com/express42-cookbooks/testo • cookbooks • data_bags • environments • roles • Berksfile/Berksfile.lock • .kitchen.yml • README.md Надежные решения для сложной инфраструктуры 12
  • 13. Berksfile Надежные решения для сложной инфраструктуры 13
  • 14. Roles and env • Roles • Base • Chef server • Graylog server • Zabbix server • Environment • Vagrant Надежные решения для сложной инфраструктуры 14
  • 15. .kitchen.yml Надежные решения для сложной инфраструктуры 15
  • 16. Infra repo http://www.heavywater.io/blog/2015/04/29/infra- repo/ • AWS • SparkleFormation • sfn • Batali • Chef Надежные решения для сложной инфраструктуры 16
  • 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
  • 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
  • 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 тест
  • 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. Документация • knife-cookbook-doc • README.md • CHANGELOG.md • Git commit message • Readme Driven Development • http://docs.writethedocs.org Надежные решения для сложной инфраструктуры 24
  • 25. Культура • Постоянные улучшения • Внутренние митапы • Хакатоны • Вече Надежные решения для сложной инфраструктуры 25
  • 26. Вопросы? Надежные решения для сложной инфраструктуры 26 • Twitter: @igoritl • GitHub: ikurochkin • igor@express42.com