SlideShare a Scribd company logo
Автоматизируй это!
Как при разработке игры не погрязнуть в рутине
и сохранить время на креатив
Разработка игр
Заглянем под капот
Что мы автоматизируем
• Серверная инфраструктура
• Мониторинг
• Развертывание приложений
• Логирование
• И даже Гейм дизайн
Серверная инфраструктура
Проблемы
• Различная конфигурация серверов
• Различные версии ПО
• Различные настройки
• Нет четко выделенной роли сервера
• Единственная возможность что-то узнать,
залезть в голову админа
«He is alive, alive»
- у каждого сервера есть душа
Решения
• Разделение ролей серверов
• Систематизация ПО
• Соглашение о структуре сервера
• Система управления конфигурацией
• Автоматические тесты
Системы конфигурирования
серверов
• Puppet
• Salt
• Chef
• Ansible
Пример конфигурации
Результат
• Покупка сервера за минуту
• Установка ПО за час
Мониторинг
Задачи
• Информировать о критической ситуации
• Дать как можно больше информации для
решения кризиса
• Прогнозировать и предугадывать кризисные
ситуации
• Мониторить мониторинг
• Исправлять
«Лучший мониторинг»
Проблемы мониторинга
• Децентрализованность и не системность
• Отсутствие интеграции с приложениями
• Отсутствие связи с другими процессами
компании
• «Вольное» обращение со статусами сенсоров
Ключ к решению
• Централизация
• Интеграция с приложениями
• Культура статусов: ошибка - это ошибка, варнинг
- это варнинг.
• Конфигурация и статистика
• Синтетический критерий эффективности
• Мониторинг не должен замедлять и нарушать
работу приложения
Если мы знаем ошибку,
то почему бы ее не исправить
Наш велосипед
Наш велосипед
Deployment
Все уже решено
• Maven
• Jenkins
• Пакетные менеджеры
Правда жизни
• Не все системы работают с CI (сеансы
скриптовой магии)
• Как подружить maven c Flash или Unity3D?
• Развертывание проекта на несколько серверов
• Быстрый откат версии
Наш велик
Наш велик
Ведение логов
Извечные проблемы с логами
• Слишком мало данных - ничего не понятно
• Слишком много данных - ничего не понятно
Логироваие на этапе
разработки
• Писать всё!
• Правильные статусы
• Наборы конфигураций с подавлением
некоторых компонент системы
Логи в production
• Писать вообще всё!
• Запись в лог, это не просто строка, а строчка бд с
идентификаторами.
• Все что относится к проекту пишется в лог
проекта
• Правильное хранилище
• Логи не должны тормозить приложение.
Чужой велосипед
с нашими колесами
• Log4J
• Свой Appender
• Helper и formater для записи логов
• ElasticSearch + Logstash + Kibana
• UDP протокол
• Мониторинг
Online доступ к логам
Гейм дизайн
• Google Spreadsheets
• Google Script
• XML
Google в помощь
Скрипты автоматизации
Разработка
• Любая библиотека – это автоматизация, что же
ты будешь про все библиотеки рассказывать?
• Да, буду 
Общая функциональность
• Авторизация
• Биллинг
• Нотификация
Сервисы
Требования к сервисам
• Работа 24/7
• Надежность, не при каких обстоятельствах
сервис не должен упасть
• Возможность обновлять на лету.
• Устойчивость к нагрузкам
• Версионность
Автоматизация труда
• Форматеры
• Code Template
• Scrum scripts
Интеграция
• Принцип «одного» места
• Уведомления
• Чатботы
Вопросы?
Сергей Парамонов
Технический директор
ООО «Тортуга»
http://tortuga.social/
sergey.paramonov@tortugasocial.com

More Related Content

PPTX
20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...
PPTX
Про автотесты, фреймворки и железки. Андрей Баюн. Debug time#2 2014
PPTX
Heyworks: Cравнительный анализ решений для клиент-серверного взаимодействия и...
ODP
DevOps в реальном времени
PDF
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
PPTX
Управление изменениями и коллективная разработка в Caché. InterSystems Meetup...
PDF
Extreme banking
PDF
CodeFest 2013. Баяндин А. — JavaScript + Webdriver = ♥
20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...
Про автотесты, фреймворки и железки. Андрей Баюн. Debug time#2 2014
Heyworks: Cравнительный анализ решений для клиент-серверного взаимодействия и...
DevOps в реальном времени
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
Управление изменениями и коллективная разработка в Caché. InterSystems Meetup...
Extreme banking
CodeFest 2013. Баяндин А. — JavaScript + Webdriver = ♥

