SlideShare a Scribd company logo
Разработка портируемой
инфраструктуры New Relic -
контейнеры, CoreOS и
прочие приключения
Михаил Панченко
Кратко О Себе
Кратко О Себе
Отдел «Скорость Разработки» в New Relic
Смертный враг технического долга
Бородач-любитель
Кратко О Себе
Отдел «Скорость Разработки» в New Relic
Смертный враг технического долга
Бородач-любитель
Постановка Задачи
Что такое New Relic? Зачем его портировать, и куда?
Мониторинг
производительности,
от инфраструктуры до
браузера и мобильного
приложения.
По цифрам
• 300+ программистов
• 40+ команд
• 6 продуктов, многочисленные общие компоненты (Alerts, Radar)
• 400-500 сервисов, смотря что считать сервисом
• 1 «регион»
• 3 ДЦ + AWS
• 9,5 лет разработки
В Чем Задача?
В 2018ом Году, запустить
второй «регион» в Европе
Точное число еще не объявили; из-за этого умолчания о сроках. Простите.
GDPR осложняет жизнь
Данные о пользователях из Европы не должны покидать Европу
US Region
Accounts DB
Login/Auth Services
Billing Services
Customer Data DBs
Application Services
newrelic.com user
US Region
Accounts DB
Login/Auth Services
Billing Services
Customer Data DBs
Application Services
EU Region
Customer Data DBs
Application Services
replication
newrelic.com user eu.newrelic.com user
(конечно, состав не
удваивается…)
Подозреваем что и третий
регион тоже не далеко
В сторону:
Никогда не говорите боссу что вам скучно
Итак, 9,5 лет…
«Органически» выращенная
инфраструктура
Отстроена «с нуля» раз в год
«Готовность к ЧП»
Что-то в ДЦ, что-то в AWS
Смешанная Инфраструктура
CentOS 7, CentOS 6, CoreOS (новое)
Puppet, Ansible, Capistrano
Деплоймент и конфигурация
зависят от команды и года
разработки
Новое в контейнерах, старое нет
Контейнеры – под Centurion (старое) или Marathon (новое)
Базы данных в контейнерах, но не все
Чем старше и важнее сервис,
тем сложнее его запускать
Зависимость от железа
Базы данных и другие ключевые системы очень любят SSDs и быструю сеть
Многие системы плохо реагируют на задержки в сети, «шумных соседей»
Предположения о специфическом железе глубоко впитались в дизайн систем
Итак, параметры задачи…
• За [...] месяцев возвести второй «регион» всех приложений
• Сделать это в «cloud»
• Бизнес хочет двигаться со временем туда
• Нанимать людей и отстраивать ДЦ в Европе нет ни времени ни бюджета
• Да и слишком рискованно
• … но что бы хорошо работало
• Не тормозить всю компанию!
Три Важных Характеристики
1. Воспроизводимость
характеристика результатов испытаний, определяемая взаимной близостью
результатов повторных испытаний объекта
Воспроизводимость
https://www.flickr.com/photos/xstc/14394455377
https://www.flickr.com/photos/thebricktime/12562072535
https://www.flickr.com/photos/coweater/4727185794
VS
“You’re only good at the things
you do every day.”
Unknown
(забыл кто сказал, и никак не могу найти)
2. Согласованность
Внутреннее соответствие убеждений и действий, поведения индивида
Согласованность
https://www.flickr.com/photos/sillygwailo/4545296980 https://www.flickr.com/photos/dsundesigns/36359861566
VS
3. Гибкость
склонность к уступкам, компромиссам
Гибкость
https://www.flickr.com/photos/mark6mauno/14209903504
VS
Все три у нас имеются в изобилии
… но только локально и никогда все вместе
Вопрос 1: Где строить, и как?
AWS – идеальный вариант
… но только с точки зрения нашей группы
AWS и другие “clouds” отпадают
Слишком много неконтролируемых задержек и вариаций
Гибкость ✖
В отношении железа ее практически нет, и очень дорого ее развить
Свой ДЦ Отпадает
Слишком дорого и рискованно
Остаются «MSP»
Но тогда в страдают воспроизводимость и согласованность
Vendor X
Опять не могу назвать по имени
Vendor X
• Удовлетворяет нужды по производительности
• Сеть общая, но со строгими гарантиями
• Поставляет железо с удаленным управлением
• Имеет API
• Легко запрашивать инвентарь
• Заказывать серверов по API; установка занимает 3-5 часов
• Terraform и т.д. не поддерживается
Воспроизводимость? ✖
Заказы делаются путем посылки сложной структуры на API
API императивное, не декларативное
API явно смоделированно под UI
Согласованность? ✖
Добавляется третий способ эксплуатации ресурсов – ни как ДЦ, ни как в AWS
Решение – Закатать Рукава!
Пишем свои «providers» для Terraform!
Кратко о Terraform
Длиннее – отличный пост на блоге Selectel
https://blog.selectel.ru/gostevoj-post-upravlyaem-virtualnym-privatnym-oblakom-s-pomoshhyu-
terraform/
Terraform: Утилита и язык для
моделирования инфраструктуры
“Infrastructure As Code”
https://adamcod.es/2015/10/22/a-pracitcal-introduction-
to-terraform-tutorial.html
Декларативный Синтаксис
Ввод в Terraform – это конечное желаемое состояние системы
Полностью подключаемая
архитектура
Если Terraform чего-то не делает, это только потому что вы, читатель, еще не
заставили его это делать
Module “private_host”:
Логическое Разделение
Заказ сервера отделен от Настройки Функции, “imaging”
Воспроизводимость? ✔
Terraform дает автоматизацию взвода инфраструктуры, даже с железом
Согласованность? ✔
Раздел заказа серверов от «imaging» - привычный паттерн
Бонус: все через Git + Jenkins
Центральный контроль и журнал действий – никаких недомолвок
На будущее: анализ состояния
Terraform
Состояние хранится в S3 – скачивай и делай что хочешь
Вопрос 2: Как не перегрузить и
не запугать всю компанию?
Вспомним – много вариантов
Разные языки, платформы, CM, паттерны
Каждый вариант добавляет
сложность и хрупкость
То есть нагрузку на задействованные команды во время взвода
Согласованность? ✖
Это самое важное место где ее не хватает
Решение: доделываем переход
на контейнеры и переменные
окружения начатый в 2013ом
От многих команд требуется начальный вклад; потом – свобода!
Бонус: только CoreOS в новом
регионе
Если все хорошо – перегоняем старый и имеем общие основы
Если плохо, вернуться на CentOS легко когда все в контейнерах!
Погашение огромного
технический долга
Превращаем тактическую задачу в стратегическую
Большие перемены требуют
внимательного надзора
Такие задачи могут вызвать страх, нервы, и сопротивление
Требуется точность в
изъяснениях и запросах
“In a container” != “In a container running in Marathon”
Помогает только опыт
Ищем и внедряем локальных «чемпионов»
Воспроизводимость? ✔
Все сервисы запущены либо через Marathon или Centurion
Вся конфигурация – в коде
Ее даже можно анализировать!
Согласованность? ✔
Все запускается и получает конфигурацию одним и тем же методом
Гибкость? ✔
Контейнеры теперь можно запускать на любой каркас или “orchestrator”
Конечно, зависимость от железа остается на следующий раунд
Симуляция идеального запуска региона
Вопрос 3: Что делать с
балансировщиками?
Заменять нет ни времени ни
желания
Работы у сетевой группы и так полно
Делать что-то новое только в
новом регионе – пугает
В «раздвоенной» инфраструктуре значительно возрастает риск ошибки
Но! Есть «виртуальная» версия!
OS балансировщиков доступен в виде разных VM images
Гипервизор мы запускать не собираемся, но есть *.qcow2
Можно просто запустить на Linux под qemu-kvm!
(это модифицированный Linux)
Итак, заходим на сервер
CoreOS и запускаем qemu-kvm…
Ах да! Нет менеджера пакетов…
Устанавливаем from source!
$ ./configure
bash: command not found: python
Нет менеджера пакетов, но…
… есть Docker!
$ docker run centos:7 ... /bin/bash
# yum install qemu-kvm
# qemu-kvm …. BIGIP-13.0.0.0.qcow2
https://gfycat.com/gifs/detail/ornerywanfly
Даем доступ к сети “host”
Прямой доступ к NIC, не через Docker
Сам qcow2 image оставляем на
файловой системе; контейнеру
доступ через bind-mount
Конечно внутри контейнера это бы работало очень медленно.
Забивает NIC на 80-85%!
Авто-настройка
Балансировщик готов к работе как только контейнер загрузился
Воспроизводимость? ✔
Согласованность? ✔
Все работает так же как и в первом регионе!
… а дальше – увидим!
Вопросы?
Спасибо!
m@mihasya.com @mihasya

