Your SlideShare is downloading. ×
0
×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

«Chef и Аnsible в инфраструктуре 2ГИС» — Артём Силенков, 2ГИС

549

Published on

— Интернет-проект, проблемы роста и развития: ITIL + DevOps. …

— Интернет-проект, проблемы роста и развития: ITIL + DevOps.
— Уровни управления серверной инфраструктурой — bootstrap, configuration, deploy.
— Cистемы управления серверной инфраструктурой на примере Chef и Ansible, плюсы и минусы.
— Обратная связь от приложений, Graylog2.
— Как мы деплоим наш геокластер — примеры рецептов Chef и Ansible playbooks.
— Существующие проблемы и планы на будущее.

В своём выступлении я расскажу, как мы развёртываем API 2ГИС и 2ГИС-Онлайн на серверы в Новосибирске, Москве и Амстердаме.

Особый интерес представляет API 2ГИС, так как этот продукт является довольно сложным приложением, с более чем двумя десятками компонентов и приложений: Nginx, Yii, С++, Python, Lua, PostgreSQL, Redis, Node.js и прочее.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
549
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Chef и Ansible в инфраструктуре 2ГИС
  • 2. О чём речь • Проблемы роста и развития • Уровни управления инфраструктурой • Chef и Ansible • Graylog 2 — как инструмент обратной связи • Деплой геокластера • Проблемы и планы на будущее 2
  • 3. Что имеем • Новосибирск, Москва, Дронтен • 20 серверов на каждый ДЦ • 300 человек + 4 администратора • 30 млн. пользователей • 1 500 rps на фронтенд в каждый ДЦ 3
  • 4. ITIL vs DevOps
  • 5. Было, 2010 • 2 сервера • 10 человек • Мало кода 5
  • 6. Стало, 2013 • 50 серверов • геокластер • 300 человек 6
  • 7. Задачи
  • 8. 1. Однородность среды
  • 9. 2. Очень частые релизы
  • 10. 3. Много разного железа
  • 11. 4. Сплиттесты
  • 12. 5. Документация
  • 13. Серверная инфраструктура • Разработка • Тестирование • Staging • Production 13
  • 14. Bootstrap → Configuration → Deploy
  • 15. Эволюция 1. Обновление руками 2. Простые скрипты 3. Приложения для деплоя 4. Приложения для приложений для деплоя 15
  • 16. 16
  • 17. 17
  • 18. Плюсы • Конфигурация как код • Cookbooks (playbook) — сразу и документация • Простота, понятность, могущество • Целостное видение инфраструктуры • Единая среда development, test и production 18
  • 19. Минусы • Надо аккуратно писать рецепты • Агенты, демоны, предварительная настройка • PULL / PUSH • Дирижёр для дирижёра 19
  • 20. Graylog 2 — дополняет Chef • Информация о состоянии системы • Всё в одном месте от всех компонентов • Поиск, индексация, агрегация и графики 20
  • 21. 21
  • 22. packages = value_for_platform( ["redhat", "centos", "scientific", "amazon", "oracle"] => { "default" => %w(ruby-devel curl-devel) }, ["ubuntu", "debian"] => { "default" => %w(ruby-dev libcurl4-gnutls-dev) } ) packages.each do |devpkg| package devpkg end gem_package 'rake' gem_package 'passenger' do action :install version node["nginx"]["passenger"]["version"] gem_binary node["nginx"]["passenger"]["gem_binary"] if node["nginx"]["passenger"]["gem_binary"] end 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 22
  • 23. - hosts: suppall tasks: - name: installing librabbitmq0 apt: pkg=librabbitmq0 state=installed force=yes - name: installing php5-amqp apt: pkg=php5-amqp state=installed force=yes - name: restarting php service: name=php5-fpm state=restarted 23
  • 24. Проблемы
  • 25. Геораспределенность • Задержки и неполадки сети • Временные зоны • Отказоустойчивость геозоны 25
  • 26. Chef • Усложняется с каждым релизом • Демоны и контроль их состояния 26
  • 27. Будущее • Деплоим приложение, а не инфраструктуру (Heroku) • Private Clouds, автобалансировка нагрузки, сервер сценариев • Одна кнопка и всё работает • Облака всё 27
  • 28. Спасибо!
  • 29. Вопросы?

×