What's hot (20)

PDF
Разработка кроссплатформенного фреймворка на С++ для мобильных платформ / Вла...
PPTX
"Разрушаем .NET мифы" Сергей Калинец
PDF
Архитектура А/Б тестирования: сделай сам
PPTX
"Архитектурный шаблон Reflex - новый подход к разработке клиент-серверных при...
PDF
JavaScript + Webdriver = ♥
PDF
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
PDF
Chef, Puppet, Salt, Ansible on SECON 2014
PPTX
Как FB, Apple и Google разрушают традиции в компьютерном бизнесе, и почему эт...
PDF
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
PPTX
«Путь джуниора глазами джуниора» - Никита Сердюк
PDF
Symfony в архитектуре Upwork Enterprise
PDF
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
PDF
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
PDF
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
PPTX
Wargaming.net: Архитектура современных 3D движков
PDF
SaltStack vs Chef, HappyDev 2013
PDF
Innovecs Meetup Lifestory
PDF
Alexei Vladishev - Zabbix 3.0 что дальше
PDF
jobDSL plugin: настройка jenkins ci скриптом
PPTX
Организация надежного резервного копирования веб-проекта. Практика и подводны...
Разработка кроссплатформенного фреймворка на С++ для мобильных платформ / Вла...
"Разрушаем .NET мифы" Сергей Калинец
Архитектура А/Б тестирования: сделай сам
"Архитектурный шаблон Reflex - новый подход к разработке клиент-серверных при...
JavaScript + Webdriver = ♥
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
Chef, Puppet, Salt, Ansible on SECON 2014
Как FB, Apple и Google разрушают традиции в компьютерном бизнесе, и почему эт...
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
«Путь джуниора глазами джуниора» - Никита Сердюк
Symfony в архитектуре Upwork Enterprise
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
Wargaming.net: Архитектура современных 3D движков
SaltStack vs Chef, HappyDev 2013
Innovecs Meetup Lifestory
Alexei Vladishev - Zabbix 3.0 что дальше
jobDSL plugin: настройка jenkins ci скриптом
Организация надежного резервного копирования веб-проекта. Практика и подводны...
Ad

Viewers also liked (20)

PPTX
SECON'2016. Лексунин Евгений, Как не запутаться в веб-разработке
PDF
SECON'2016. Ефимов Максим, JMM в Android
PDF
SECON'2016. Пименов Алексей, Как не выстрелить себе в ногу внедряя KPI
PDF
SECON'2016. Кузнецов Вячеслав, Workflow одной Ops-команды
PDF
SECON'2016. Барсуков Александр, Боссами не рождаются
PPTX
SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами
PDF
SECON'2016. Александр Шитиков, Кузнецов Максим, Кроссплатформенная разработка...
PDF
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
PDF
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
PDF
SECON'2016. Съедугин Андрей, Сказ о том, как идеальный программист с идеальны...
PDF
SECON'2016. Бочкарев Игорь, Реактивные мобильные приложения
PDF
SECON'2016. Кириллов Александр, Continuous Integration под микроскопом
PDF
SECON'2016. Васильков Василий, Серверное программирование сегодня
PPTX
SECON'2016. Трошин Алексей, От 1 до 100: особенности выстраивания процессов в...
PPTX
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
PDF
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
PDF
SECON'2016. Кардава Звиад, Концепция Physical web. Eddystone format. Google b...
PDF
SECON'2016. Мухаметов Андрей, RxSwift && Apple TV - так ли хорошо всё новое?
PDF
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
PDF
SECON'2016. Ежков Денис, Верстка на автопилоте. Почему я не использую flexbox
SECON'2016. Лексунин Евгений, Как не запутаться в веб-разработке
SECON'2016. Ефимов Максим, JMM в Android
SECON'2016. Пименов Алексей, Как не выстрелить себе в ногу внедряя KPI
SECON'2016. Кузнецов Вячеслав, Workflow одной Ops-команды
SECON'2016. Барсуков Александр, Боссами не рождаются
SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами
SECON'2016. Александр Шитиков, Кузнецов Максим, Кроссплатформенная разработка...
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
SECON'2016. Съедугин Андрей, Сказ о том, как идеальный программист с идеальны...
SECON'2016. Бочкарев Игорь, Реактивные мобильные приложения
SECON'2016. Кириллов Александр, Continuous Integration под микроскопом
SECON'2016. Васильков Василий, Серверное программирование сегодня
SECON'2016. Трошин Алексей, От 1 до 100: особенности выстраивания процессов в...
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Кардава Звиад, Концепция Physical web. Eddystone format. Google b...
SECON'2016. Мухаметов Андрей, RxSwift && Apple TV - так ли хорошо всё новое?
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Ежков Денис, Верстка на автопилоте. Почему я не использую flexbox
Ad

