Successfully reported this slideshow.
Your SlideShare is downloading. ×

Тестируем инфраструктуру как код / Игорь Курочкин (Express 42)

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 28 Ad

Тестируем инфраструктуру как код / Игорь Курочкин (Express 42)

Download to read offline

Если инфраструктура становится кодом, то хороший код должен быть покрыт тестами. Тестирование инфраструктуры особенно актуально, если у вас частые изменения, сложная логика, или используется сторонний код.

Я расскажу про основные инструменты и подходы в тестировании инфраструктуры, как все это автоматизировать и про наш опыт в Express 42. Начиная с анализа кода, интеграционных тестов и заканчивая использованием CI систем. Также расскажу про публикацию инфраструктурного кода в open source.

Доклад будет интересен пользователям любой из систем управления конфигурацией - Chef, Puppet, Ansible или SaltStack.

Если инфраструктура становится кодом, то хороший код должен быть покрыт тестами. Тестирование инфраструктуры особенно актуально, если у вас частые изменения, сложная логика, или используется сторонний код.

Я расскажу про основные инструменты и подходы в тестировании инфраструктуры, как все это автоматизировать и про наш опыт в Express 42. Начиная с анализа кода, интеграционных тестов и заканчивая использованием CI систем. Также расскажу про публикацию инфраструктурного кода в open source.

Доклад будет интересен пользователям любой из систем управления конфигурацией - Chef, Puppet, Ansible или SaltStack.

Advertisement
Advertisement

More Related Content

Slideshows for you (19)

Similar to Тестируем инфраструктуру как код / Игорь Курочкин (Express 42) (20)

Advertisement

More from Ontico (20)

Recently uploaded (20)

Advertisement

Тестируем инфраструктуру как код / Игорь Курочкин (Express 42)

  1. 1. Тестируем инфраструктуру как код Игорь Курочкин
  2. 2. О себе • Express 42 • Qik/Skype/Microsoft • Chef/Puppet • Ansible/SaltStack
  3. 3. О чем доклад? • Тестирование • Инструменты • Автоматизация • Наш опыт
  4. 4. Тесты? • Качество • Обратная связь • Автоматизация • Документация
  5. 5. Тесты?
  6. 6. Когда актуально? • Изменения • Коллектив • Сложная логика • Чужой код
  7. 7. Какие системы? • Chef • Puppet • Ansible • SaltStack
  8. 8. Что тестировать? • Кукбуки (Chef ) • Модули (Puppet) • Роли (Ansible) • Формулы (SaltStack)
  9. 9. Что проверяем? • Стиль языка и кода • Функционал • Интеграцию • Результат
  10. 10. Стиль языка • Ruby • rubocop • Python • pep8
  11. 11. Стиль кода • Chef Foodcritic • Puppet-lint • Ansible-lint • Salt-lint
  12. 12. Функционал • Фикстуры или тестовые данные: • кукбук (Chef) • модуль (Puppet) • плейбук (Ansible) • формула (SaltStack)
  13. 13. Интеграция • Vagrant • Test Kitchen • Chef/Puppet/Ansible/Salt • Vagrant/Docker/LXC • Clouds • Serverspec
  14. 14. Результат • Serverspec - тесты для инфраструктуры: • Linux/BSD/Windows • Встроенные ресурсы • Замена bash
  15. 15. Результат • Chef • Audit mode • Ansible • Assert, URI, Script, Fail
  16. 16. Автоматизируем • CI система • Travis CI • Другие CI системы
  17. 17. Travis CI • SaaS для GitHub проектов • Ограничения • Окружение • Ubuntu 12.04 • Пакеты • Переменные • Ресурсы
  18. 18. Test Kitchen + Travis CI • Два инструмента • Облачные провайдеры
  19. 19. Другие CI системы • Jenkins • TeamCity • Bamboo • Ваша CI система
  20. 20. А продакшн? • Dry run (Chef) • Noop mode (Puppet) • Check mode (Ansible) • State testing (SaltStack)
  21. 21. Что еще? • Ревью кода • Делимся с сообществом
  22. 22. Делимся • Chef Supermarket • Puppet Forge • Ansible Galaxy • Salt Formulas
  23. 23. Не забываем • Приватная информация • Тесты и статус сборки • История изменений и документация • Совместимость и конфликты • Синхронизация с платформой • Лицензия
  24. 24. Как это делаем мы • GitHub • Travis CI • Rubocop + Foodcritic • Test Kitchen + Digital Ocean • Serverspec • Chef Supermarket • Slack
  25. 25. Выводы • Тестируйте инфраструктуру • Автоматизируйте • Делитесь с сообществом
  26. 26. Контакты • github.com/express42-cookbooks • habrahabr.ru/company/express42/ • devopsdeflope.ru • devopsru.com • @express42_ru
  27. 27. Подарок
  28. 28. Вопросы? • github.com/express42-cookbooks • habrahabr.ru/company/express42/ • devopsdeflope.ru • devopsru.com • @express42_ru

×