More Related Content

What's hot

Александр Белоцерковский
Александр БелоцерковскийАлександр Белоцерковский
Александр Белоцерковский
CodeFest
 
Пайплайн машинного обучения на Apache Spark
Пайплайн машинного обучения на Apache SparkПайплайн машинного обучения на Apache Spark
Пайплайн машинного обучения на Apache Spark
RamblerML
 
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
Ontico
 
Сергей Орлов
Сергей ОрловСергей Орлов
Сергей Орлов
CodeFest
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
it-people
 
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Ontico
 
Лев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про ErlangЛев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про Erlang
Yury Yurevich
 
Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)
Ontico
 
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Unigine Corp.
 

What's hot (9)

Александр Белоцерковский
Александр БелоцерковскийАлександр Белоцерковский
Александр Белоцерковский
 
Пайплайн машинного обучения на Apache Spark
Пайплайн машинного обучения на Apache SparkПайплайн машинного обучения на Apache Spark
Пайплайн машинного обучения на Apache Spark
 
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
 
Сергей Орлов
Сергей ОрловСергей Орлов
Сергей Орлов
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
 
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
 
Лев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про ErlangЛев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про Erlang
 
Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)
 
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
 

Similar to Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие приключения / Михаил Панченко (New Relic)

Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET Core
Andrew Gubskiy
 
Видеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложенииВидеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложении
Voximplant
 
Нюансы запуска приложений в Kubernetes
Нюансы запуска приложений в KubernetesНюансы запуска приложений в Kubernetes
Нюансы запуска приложений в Kubernetes
Андрей Новиков
 
Middleware
MiddlewareMiddleware
Middleware
megakott
 
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнесаФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
Экосистемные Проекты Фрии
 
Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)
Alexander Babich
 
Cocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений СафроновCocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений Сафронов
Yandex
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
Fwdays
 
Как сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпутиКак сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпутиAndrew Mayorov
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?
etyumentcev
 
От локальной Devops инфраструктуры в облако
От локальной Devops инфраструктуры в облакоОт локальной Devops инфраструктуры в облако
От локальной Devops инфраструктуры в облако
Microsoft
 
Страх и ненависть в мире релиз-инжиниринга
Страх и ненависть в мире релиз-инжинирингаСтрах и ненависть в мире релиз-инжиниринга
Страх и ненависть в мире релиз-инжиниринга
Mikhail Chinkov
 
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Fwdays
 
Антон Тюрин, Евгений Сафронов, Инфраструктура под Cocaine
Антон Тюрин, Евгений Сафронов, Инфраструктура под CocaineАнтон Тюрин, Евгений Сафронов, Инфраструктура под Cocaine
Антон Тюрин, Евгений Сафронов, Инфраструктура под Cocaine
Tanya Denisyuk
 
Микросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс РоссияМикросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс Россия
Alexander Byndyu
 
Стабильны ли ваши приложения в облаках?
Стабильны ли ваши приложения в облаках?Стабильны ли ваши приложения в облаках?
Стабильны ли ваши приложения в облаках?
Yandex
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
Mikhail Chinkov
 
GeorgyShuklin (Selectel) @ CodeCamp2011
GeorgyShuklin (Selectel) @ CodeCamp2011GeorgyShuklin (Selectel) @ CodeCamp2011
GeorgyShuklin (Selectel) @ CodeCamp2011CodeCamp
 
Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...
Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...
Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...
Oleg Chirukhin
 
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Ontico
 

Similar to Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие приключения / Михаил Панченко (New Relic) (20)

Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET Core
 
Видеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложенииВидеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложении
 
Нюансы запуска приложений в Kubernetes
Нюансы запуска приложений в KubernetesНюансы запуска приложений в Kubernetes
Нюансы запуска приложений в Kubernetes
 
Middleware
MiddlewareMiddleware
Middleware
 
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнесаФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
 
Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)
 
Cocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений СафроновCocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений Сафронов
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
 
Как сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпутиКак сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпути
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?
 
От локальной Devops инфраструктуры в облако
От локальной Devops инфраструктуры в облакоОт локальной Devops инфраструктуры в облако
От локальной Devops инфраструктуры в облако
 
Страх и ненависть в мире релиз-инжиниринга
Страх и ненависть в мире релиз-инжинирингаСтрах и ненависть в мире релиз-инжиниринга
Страх и ненависть в мире релиз-инжиниринга
 
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
 
Антон Тюрин, Евгений Сафронов, Инфраструктура под Cocaine
Антон Тюрин, Евгений Сафронов, Инфраструктура под CocaineАнтон Тюрин, Евгений Сафронов, Инфраструктура под Cocaine
Антон Тюрин, Евгений Сафронов, Инфраструктура под Cocaine
 
Микросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс РоссияМикросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс Россия
 
Стабильны ли ваши приложения в облаках?
Стабильны ли ваши приложения в облаках?Стабильны ли ваши приложения в облаках?
Стабильны ли ваши приложения в облаках?
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
GeorgyShuklin (Selectel) @ CodeCamp2011
GeorgyShuklin (Selectel) @ CodeCamp2011GeorgyShuklin (Selectel) @ CodeCamp2011
GeorgyShuklin (Selectel) @ CodeCamp2011
 
Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...
Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...
Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...
 
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
 

More from Ontico

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
Ontico
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Ontico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Ontico
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Ontico
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
Ontico
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Ontico
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
Ontico
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
Ontico
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Ontico
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Ontico
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Ontico
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Ontico
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
Ontico
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Ontico
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
Ontico
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Ontico
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Ontico
 
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Ontico
 

More from Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
 

Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие приключения / Михаил Панченко (New Relic)