Similar to SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине при разработке игры (20)

PDF
PDF
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
PDF
"Девопс - это не только для программистов. Практические примеры из жизни одно...
PDF
11 HappyDev-lite'14 Андрей Казимиров. Особенности разработки по для встраива...
PPTX
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
PPTX
Оптимизация производительности нагруженных веб-систем на Java
PDF
Алексей Лустин. Непрерывная проверка качества кода.
PPTX
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
PPTX
Лучшие практики на практике
PPT
Веб 3.0. Футуристический рассказ о будущем интернета и IT
PPTX
Chef @DevWeb
PDF
Максим Лапшин. Erlang production
PDF
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
PDF
PDF
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
PDF
И снова разработка под iOS. Павел Тайкало
PDF
TК°Conf. Организация разработки Frontend. Виталий Слободин.
PDF
Юрий Василевский «Автоматизация в XCode»
PDF
Юрий Василевский "Автоматизация в XCode"
PDF
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
"Девопс - это не только для программистов. Практические примеры из жизни одно...
11 HappyDev-lite'14 Андрей Казимиров. Особенности разработки по для встраива...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
Оптимизация производительности нагруженных веб-систем на Java
Алексей Лустин. Непрерывная проверка качества кода.
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
Лучшие практики на практике
Веб 3.0. Футуристический рассказ о будущем интернета и IT
Chef @DevWeb
Максим Лапшин. Erlang production
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
И снова разработка под iOS. Павел Тайкало
TК°Conf. Организация разработки Frontend. Виталий Слободин.
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский "Автоматизация в XCode"
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко

More from SECON (20)

PDF
SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?
PPTX
SECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя Внедрять
PDF
SECON'2017, Васильков Василий, Elm в production
PPTX
SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.
PPTX
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
PPTX
SECON'2017, Рожкова Надежда, Бухгалтерские лайфхаки для IT компаний
PPTX
SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...
PPTX
SECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленке
PPTX
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
PPTX
SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?
PPTX
SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...
PPTX
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
PDF
SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...
PDF
SECON'2017, Цаль-Цалко Иван, Go на практике
PPTX
SECON'2017, Неволин Роман, Функциональный C#
PDF
SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проекта
PPTX
SECON'2017, Макарычев Костантин, Использование Spark для машинного обучения
PPTX
SECON'2017, Журавлев Денис, Маркетинг без маркетолога
PPTX
SECON'2017, Шатров Михаил, Инструменты успешного предпринимателя
PPTX
SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.
SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?
SECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя Внедрять
SECON'2017, Васильков Василий, Elm в production
SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
SECON'2017, Рожкова Надежда, Бухгалтерские лайфхаки для IT компаний
SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...
SECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленке
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?
SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...
SECON'2017, Цаль-Цалко Иван, Go на практике
SECON'2017, Неволин Роман, Функциональный C#
SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проекта
SECON'2017, Макарычев Костантин, Использование Spark для машинного обучения
SECON'2017, Журавлев Денис, Маркетинг без маркетолога
SECON'2017, Шатров Михаил, Инструменты успешного предпринимателя
SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.

SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине при разработке игры