SlideShare une entreprise Scribd logo
1  sur  72
DevOps
движение по хрупкому
дну
Сергей Караткевич
Про меня:
Админю с 2003
Работаю с разработчиками с 2007
Решаю бизнес-задачи с 2010
«Сегодня я расскажу, как сэкономить
на базах данных огромные деньги,
например, миллион долларов, как
это сделали мы.»
Аникин Денис (Mail.Ru)
но мы не тратим миллион
долларов. даже полмиллиона
О чем я буду рассказывать
О чем я буду рассказывать
О чем я буду рассказывать
Сервера
Офисы
Сервера
Офисы
Сервера
Офисы
Сервера
Офисы
Сервера
Офисы
Сервера
Офисы
Сервера
Офисы
Сервера
Офисы
все это произошло за 4 месяца — 90 рабочих дней
Почему вы используете Docker
неправильно
«Иногда мне кажется, что Docker придумали специально, чтобы
оградить людей от NodeJS»
FROM php:7-fpm-alpine
ENV DEBIAN_FRONTEND=noninteractive
RUN echo '@testing http://nl.alpinelinux.org/alpine/edge/testing' >>
/etc/apk/repositories && 
apk update && apk upgrade && 
apk add git curl zlib-dev libmemcached-dev shadow@testing && 
git clone --branch php7
https://github.com/php-memcached-dev/php-memcached
/usr/src/php/ext/memcached && 
cd /usr/src/php/ext/memcached && 
docker-php-ext-configure memcached --disable-memcached-sasl && 
docker-php-ext-install bcmath zip pdo_mysql memcached pcntl && 
docker-php-ext-enable opcache && 
usermod -u 1000 www-data && 
rm -rf /usr/local/src/* /var/cache/apk/* /tmp/* /var/tmp/*
ADD . /var/www/html/
WORKDIR /var/www/html
RUN rm -rf ./docker && 
chown -R www-data.www-data . && 
curl -sS https://getcomposer.org/installer | php --
--install-dir=/usr/local/bin --filename=composer && 
composer config --global github-oauth.github.com
osdc47a9835779cb32c0d06dafeb83fkx69331sdw5 && 
mkdir -p ~/.ssh && 
echo -e "Host github.comntStrictHostKeyChecking non" >>
~/.ssh/config && 
composer install --no-dev --no-interaction --no-progress
--no-scripts --optimize-autoloader
EXPOSE 9000
CMD ["php-fpm"]
docker build .
FROM php:7-fpm-alpine
ENV DEBIAN_FRONTEND=noninteractive
RUN echo '@testing http://nl.alpinelinux.org/alpine/edge/testing' >>
/etc/apk/repositories && 
apk update && apk upgrade && 
apk add git curl zlib-dev libmemcached-dev shadow@testing && 
git clone --branch php7
https://github.com/php-memcached-dev/php-memcached
/usr/src/php/ext/memcached && 
cd /usr/src/php/ext/memcached && 
docker-php-ext-configure memcached --disable-memcached-sasl && 
docker-php-ext-install bcmath zip pdo_mysql memcached pcntl && 
docker-php-ext-enable opcache && 
usermod -u 1000 www-data && 
rm -rf /usr/local/src/* /var/cache/apk/* /tmp/* /var/tmp/*
ADD . /var/www/html/
WORKDIR /var/www/html
RUN rm -rf ./docker && 
chown -R www-data.www-data . && 
curl -sS https://getcomposer.org/installer | php --
--install-dir=/usr/local/bin --filename=composer && 
composer config --global github-oauth.github.com
osdc47a9835779cb32c0d06dafeb83fkx69331sdw5 && 
mkdir -p ~/.ssh && 
echo -e "Host github.comntStrictHostKeyChecking non" >>
~/.ssh/config && 
composer install --no-dev --no-interaction --no-progress
--no-scripts --optimize-autoloader
EXPOSE 9000
CMD ["php-fpm"]
usermod -u 1000 www-data &&
FROM php:7-fpm-alpine
ENV DEBIAN_FRONTEND=noninteractive
RUN echo '@testing http://nl.alpinelinux.org/alpine/edge/testing' >>
/etc/apk/repositories && 
apk update && apk upgrade && 
apk add git curl zlib-dev libmemcached-dev shadow@testing && 
git clone --branch php7
https://github.com/php-memcached-dev/php-memcached
/usr/src/php/ext/memcached && 
cd /usr/src/php/ext/memcached && 
docker-php-ext-configure memcached --disable-memcached-sasl && 
docker-php-ext-install bcmath zip pdo_mysql memcached pcntl && 
docker-php-ext-enable opcache && 
usermod -u 1000 www-data && 
rm -rf /usr/local/src/* /var/cache/apk/* /tmp/* /var/tmp/*
ADD . /var/www/html/
WORKDIR /var/www/html
RUN rm -rf ./docker && 
chown -R www-data.www-data . && 
curl -sS https://getcomposer.org/installer | php --
--install-dir=/usr/local/bin --filename=composer && 
composer config --global github-oauth.github.com
osdc47a9835779cb32c0d06dafeb83fkx69331sdw5 && 
mkdir -p ~/.ssh && 
echo -e "Host github.comntStrictHostKeyChecking non" >>
~/.ssh/config && 
composer install --no-dev --no-interaction --no-progress
--no-scripts --optimize-autoloader
EXPOSE 9000
CMD ["php-fpm"]
ADD . /var/www/html/
FROM php:7-fpm-alpine
ENV DEBIAN_FRONTEND=noninteractive
RUN echo '@testing http://nl.alpinelinux.org/alpine/edge/testing' >>
/etc/apk/repositories && 
apk update && apk upgrade && 
apk add git curl zlib-dev libmemcached-dev shadow@testing && 
git clone --branch php7
https://github.com/php-memcached-dev/php-memcached
/usr/src/php/ext/memcached && 
cd /usr/src/php/ext/memcached && 
docker-php-ext-configure memcached --disable-memcached-sasl && 
docker-php-ext-install bcmath zip pdo_mysql memcached pcntl && 
docker-php-ext-enable opcache && 
usermod -u 1000 www-data && 
rm -rf /usr/local/src/* /var/cache/apk/* /tmp/* /var/tmp/*
ADD . /var/www/html/
WORKDIR /var/www/html
RUN rm -rf ./docker && 
chown -R www-data.www-data . && 
curl -sS https://getcomposer.org/installer | php --
--install-dir=/usr/local/bin --filename=composer && 
composer config --global github-oauth.github.com
osdc47a9835779cb32c0d06dafeb83fkx69331sdw5 && 
mkdir -p ~/.ssh && 
echo -e "Host github.comntStrictHostKeyChecking non" >>
~/.ssh/config && 
composer install --no-dev --no-interaction --no-progress
--no-scripts --optimize-autoloader
EXPOSE 9000
CMD ["php-fpm"]
ADD . /var/www/html/
•Используйте COPY
•Помните о контексте
FROM php:7-fpm-alpine
ENV DEBIAN_FRONTEND=noninteractive
RUN echo '@testing http://nl.alpinelinux.org/alpine/edge/testing' >>
/etc/apk/repositories && 
apk update && apk upgrade && 
apk add git curl zlib-dev libmemcached-dev shadow@testing && 
git clone --branch php7
https://github.com/php-memcached-dev/php-memcached
/usr/src/php/ext/memcached && 
cd /usr/src/php/ext/memcached && 
docker-php-ext-configure memcached --disable-memcached-sasl && 
docker-php-ext-install bcmath zip pdo_mysql memcached pcntl && 
docker-php-ext-enable opcache && 
usermod -u 1000 www-data && 
rm -rf /usr/local/src/* /var/cache/apk/* /tmp/* /var/tmp/*
ADD . /var/www/html/
WORKDIR /var/www/html
RUN rm -rf ./docker && 
chown -R www-data.www-data . && 
curl -sS https://getcomposer.org/installer | php --
--install-dir=/usr/local/bin --filename=composer && 
composer config --global github-oauth.github.com
osdc47a9835779cb32c0d06dafeb83fkx69331sdw5 && 
mkdir -p ~/.ssh && 
echo -e "Host github.comntStrictHostKeyChecking non" >>
~/.ssh/config && 
composer install --no-dev --no-interaction --no-progress
--no-scripts --optimize-autoloader
EXPOSE 9000
CMD ["php-fpm"]
ENV
DEBIAN_FRONTEND=noninteractive
RUN composer config --global
github-oauth.github.com
osdc47a9835779cb32c0d06dafeb83f
kx69331sdw5 &&
Docker очень хорош для тестов
docker run -d --name DB_NAME postgres
docker run --user jenkins -v $WORKSPACE:$APP_DIR -w $APP_DIR --link
DB_NAME:database custom-node:0.10.28 bash -c 'npm install && npm test'
'
Почему immutable вас никуда не приведет
Почему immutable вас никуда не приведет
Почему immutable вас никуда не приведет
Почему immutable вас никуда не приведет
• Runtime vs Buildtime (в какой-то момент время билда ПРЕВЫШАЕТ
время работы контейнера)
• в моей системе время сборки 40минут + время замены через
терраформ
• у Akamai деплой новой конфигурации порядка 50минут
Почему микросервисы похоронят вашу компанию
Мы внедряем микросервисы, чтобы:
• позволить распределенным командам разрабатывать части
приложений
• деплоить части приложений независимо друг от друга
• деплоить без остановки приложения
• масштабировать части приложения быстро и независимо
Alice
Bob
Mysql
Alice
Bob
Mysql
Memcached
Alice
Bob
Mysql
Memcached
Worker
Alice
Bob
Mysql
Memcached
Worker
Solr
Alice
Balancer
Bob
Balancer
Memcached
Mysql
Solr
Worker
AliceAlice
BobBob
Alice
Balancer
Bob
Balancer
Memcached
Mysql
Solr
Worker
AliceAlice
BobBob
Elasticsearch
API
Alice
Balancer
Bob
Balancer
Memcached
Mysql
Solr
Worker
AliceAlice
BobBob
Elasticsearch
API
API
API
Elasticsearch
Elasticsearch
Alice
Balancer
Bob
Balancer
Memcached
Mysql
Solr
Worker
AliceAlice
BobBob
Elasticsearch
API
API
API
Elasticsearch
Elasticsearch
Balancer
Alice
Balancer
Bob
Balancer
Memcached
Mysql
Solr
Worker
AliceAlice
BobBob
Elasticsearch
API
API
API
Elasticsearch
Elasticsearch
Balancer
CDN
BI
Alice
Balancer
Bob
Balancer
Memcached
Mysql
Solr
Worker
AliceAlice
BobBob
Elasticsearch
API
API
API
Elasticsearch
Elasticsearch
Balancer
CDN
BI
Solr
Почему микросервисы похоронят вашу компанию
«В сложных системах поведение агентов приводит к
неожиданным результатам для всей системы»*
*Про сложность позже
'cluster.name' => 'escluster',
'cloud.aws.region' => region,
'http.port' => 9200,
'script.inline' => 'on',
'script.indexed' => 'on',
'discovery.type' => 'ec2',
'bootstrap.mlockall' => 'true',
'cloud.aws.access_key' => node["es-cluster"]["aws"]["access_key"],
'cloud.aws.secret_key' => node["es-cluster"]["aws"]["secret_key"],
'discovery.ec2.groups' => sg,
'discovery.zen.ping.multicast.enabled' => 'false',
'discovery.ec2.host_type' => 'private_ip',
'network.publish_host' => '_ec2:privateIpv4_',
'network.host' => '0.0.0.0’,
'cloud.aws.region' => region,
'cluster.name' => 'escluster',
'cloud.aws.region' => region,
'http.port' => 9200,
'script.inline' => 'on',
'script.indexed' => 'on',
'discovery.type' => 'ec2',
'bootstrap.mlockall' => 'true',
'cloud.aws.access_key' => node["es-cluster"]["aws"]["access_key"],
'cloud.aws.secret_key' => node["es-cluster"]["aws"]["secret_key"],
'discovery.ec2.groups' => sg,
'discovery.zen.ping.multicast.enabled' => 'false',
'discovery.ec2.host_type' => 'private_ip',
'network.publish_host' => '_ec2:privateIpv4_',
'network.host' => '0.0.0.0’,
'cloud.aws.access_key'
'cloud.aws.secret_key'
'cluster.name' => 'escluster',
'cloud.aws.region' => region,
'http.port' => 9200,
'script.inline' => 'on',
'script.indexed' => 'on',
'discovery.type' => 'ec2',
'bootstrap.mlockall' => 'true',
'cloud.aws.access_key' => node["es-cluster"]["aws"]["access_key"],
'cloud.aws.secret_key' => node["es-cluster"]["aws"]["secret_key"],
'discovery.ec2.groups' => sg,
'discovery.zen.ping.multicast.enabled' => 'false',
'discovery.ec2.host_type' => 'private_ip',
'network.publish_host' => '_ec2:privateIpv4_',
'network.host' => '0.0.0.0’,
'discovery.ec2.groups' => sg
'cluster.name' => 'escluster',
'cloud.aws.region' => region,
'http.port' => 9200,
'script.inline' => 'on',
'script.indexed' => 'on',
'discovery.type' => 'ec2',
'bootstrap.mlockall' => 'true',
'cloud.aws.access_key' => node["es-cluster"]["aws"]["access_key"],
'cloud.aws.secret_key' => node["es-cluster"]["aws"]["secret_key"],
'discovery.ec2.groups' => sg,
'discovery.zen.ping.multicast.enabled' => 'false',
'discovery.ec2.host_type' => 'private_ip',
'network.publish_host' => '_ec2:privateIpv4_',
'network.host' => '0.0.0.0’,
'discovery.ec2.host_type'
'network.publish_host'
Почему микросервисы похоронят вашу компанию
Почему микросервисы похоронят вашу компанию
• 11 дней потребовалось C****F***e,
чтобы достать IP-адрес из блеклиста
• 41 день потребовался компании
A****I, чтобы избавиться от двойного слеша в
конце URL
• 13дней потребовалось компании
A****n, чтобы починить сеть в Сингапуре после
выхода из строя кабеля
Почему микросервисы похоронят вашу компанию
Почему ваша система слишком сложна
«Понимание происходящего может
приходить не сразу, а работать должно
было вчера»
@bogdar
Alice
Balancer
Bob
Balancer
Memcached
Mysql
Solr
Worker
AliceAlice
BobBob
Elasticsearch
API
API
API
Elasticsearch
Elasticsearch
Balancer
CDN
BI
Solr
Как микросервисы взаимодействуют между собой
Почему ваша система слишком сложна
Почему ваша система слишком сложна
Почему ваша система слишком сложна
Почему ваша система слишком сложна
• bogdar: понимание происходящего может приходить не сразу
• bogdar: а работать должно было вчера
• Среднее покрытие кода тестами на моих проектах 0.23%
Каждый контейнер становится уникальным
что вводит элемент неожиданности
КАЖДАЯ КОМАНДА СБОРКИ МОЖЕТ ОТКАЗАТЬ
ВЫ НИКОГДА НЕ ПРОВЕРЯЛИ ИХ ВСЕ
Agile, CI, CD и ChatOps не заработают
Деплой
Но это работает просто отлично
если работает
Деплой
Новый скрипт
максимум 16деплоев в день
с 4 апреля по 3 мая 210деплоев на стейджинг
И 230деплоев на продакшн!
Старый скрипт
32деплоя (за февраль)
Деплой
Основные проблемы:
Запуск постскриптов
Разница между nohup и &
Лок-файлы
Логгинг
Деплой
Логгинг
exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
exec 1> /var/log/deploy.log 2>&1
Деплой
Вопросы!
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)

Contenu connexe

Tendances

5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)Ontico
 
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...Ontico
 
2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays Highload2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays HighloadYehor Herasymchuk
 
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Badoo Development
 
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)Ontico
 
Архитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooАрхитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooBadoo Development
 
Андрей Ситник
Андрей СитникАндрей Ситник
Андрей СитникCodeFest
 
Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)
Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)
Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)Ontico
 
Архитектура растущего проекта на примере ВКонтакте / Алексей Акулович (ВКонт...
 Архитектура растущего проекта на примере ВКонтакте / Алексей Акулович (ВКонт... Архитектура растущего проекта на примере ВКонтакте / Алексей Акулович (ВКонт...
Архитектура растущего проекта на примере ВКонтакте / Алексей Акулович (ВКонт...Ontico
 
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...Ontico
 
Антон Турецкий
Антон ТурецкийАнтон Турецкий
Антон ТурецкийCodeFest
 
Вячеслав Бахмутов
Вячеслав БахмутовВячеслав Бахмутов
Вячеслав БахмутовCodeFest
 
Проникновение в Docker с примерами
Проникновение в Docker с примерамиПроникновение в Docker с примерами
Проникновение в Docker с примерамиДмитрий Столяров
 
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...Ontico
 
Денис Иванов
Денис ИвановДенис Иванов
Денис ИвановCodeFest
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupBadoo Development
 
Антон Галицын
Антон ГалицынАнтон Галицын
Антон ГалицынCodeFest
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Anton Turetsky
 

Tendances (20)

5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
 
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
 
2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays Highload2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays Highload
 
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
 
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
 
Docker networking
Docker networkingDocker networking
Docker networking
 
Архитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooАрхитектура хранения фотографий в Badoo
Архитектура хранения фотографий в Badoo
 
Андрей Ситник
Андрей СитникАндрей Ситник
Андрей Ситник
 
Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)
Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)
Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)
 
Архитектура растущего проекта на примере ВКонтакте / Алексей Акулович (ВКонт...
 Архитектура растущего проекта на примере ВКонтакте / Алексей Акулович (ВКонт... Архитектура растущего проекта на примере ВКонтакте / Алексей Акулович (ВКонт...
Архитектура растущего проекта на примере ВКонтакте / Алексей Акулович (ВКонт...
 
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
 
Антон Турецкий
Антон ТурецкийАнтон Турецкий
Антон Турецкий
 
Вячеслав Бахмутов
Вячеслав БахмутовВячеслав Бахмутов
Вячеслав Бахмутов
 
Проникновение в Docker с примерами
Проникновение в Docker с примерамиПроникновение в Docker с примерами
Проникновение в Docker с примерами
 
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
 
Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
 
Антон Галицын
Антон ГалицынАнтон Галицын
Антон Галицын
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?
 

En vedette

Ceph BlueStore - новый тип хранилища в Ceph / Максим Воронцов, (Redsys)
Ceph BlueStore - новый тип хранилища в Ceph / Максим Воронцов, (Redsys)Ceph BlueStore - новый тип хранилища в Ceph / Максим Воронцов, (Redsys)
Ceph BlueStore - новый тип хранилища в Ceph / Максим Воронцов, (Redsys)Ontico
 
Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...
Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...
Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...Ontico
 
Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков...
Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков...Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков...
Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков...Ontico
 
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Ontico
 
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)Ontico
 
системный анализ и реинжиниринг
системный анализ и реинжинирингсистемный анализ и реинжиниринг
системный анализ и реинжинирингAleksandr Barmin
 
Александр Воинов - Тренды Web
Александр Воинов - Тренды WebАлександр Воинов - Тренды Web
Александр Воинов - Тренды WebDrupalSib
 
Реинжиниринг бизнес-процессов, как результат внедрения программного обеспечения.
Реинжиниринг бизнес-процессов, как результат внедрения программного обеспечения.Реинжиниринг бизнес-процессов, как результат внедрения программного обеспечения.
Реинжиниринг бизнес-процессов, как результат внедрения программного обеспечения.Uzbekistan Rugby Federation
 
Lucene in odnoklassniki.ru
Lucene in odnoklassniki.ruLucene in odnoklassniki.ru
Lucene in odnoklassniki.ruDmitry Buzdin
 
Евгений Ильин. Drupal + Solr: Яндекс.Маркет своими руками
Евгений Ильин. Drupal + Solr: Яндекс.Маркет своими рукамиЕвгений Ильин. Drupal + Solr: Яндекс.Маркет своими руками
Евгений Ильин. Drupal + Solr: Яндекс.Маркет своими рукамиDrupalSib
 
Поиск на своем сайте, обзор open source решений
Поиск на своем сайте, обзор open source решенийПоиск на своем сайте, обзор open source решений
Поиск на своем сайте, обзор open source решенийaragozin
 
ElacticSearch в связке с MODX Revo - MODX Meetup Minsk
ElacticSearch в связке с MODX Revo - MODX Meetup MinskElacticSearch в связке с MODX Revo - MODX Meetup Minsk
ElacticSearch в связке с MODX Revo - MODX Meetup MinskMODX Беларусь
 
Создание географически-распределенных датацентров на базе инженерных систем
Создание географически-распределенных датацентров на базе инженерных системСоздание географически-распределенных датацентров на базе инженерных систем
Создание географически-распределенных датацентров на базе инженерных системAndrey Akulov
 
Александр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comАлександр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comOntico
 
Технологии и продукты Oracle для обработки и анализа Больших Данных
Технологии и продукты Oracle для обработки и анализа Больших ДанныхТехнологии и продукты Oracle для обработки и анализа Больших Данных
Технологии и продукты Oracle для обработки и анализа Больших ДанныхAndrey Akulov
 
Алексей Чумаков. Apache Cassandra на реальном проекте
Алексей Чумаков. Apache Cassandra на реальном проектеАлексей Чумаков. Apache Cassandra на реальном проекте
Алексей Чумаков. Apache Cassandra на реальном проектеVolha Banadyseva
 
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...Tanya Denisyuk
 
SSAS: multidemention vs tabular mode
SSAS: multidemention vs tabular modeSSAS: multidemention vs tabular mode
SSAS: multidemention vs tabular modeAndrey Korshikov
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...Vyacheslav Nikulin
 

En vedette (20)

Ceph BlueStore - новый тип хранилища в Ceph / Максим Воронцов, (Redsys)
Ceph BlueStore - новый тип хранилища в Ceph / Максим Воронцов, (Redsys)Ceph BlueStore - новый тип хранилища в Ceph / Максим Воронцов, (Redsys)
Ceph BlueStore - новый тип хранилища в Ceph / Максим Воронцов, (Redsys)
 
Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...
Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...
Highload в ВУЗе идеализм, расчётливый менеджмент или пустые надежды / Артем К...
 
Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков...
Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков...Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков...
Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков...
 
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
 
code4russia
code4russiacode4russia
code4russia
 
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
 
системный анализ и реинжиниринг
системный анализ и реинжинирингсистемный анализ и реинжиниринг
системный анализ и реинжиниринг
 
Александр Воинов - Тренды Web
Александр Воинов - Тренды WebАлександр Воинов - Тренды Web
Александр Воинов - Тренды Web
 
Реинжиниринг бизнес-процессов, как результат внедрения программного обеспечения.
Реинжиниринг бизнес-процессов, как результат внедрения программного обеспечения.Реинжиниринг бизнес-процессов, как результат внедрения программного обеспечения.
Реинжиниринг бизнес-процессов, как результат внедрения программного обеспечения.
 
Lucene in odnoklassniki.ru
Lucene in odnoklassniki.ruLucene in odnoklassniki.ru
Lucene in odnoklassniki.ru
 
Евгений Ильин. Drupal + Solr: Яндекс.Маркет своими руками
Евгений Ильин. Drupal + Solr: Яндекс.Маркет своими рукамиЕвгений Ильин. Drupal + Solr: Яндекс.Маркет своими руками
Евгений Ильин. Drupal + Solr: Яндекс.Маркет своими руками
 
Поиск на своем сайте, обзор open source решений
Поиск на своем сайте, обзор open source решенийПоиск на своем сайте, обзор open source решений
Поиск на своем сайте, обзор open source решений
 
ElacticSearch в связке с MODX Revo - MODX Meetup Minsk
ElacticSearch в связке с MODX Revo - MODX Meetup MinskElacticSearch в связке с MODX Revo - MODX Meetup Minsk
ElacticSearch в связке с MODX Revo - MODX Meetup Minsk
 
Создание географически-распределенных датацентров на базе инженерных систем
Создание географически-распределенных датацентров на базе инженерных системСоздание географически-распределенных датацентров на базе инженерных систем
Создание географически-распределенных датацентров на базе инженерных систем
 
Александр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comАлександр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.com
 
Технологии и продукты Oracle для обработки и анализа Больших Данных
Технологии и продукты Oracle для обработки и анализа Больших ДанныхТехнологии и продукты Oracle для обработки и анализа Больших Данных
Технологии и продукты Oracle для обработки и анализа Больших Данных
 
Алексей Чумаков. Apache Cassandra на реальном проекте
Алексей Чумаков. Apache Cassandra на реальном проектеАлексей Чумаков. Apache Cassandra на реальном проекте
Алексей Чумаков. Apache Cassandra на реальном проекте
 
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
 
SSAS: multidemention vs tabular mode
SSAS: multidemention vs tabular modeSSAS: multidemention vs tabular mode
SSAS: multidemention vs tabular mode
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...
 

Similaire à Движение по хрупкому дну / Сергей Караткевич (servers.ru)

От Make к Ansible
От Make к AnsibleОт Make к Ansible
От Make к AnsibleIvan Grishaev
 
Обзор Continuous integration инструментов
Обзор Continuous integration инструментовОбзор Continuous integration инструментов
Обзор Continuous integration инструментовVitalii Morvaniuk
 
Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Nikita Borzykh
 
"Опыт внедрения автоматизации на PHP проектах (Docker, Gitlab CI)"
"Опыт внедрения автоматизации на PHP проектах (Docker, Gitlab CI)""Опыт внедрения автоматизации на PHP проектах (Docker, Gitlab CI)"
"Опыт внедрения автоматизации на PHP проектах (Docker, Gitlab CI)"Artjoker
 
Видеохостинг своими руками
Видеохостинг своими рукамиВидеохостинг своими руками
Видеохостинг своими рукамиStanislavMalkin
 
Как мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон ДовгальКак мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон ДовгальBadoo Development
 
Easy authcache 2 кеширование для pro родионов игорь
Easy authcache 2   кеширование для pro родионов игорьEasy authcache 2   кеширование для pro родионов игорь
Easy authcache 2 кеширование для pro родионов игорьdrupalconf
 
Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Ontico
 
Phalcon - самый быстрый PHP Framework
Phalcon - самый быстрый PHP FrameworkPhalcon - самый быстрый PHP Framework
Phalcon - самый быстрый PHP FrameworkOleksandr Torosh
 
Silverlight 4, есть ли жизнь на десктопе?
Silverlight 4, есть ли жизнь на десктопе?Silverlight 4, есть ли жизнь на десктопе?
Silverlight 4, есть ли жизнь на десктопе?Eugene Zharkov
 
GitLab, Prometheus и Grafana с Kubernetes
GitLab, Prometheus и Grafana с KubernetesGitLab, Prometheus и Grafana с Kubernetes
GitLab, Prometheus и Grafana с KubernetesVictor Login
 
Ec2 Rootconf2009
Ec2 Rootconf2009Ec2 Rootconf2009
Ec2 Rootconf2009Liudmila Li
 
Easy authcache 2 кэширование для pro. Родионов Игорь
Easy authcache 2   кэширование для pro. Родионов ИгорьEasy authcache 2   кэширование для pro. Родионов Игорь
Easy authcache 2 кэширование для pro. Родионов ИгорьPVasili
 
Batch processing in rails
Batch processing in railsBatch processing in rails
Batch processing in railssergeymoiseev
 

Similaire à Движение по хрупкому дну / Сергей Караткевич (servers.ru) (20)

2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
 
От Make к Ansible
От Make к AnsibleОт Make к Ansible
От Make к Ansible
 
Обзор Continuous integration инструментов
Обзор Continuous integration инструментовОбзор Continuous integration инструментов
Обзор Continuous integration инструментов
 
Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...
 
Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.
 
Введение в Docker
Введение в DockerВведение в Docker
Введение в Docker
 
"Опыт внедрения автоматизации на PHP проектах (Docker, Gitlab CI)"
"Опыт внедрения автоматизации на PHP проектах (Docker, Gitlab CI)""Опыт внедрения автоматизации на PHP проектах (Docker, Gitlab CI)"
"Опыт внедрения автоматизации на PHP проектах (Docker, Gitlab CI)"
 
Видеохостинг своими руками
Видеохостинг своими рукамиВидеохостинг своими руками
Видеохостинг своими руками
 
Как мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон ДовгальКак мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон Довгаль
 
Easy authcache 2 кеширование для pro родионов игорь
Easy authcache 2   кеширование для pro родионов игорьEasy authcache 2   кеширование для pro родионов игорь
Easy authcache 2 кеширование для pro родионов игорь
 
Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)
 
Phalcon - самый быстрый PHP Framework
Phalcon - самый быстрый PHP FrameworkPhalcon - самый быстрый PHP Framework
Phalcon - самый быстрый PHP Framework
 
Silverlight 4, есть ли жизнь на десктопе?
Silverlight 4, есть ли жизнь на десктопе?Silverlight 4, есть ли жизнь на десктопе?
Silverlight 4, есть ли жизнь на десктопе?
 
GitLab, Prometheus и Grafana с Kubernetes
GitLab, Prometheus и Grafana с KubernetesGitLab, Prometheus и Grafana с Kubernetes
GitLab, Prometheus и Grafana с Kubernetes
 
Ec2 Rootconf2009
Ec2 Rootconf2009Ec2 Rootconf2009
Ec2 Rootconf2009
 
Docker в development окружение
Docker в development окружениеDocker в development окружение
Docker в development окружение
 
Easy authcache 2 кэширование для pro. Родионов Игорь
Easy authcache 2   кэширование для pro. Родионов ИгорьEasy authcache 2   кэширование для pro. Родионов Игорь
Easy authcache 2 кэширование для pro. Родионов Игорь
 
Docker 1.9
Docker 1.9Docker 1.9
Docker 1.9
 
Batch processing in rails
Batch processing in railsBatch processing in rails
Batch processing in rails
 
Chef
ChefChef
Chef
 

Plus de 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
 

Plus de 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)
 

Движение по хрупкому дну / Сергей Караткевич (servers.ru)

  • 2. Про меня: Админю с 2003 Работаю с разработчиками с 2007 Решаю бизнес-задачи с 2010
  • 3. «Сегодня я расскажу, как сэкономить на базах данных огромные деньги, например, миллион долларов, как это сделали мы.» Аникин Денис (Mail.Ru)
  • 4. но мы не тратим миллион долларов. даже полмиллиона
  • 5. О чем я буду рассказывать
  • 6. О чем я буду рассказывать
  • 7. О чем я буду рассказывать
  • 16. все это произошло за 4 месяца — 90 рабочих дней
  • 17. Почему вы используете Docker неправильно «Иногда мне кажется, что Docker придумали специально, чтобы оградить людей от NodeJS»
  • 18.
  • 19.
  • 20. FROM php:7-fpm-alpine ENV DEBIAN_FRONTEND=noninteractive RUN echo '@testing http://nl.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories && apk update && apk upgrade && apk add git curl zlib-dev libmemcached-dev shadow@testing && git clone --branch php7 https://github.com/php-memcached-dev/php-memcached /usr/src/php/ext/memcached && cd /usr/src/php/ext/memcached && docker-php-ext-configure memcached --disable-memcached-sasl && docker-php-ext-install bcmath zip pdo_mysql memcached pcntl && docker-php-ext-enable opcache && usermod -u 1000 www-data && rm -rf /usr/local/src/* /var/cache/apk/* /tmp/* /var/tmp/* ADD . /var/www/html/ WORKDIR /var/www/html RUN rm -rf ./docker && chown -R www-data.www-data . && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && composer config --global github-oauth.github.com osdc47a9835779cb32c0d06dafeb83fkx69331sdw5 && mkdir -p ~/.ssh && echo -e "Host github.comntStrictHostKeyChecking non" >> ~/.ssh/config && composer install --no-dev --no-interaction --no-progress --no-scripts --optimize-autoloader EXPOSE 9000 CMD ["php-fpm"]
  • 22.
  • 23. FROM php:7-fpm-alpine ENV DEBIAN_FRONTEND=noninteractive RUN echo '@testing http://nl.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories && apk update && apk upgrade && apk add git curl zlib-dev libmemcached-dev shadow@testing && git clone --branch php7 https://github.com/php-memcached-dev/php-memcached /usr/src/php/ext/memcached && cd /usr/src/php/ext/memcached && docker-php-ext-configure memcached --disable-memcached-sasl && docker-php-ext-install bcmath zip pdo_mysql memcached pcntl && docker-php-ext-enable opcache && usermod -u 1000 www-data && rm -rf /usr/local/src/* /var/cache/apk/* /tmp/* /var/tmp/* ADD . /var/www/html/ WORKDIR /var/www/html RUN rm -rf ./docker && chown -R www-data.www-data . && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && composer config --global github-oauth.github.com osdc47a9835779cb32c0d06dafeb83fkx69331sdw5 && mkdir -p ~/.ssh && echo -e "Host github.comntStrictHostKeyChecking non" >> ~/.ssh/config && composer install --no-dev --no-interaction --no-progress --no-scripts --optimize-autoloader EXPOSE 9000 CMD ["php-fpm"] usermod -u 1000 www-data &&
  • 24. FROM php:7-fpm-alpine ENV DEBIAN_FRONTEND=noninteractive RUN echo '@testing http://nl.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories && apk update && apk upgrade && apk add git curl zlib-dev libmemcached-dev shadow@testing && git clone --branch php7 https://github.com/php-memcached-dev/php-memcached /usr/src/php/ext/memcached && cd /usr/src/php/ext/memcached && docker-php-ext-configure memcached --disable-memcached-sasl && docker-php-ext-install bcmath zip pdo_mysql memcached pcntl && docker-php-ext-enable opcache && usermod -u 1000 www-data && rm -rf /usr/local/src/* /var/cache/apk/* /tmp/* /var/tmp/* ADD . /var/www/html/ WORKDIR /var/www/html RUN rm -rf ./docker && chown -R www-data.www-data . && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && composer config --global github-oauth.github.com osdc47a9835779cb32c0d06dafeb83fkx69331sdw5 && mkdir -p ~/.ssh && echo -e "Host github.comntStrictHostKeyChecking non" >> ~/.ssh/config && composer install --no-dev --no-interaction --no-progress --no-scripts --optimize-autoloader EXPOSE 9000 CMD ["php-fpm"] ADD . /var/www/html/
  • 25. FROM php:7-fpm-alpine ENV DEBIAN_FRONTEND=noninteractive RUN echo '@testing http://nl.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories && apk update && apk upgrade && apk add git curl zlib-dev libmemcached-dev shadow@testing && git clone --branch php7 https://github.com/php-memcached-dev/php-memcached /usr/src/php/ext/memcached && cd /usr/src/php/ext/memcached && docker-php-ext-configure memcached --disable-memcached-sasl && docker-php-ext-install bcmath zip pdo_mysql memcached pcntl && docker-php-ext-enable opcache && usermod -u 1000 www-data && rm -rf /usr/local/src/* /var/cache/apk/* /tmp/* /var/tmp/* ADD . /var/www/html/ WORKDIR /var/www/html RUN rm -rf ./docker && chown -R www-data.www-data . && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && composer config --global github-oauth.github.com osdc47a9835779cb32c0d06dafeb83fkx69331sdw5 && mkdir -p ~/.ssh && echo -e "Host github.comntStrictHostKeyChecking non" >> ~/.ssh/config && composer install --no-dev --no-interaction --no-progress --no-scripts --optimize-autoloader EXPOSE 9000 CMD ["php-fpm"] ADD . /var/www/html/ •Используйте COPY •Помните о контексте
  • 26. FROM php:7-fpm-alpine ENV DEBIAN_FRONTEND=noninteractive RUN echo '@testing http://nl.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories && apk update && apk upgrade && apk add git curl zlib-dev libmemcached-dev shadow@testing && git clone --branch php7 https://github.com/php-memcached-dev/php-memcached /usr/src/php/ext/memcached && cd /usr/src/php/ext/memcached && docker-php-ext-configure memcached --disable-memcached-sasl && docker-php-ext-install bcmath zip pdo_mysql memcached pcntl && docker-php-ext-enable opcache && usermod -u 1000 www-data && rm -rf /usr/local/src/* /var/cache/apk/* /tmp/* /var/tmp/* ADD . /var/www/html/ WORKDIR /var/www/html RUN rm -rf ./docker && chown -R www-data.www-data . && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && composer config --global github-oauth.github.com osdc47a9835779cb32c0d06dafeb83fkx69331sdw5 && mkdir -p ~/.ssh && echo -e "Host github.comntStrictHostKeyChecking non" >> ~/.ssh/config && composer install --no-dev --no-interaction --no-progress --no-scripts --optimize-autoloader EXPOSE 9000 CMD ["php-fpm"] ENV DEBIAN_FRONTEND=noninteractive RUN composer config --global github-oauth.github.com osdc47a9835779cb32c0d06dafeb83f kx69331sdw5 &&
  • 27. Docker очень хорош для тестов docker run -d --name DB_NAME postgres docker run --user jenkins -v $WORKSPACE:$APP_DIR -w $APP_DIR --link DB_NAME:database custom-node:0.10.28 bash -c 'npm install && npm test'
  • 28. '
  • 29. Почему immutable вас никуда не приведет
  • 30.
  • 31. Почему immutable вас никуда не приведет
  • 32. Почему immutable вас никуда не приведет
  • 33. Почему immutable вас никуда не приведет • Runtime vs Buildtime (в какой-то момент время билда ПРЕВЫШАЕТ время работы контейнера) • в моей системе время сборки 40минут + время замены через терраформ • у Akamai деплой новой конфигурации порядка 50минут
  • 34. Почему микросервисы похоронят вашу компанию Мы внедряем микросервисы, чтобы: • позволить распределенным командам разрабатывать части приложений • деплоить части приложений независимо друг от друга • деплоить без остановки приложения • масштабировать части приложения быстро и независимо
  • 35.
  • 36.
  • 47. Почему микросервисы похоронят вашу компанию «В сложных системах поведение агентов приводит к неожиданным результатам для всей системы»* *Про сложность позже
  • 48. 'cluster.name' => 'escluster', 'cloud.aws.region' => region, 'http.port' => 9200, 'script.inline' => 'on', 'script.indexed' => 'on', 'discovery.type' => 'ec2', 'bootstrap.mlockall' => 'true', 'cloud.aws.access_key' => node["es-cluster"]["aws"]["access_key"], 'cloud.aws.secret_key' => node["es-cluster"]["aws"]["secret_key"], 'discovery.ec2.groups' => sg, 'discovery.zen.ping.multicast.enabled' => 'false', 'discovery.ec2.host_type' => 'private_ip', 'network.publish_host' => '_ec2:privateIpv4_', 'network.host' => '0.0.0.0’, 'cloud.aws.region' => region,
  • 49. 'cluster.name' => 'escluster', 'cloud.aws.region' => region, 'http.port' => 9200, 'script.inline' => 'on', 'script.indexed' => 'on', 'discovery.type' => 'ec2', 'bootstrap.mlockall' => 'true', 'cloud.aws.access_key' => node["es-cluster"]["aws"]["access_key"], 'cloud.aws.secret_key' => node["es-cluster"]["aws"]["secret_key"], 'discovery.ec2.groups' => sg, 'discovery.zen.ping.multicast.enabled' => 'false', 'discovery.ec2.host_type' => 'private_ip', 'network.publish_host' => '_ec2:privateIpv4_', 'network.host' => '0.0.0.0’, 'cloud.aws.access_key' 'cloud.aws.secret_key'
  • 50. 'cluster.name' => 'escluster', 'cloud.aws.region' => region, 'http.port' => 9200, 'script.inline' => 'on', 'script.indexed' => 'on', 'discovery.type' => 'ec2', 'bootstrap.mlockall' => 'true', 'cloud.aws.access_key' => node["es-cluster"]["aws"]["access_key"], 'cloud.aws.secret_key' => node["es-cluster"]["aws"]["secret_key"], 'discovery.ec2.groups' => sg, 'discovery.zen.ping.multicast.enabled' => 'false', 'discovery.ec2.host_type' => 'private_ip', 'network.publish_host' => '_ec2:privateIpv4_', 'network.host' => '0.0.0.0’, 'discovery.ec2.groups' => sg
  • 51. 'cluster.name' => 'escluster', 'cloud.aws.region' => region, 'http.port' => 9200, 'script.inline' => 'on', 'script.indexed' => 'on', 'discovery.type' => 'ec2', 'bootstrap.mlockall' => 'true', 'cloud.aws.access_key' => node["es-cluster"]["aws"]["access_key"], 'cloud.aws.secret_key' => node["es-cluster"]["aws"]["secret_key"], 'discovery.ec2.groups' => sg, 'discovery.zen.ping.multicast.enabled' => 'false', 'discovery.ec2.host_type' => 'private_ip', 'network.publish_host' => '_ec2:privateIpv4_', 'network.host' => '0.0.0.0’, 'discovery.ec2.host_type' 'network.publish_host'
  • 53. Почему микросервисы похоронят вашу компанию • 11 дней потребовалось C****F***e, чтобы достать IP-адрес из блеклиста • 41 день потребовался компании A****I, чтобы избавиться от двойного слеша в конце URL • 13дней потребовалось компании A****n, чтобы починить сеть в Сингапуре после выхода из строя кабеля
  • 54.
  • 56. Почему ваша система слишком сложна «Понимание происходящего может приходить не сразу, а работать должно было вчера» @bogdar
  • 58. Почему ваша система слишком сложна
  • 59. Почему ваша система слишком сложна
  • 60. Почему ваша система слишком сложна
  • 61.
  • 62. Почему ваша система слишком сложна • bogdar: понимание происходящего может приходить не сразу • bogdar: а работать должно было вчера • Среднее покрытие кода тестами на моих проектах 0.23% Каждый контейнер становится уникальным что вводит элемент неожиданности КАЖДАЯ КОМАНДА СБОРКИ МОЖЕТ ОТКАЗАТЬ ВЫ НИКОГДА НЕ ПРОВЕРЯЛИ ИХ ВСЕ
  • 63. Agile, CI, CD и ChatOps не заработают
  • 64.
  • 65. Деплой Но это работает просто отлично если работает
  • 66. Деплой Новый скрипт максимум 16деплоев в день с 4 апреля по 3 мая 210деплоев на стейджинг И 230деплоев на продакшн! Старый скрипт 32деплоя (за февраль)
  • 68. Деплой Логгинг exec 3>&1 4>&2 trap 'exec 2>&4 1>&3' 0 1 2 3 exec 1> /var/log/deploy.log 2>&1

Notes de l'éditeur

  1. Я буду рассказывать об обычной небольшой организации, о том что не нужно увлекаться дорогостоящими и сложными решениями, когда достаточно простых и проверенных
  2. Я буду рассказывать об обычной небольшой организации если спросить любого девопса где на графике нормального распределения находится его компания, он точно укажет место - с правого края
  3. Я буду рассказывать об обычной небольшой организации если спросить любого девопса где на графике нормального распределения находится его компания, он точно укажет место - с правого края
  4. На самом деле мой опыт показывает, что большинство организаций сталкиваются примерно с теми же самыми проблемами и развиваются по одинаковому сценарию. Поэтому цель моего сегодняшнего выступления убедить вас в этом
  5. Решили минимизировать задержки, сделав географически разнесенную инсталляцию
  6. Потом мы решили что какие-то рынки нам дороже остальных, а на какие-то можно не обращать внимания
  7. Ну а потом бизнес решил выделить часть компании в отдельное бизнес-подразделение со своим оперированием
  8. На картинке типичный пример использования Docker. На самом деле нужно определиться, вы использует докер как систему управления пакетами или как систему управления виртуальными машинами?
  9. Как обычно развиваются события? Прямо перед выкаткой важной фичи, про которую вам забыли рассказать, появляется программист.
  10. И показывает вамм докерфайл. Вы радостно делаете
  11. И ничего не работает
  12. Тут обычно отваливаются желающие использовать дата-контейнры
  13. Проблема контекста для команды ADD
  14. Хардкоженные ключи в докерфайлах, а также переменные. В данном случае все безобидно, но никто не мешает программистам творчески улучшить, особенно когда процессы CI/CD будут автоматизированны
  15. А еще докер очень хорош, чтобы переложить ответственность на программистов.
  16. Вот почему
  17. Типичный "immutablе" сегодня выглядит так вносим изменения в кукбуки деплоим кукбуки в шеф-сервер запускаем пакер для нужной роли деплоим новые инстансы терраформом скейлим ап-даун или прибиваем старые инстансы
  18. это не работает. sorry to say that. софт бажный. терраформ однажды даже удалил продакшн базу (нет, это не компания Gliffy)terraform plan и terraform apply делают разные вещи. я видел rspec для терраформа, но пока все это допишутограничение scope делает не совсем то что ожидалосьпакер не работает в пределах МИНОРНОЙ версии(последний пример - неподгружающиеся ключи шефа в 0.9/0.10.1
  19. На самом деле микросервисы сложнее поэтому микросервисы менее гибки микросервисы менее защищены и менее стабильны
  20. Расскажу немного про типовую архитектуру типового приложения
  21. Расскажу немного про типовую архитектуру типового приложения
  22. Расскажу немного про типовую архитектуру типового приложения
  23. Расскажу немного про типовую архитектуру типового приложения
  24. Расскажу немного про типовую архитектуру типового приложения
  25. Расскажу немного про типовую архитектуру типового приложения
  26. Расскажу немного про типовую архитектуру типового приложения
  27. Расскажу немного про типовую архитектуру типового приложения
  28. Расскажу немного про типовую архитектуру типового приложения
  29. Расскажу немного про типовую архитектуру типового приложения
  30. Расскажу немного про типовую архитектуру типового приложения
  31. Облако и autodiscovery Типичный список проблем с autodiscovery Не там: по умолчанию эластик ищет в регионах по своим внутренним убеждениям. Программисты подняли в одном из регионов кластер и к нему начал цепляться эластик при сборке
  32. Облако и autodiscovery Типичный список проблем с autodiscovery Не там: разновидность не там, с которой мы столкнулись при форке компаний – эластик использовал старые ключи, в результате чего в новой компании эластики присоединялись к старому кластеру
  33. Облако и autodiscovery Правила фильтрации (теги, SG) Серьезная проблема с фильтрацией по секьюрити группам, если кластер ищет не там и вы не фильтруете явно, то отладка будет весьма затруднена
  34. Облако и autodiscovery Типичный список проблем с autodiscovery Не там Еще одна разновидность не там – изначально архитектурно была выбрана неправильная сеть для дискавери или коммуникации внутри кластера, достаточно часто так и случается. Очень опасно что иногда приходится переделывать вообще все, например если изначально было несколько VPC
  35. Пример из жизни, есть какой-то сторонний сервис или сервис, который делает другая команда разработчиков Вы обнаруживаете какие-то ограничения, которые плохо ложатся в вашу архитектуру. Например на этот сервис авторы могли внести только 10 ip-адресов в ACL
  36. Разновидность этой проблеым – при переходе в облако вы начинаете зависить от компаний, предоставляющих сервис
  37. Последняя причина, которую вы можете увидеть на слайде - финансовая
  38. Это затраты на инфраструктуру и вы даже не представляете как просто достичь этих цифр
  39. Расскажу немного про типовую архитектуру типового приложения
  40. проблема #2 в том как мы отлаживаем: трассировка, логи, tcpdump
  41. Простой пример что нас ждет, если мы захотим посмотреть а что же все-таки происходит внутри приложения
  42. Вы серьезно? Кассандра чтобы посмотреть логи на проекте с 10000 кликами в месяц?
  43. Коала сегодня натружена
  44. В результате автоматизации бардака получается автоматизированный бардак
  45. Разработчики жаловались, что девопсы их тормозят. Оказалось что разработчики деплоят не так и много! время первого деплоя на стейджинг в районе 10 часов время последнего деплоя в районе 16 часов