Editor's Notes

  1. По-русски я говорю в основном с родителями и с братом Готов обсуждать погоду, мировые события, спорт, собаку, и боль в суставах В обсуждении профессиональных тем практики на много меньше Будьте готовы подсказать
  2. Заметьте что сервисов больше чем людей
  3. Это все очень сложно, можно час проговорить только о том что этот закон действительно означает
  4. Деплоймент, поддержка и т.д. должны быть объединенными, иначе мы просто утонем
  5. 2 сервера, потом еще 2, потом еще 10, 100 и т.д.
  6. Во все впитано предположение что какая-то часть инфраструктуры уже там Много циклов зависимостей
  7. Даже среди контейренов много разнообразия Docker run –restart-always -> systemd -> centurion -> marathon Centurion – нами написанная система которая позволяет назначить специфический набор контейнеров на специфический сервер Работает не плохо, но слишком «ручная» для большого масштаба Marathon – новая система; каркас для Mesos для запуска долгоживущих процессов автоматически распределяет сервисы по кластеру в зависимости от требований
  8. Система построена с допущением что будет пускаться с очень мощных систем с SSD дисками. Это предположение встроено глубоко в дизайн системы. Заметьте - очень неплохое название для вашей следующей рок группы
  9. А почему нет времени? Почему не занять побольше времени? Об этом тоже должен промолчать, к сожалению
  10. Время хоть небольшое, но дали. Есть возможность продумать задачу, спланировать подход, изъять дополнительные положительные результаты
  11. При наличии этих трех вещей, становится гораздо проще делать вещи быстро и хорошо.
  12. Индивид в этом случае это инженерный отдел Согласованность или непротиворечивость Дает большой инфраструктуре ощущения простоты Монорельса – хотя бы частично Позволяет уменьшить связанность (coupling) Упрощает асинхронную работу между командами (Asynchronous)
  13. Unreliable = ненадежная
  14. Очень много гибкости Очень легко ввести воспроизводимость – Terraform и другие пособия
  15. Переписывать системы что бы они лучше работали в cloud времени не хватит Особенного аппетита на такой риск тоже нет
  16. MSP = Хостеры IaaS? Selectel?
  17. Таким образом мы получаем 6 сервером определенного типа В этом файле еще много таких секций – одна на каждый размер Это создает общий состав серверов которые теперь доступны для imaging и использования Мы можем даже сделать так что бы Terraform всегда держал несколько свободных серверов
  18. С точки зрения «заказчика» мы просимулировали «cloud» – они ввели это в Terraform Jenkins пробежал – через 5-10 минут – готовый сервер-железо!
  19. ДЦ опс – люди в ДЦ. В Европе, заменяются Vendor X Группа MaaS – Metal as a Service Они ответственные за процесс заказа и установки серверов MaaS продолжает играть ту же знакомую роль Мы работает вместе с ними что бы минимизировать особенности этих сред окружения
  20. Centos 7/6, CoreOS, Puppet, Ansible, Capistrano, Docker или так…
  21. Каждая команда с не-стандартным методом запуска должна помогать с каждым запуском. Так жить не возможно – мы хотим сделать очень много пробных запусков и заменить по пути метод подготовки к ЧП на полную автоматизацию Мы затребуем слишком много времени от команд в течении слишком длительного периуда Либо затормозим бизнес, либо наш проэкт просто отменят
  22. Это дает нам общий, согласованный интерфейс – Consistent Interface Некоторые команды уже давно сделали это просто потому что это хорошая идея Теперь у нас есть причина попросить и всех остальных!
  23. В моем опыте - очень редкий случай что бы компания решилась вложить столько времени в оперативные улучшения Второго такого не будет, так что нужно воспользоваться Это даст нам «второе дыхание»
  24. Для базы данных, первое очень достижимо используя “bind mounts” А второе очень сложно так как не очень ясно как сохранить состояние в то время как Marathon может кинуть контейнер куда угодно Изначально, многие группы не понимали разницы и очень испугались
  25. Так как мы пользуемся контейнерами уже с конца 2013го года, есть много знатоков в компании Очень полезно посадить этих людей рядом с менее опытными командами Это ускоряет их переход и значительно успокаивает нервы и страх неизвестного
  26. (load balancers)
  27. В ДЦ у нас стоят F5 BIGIP балансировщики. Они большие и дорогие, но самое главное – они не доступны у Vendor X!
  28. Создаем виртуальный диск на который мы загружаем скрипты конфигурации Таки образом балансировщик готов к работе как только контейнер загрузился – человеческое участие не нужно
  29. Это конечно не 100, НО этот метод достаточно дешев – мы можем просто запустить их побольше Утеря эффективности стоит сохранения психического здоровья сетевых инженеров