Разделы презентаций


ООО ИТСК

Содержание

Для кого данный доклад?Вы уже знакомы с докером и используете его.Вы уже знакомы с Linux и желательно с LXC (для более глубокого понимания).

Слайды и текст этой презентации

Слайд 1ООО «ИТСК»
Сизов Сергей Викторович

Telegram - @sudoroot

ООО «ИТСК»Сизов Сергей ВикторовичTelegram - @sudoroot

Слайд 2Для кого данный доклад?
Вы уже знакомы с докером и используете

его.
Вы уже знакомы с Linux и желательно с LXC (для

более глубокого понимания).
Для кого данный доклад?Вы уже знакомы с докером и используете его.Вы уже знакомы с Linux и желательно

Слайд 3Docker под капотом
Сложности CI/CD

Docker под капотом Сложности CI/CD

Слайд 4






Docker daemon (Автоматизация управления)
Как это работает?
Namespaces
Cgroups

Docker daemon (Автоматизация управления)Как это работает?NamespacesCgroups

Слайд 5Linux namespaces
Вначале было слово chroot! (1982 год!)

Linux namespacesВначале было слово chroot! (1982 год!)

Слайд 6chroot

chroot

Слайд 7chroot

chroot

Слайд 8Linux namespaces
Вначале было слово chroot! (1982 год!)
И создал админ Jail

Linux namespacesВначале было слово chroot! (1982 год!)И создал админ Jail

Слайд 9Linux namespaces
Вначале было слово chroot!
И создал админ Jail
И наконец в

Linux появились Namespace

Linux namespacesВначале было слово chroot!И создал админ JailИ наконец в Linux появились Namespace

Слайд 10Linux namespaces
UTC
IPC
PID
User
Mount
Network

Linux namespacesUTCIPCPIDUserMountNetwork

Слайд 11Linux namespaces - PID

Linux namespaces - PID

Слайд 12Linux namespaces - User

Linux namespaces - User

Слайд 13Linux namespaces – Mount

Linux namespaces –  Mount

Слайд 14Linux namespaces - Network
Eth0
Veth1
Veth0

Linux namespaces - NetworkEth0Veth1Veth0

Слайд 15Linux namespaces - Network
Eth0
Bridge
Veth0
Veth1
Veth0

Linux namespaces - NetworkEth0BridgeVeth0Veth1Veth0

Слайд 16Linux namespaces - Network
Eth0
Bridge
Veth0
Veth0
Veth1
Veth0

Linux namespaces - NetworkEth0BridgeVeth0Veth0Veth1Veth0

Слайд 17Linux namespaces – Network + VXLAN

Linux namespaces – Network + VXLAN

Слайд 18Linux namespaces – Network + VXLAN
VXLAN

Linux namespaces – Network + VXLANVXLAN

Слайд 19Linux namespaces – Network + VXLAN
VXLAN

Linux namespaces – Network + VXLANVXLAN

Слайд 20Linux namespaces
UTC
IPC
PID
User
Mount
Network

Linux namespacesUTCIPCPIDUserMountNetwork

Слайд 21






Docker daemon (Автоматизация управления)
Как это работает?
Namespaces
Cgroups

Docker daemon (Автоматизация управления)Как это работает?NamespacesCgroups

Слайд 22App
DB
Cache

AppDBCache

Слайд 23App
DB
Cache
App exporter
DB exporter

AppDBCacheApp exporterDB exporter

Слайд 24App
DB
Cache
ELK
App exporter
DB exporter

AppDBCacheELKApp exporterDB exporter

Слайд 25App
DB
Cache
ELK
App exporter
DB exporter

AppDBCacheELKApp exporterDB exporter

Слайд 26App
DB
Cache
ELK
App exporter
DB exporter

AppDBCacheELKApp exporterDB exporter

Слайд 27App
DB
Cache
ELK
App exporter
DB exporter
4 GB Ram

AppDBCacheELKApp exporterDB exporter4 GB Ram

Слайд 28App
DB
Cache
ELK
App exporter
DB exporter

AppDBCacheELKApp exporterDB exporter

Слайд 29Linux control groups
Block devices (IOPS)
CPU (Core, and CPU time access)
RAM

+ OOM Control
Devices
Network packets priority – QoS per network interface

Linux control groups	Block devices (IOPS)CPU (Core, and CPU time access)RAM + OOM ControlDevicesNetwork packets priority – QoS

Слайд 30Docker limits и почему это важно?
CPU
Memory
GPU
Disk IO

Мы знаем сколько потребляет

наше приложение!
Мы можем выявить нагрузку ко времени!
Можем прогнозировать стоимость у

облачного провайдера услуг!

Docker limits и почему это важно?CPUMemoryGPUDisk IOМы знаем сколько потребляет наше приложение!Мы можем выявить нагрузку ко времени!Можем

Слайд 31OOMy God!
Не доводить до OOM!
Выставить ограничения по потреблению RAM.
В крайнем

случае запретить OOM убивать важный сервис.

OOMy God!Не доводить до OOM!Выставить ограничения по потреблению RAM.В крайнем случае запретить OOM убивать важный сервис.

Слайд 32Overhead?
CPU – Нет
RAM – Нет
Network – зависит от конфигурации
Disk IO

- Нет

Overhead?CPU – НетRAM – НетNetwork – зависит от конфигурацииDisk IO - Нет

Слайд 33Overhead: network
2016 год!

Overhead: network2016 год!

Слайд 34Docker expose port

Transactions:

465325 hits
Availability:

100.00 %
Elapsed time: 49.78 secs
Data transferred: 271.59 MB
Response time: 0.00 secs
Transaction rate: 9347.63 trans/sec
Throughput: 5.46 MB/sec
Concurrency: 19.92
Successful transactions: 465325
Failed transactions: 0
Longest transaction: 0.04
Shortest transaction: 0.00

Docker network HOST

Transactions: 523481 hits
Availability: 100.00 %
Elapsed time: 49.62 secs
Data transferred: 305.53 MB
Response time: 0.00 secs
Transaction rate: 10549.80 trans/sec
Throughput: 6.16 MB/sec
Concurrency: 19.90
Successful transactions: 523481
Failed transactions: 0
Longest transaction: 0.06
Shortest transaction: 0.00

4.4.0-148-generic #174-Ubuntu; Docker 18.09

Разница ~ 20%

Docker expose portTransactions:         465325 hitsAvailability:

Слайд 35Docker expose port

MYSQL Inserts
131498 за 20 секунд!
Docker network HOST

MYSQL Inserts
139550

за 20 секунд!
4.4.0-148-generic #174-Ubuntu; Docker 18.09
Разница ~ 6%

Docker expose portMYSQL Inserts131498 за 20 секунд!Docker network HOSTMYSQL Inserts139550 за 20 секунд!4.4.0-148-generic #174-Ubuntu; Docker 18.09Разница ~

Слайд 36Docker expose port

MYSQL Inserts
348177 за 50 секунд!
Docker network HOST

MYSQL Inserts
359070

за 50 секунд!
4.4.0-148-generic #174-Ubuntu; Docker 18.09
Разница ~ 1%

Docker expose portMYSQL Inserts348177 за 50 секунд!Docker network HOSTMYSQL Inserts359070 за 50 секунд!4.4.0-148-generic #174-Ubuntu; Docker 18.09Разница ~

Слайд 37CI/CD и возникающие сложности

CI/CD и возникающие сложности

Слайд 38Когда нужны микросервисы?

Когда нужны микросервисы?

Слайд 39Martin Fowler

Martin Fowler

Слайд 40Если код изначально плохой, то..

Если код изначально плохой, то..

Слайд 42Давайте CI/CDшить монолит!

Давайте CI/CDшить монолит!

Слайд 43«Типичный» монолит (суровый пример)
Написан под Windows
Язык – Дельфи + VBS

скрипты.
Куча legacy кода
Большое количество зависимостей
Долгое время старта
Много интеграций
Плохая отказоустойчивость
Плохое масштабирование

«Типичный» монолит (суровый пример)Написан под WindowsЯзык – Дельфи + VBS скрипты.Куча legacy кодаБольшое количество зависимостейДолгое время стартаМного

Слайд 44И что, вот так и оставить?
Автоматизация задач, которые принесут пользу,

а не вред.
По возможности и необходимости выносить отдельные части приложения

в микросервисы.
Не переусердствовать.

И что, вот так и оставить?Автоматизация задач, которые принесут пользу, а не вред.По возможности и необходимости выносить

Слайд 45А как быть с паролями?
Хранить прямо в Git вместе с

кодом проекта
Подкладывать из другого приватного репозитория при сборке
ENV переменные на

средах
Использовать готовые решения, например – Docker Secret(Swarm), Vault от Hashicorp

А как быть с паролями?Хранить прямо в Git вместе с кодом проектаПодкладывать из другого приватного репозитория при

Слайд 46Docker registry, а оно нам надо?
Когда docker-save -- copy --

docker-load удобнее? (BitBucket CI/CD)
Какие проблемы может привнести Docker-registry?

Docker registry, а оно нам надо?Когда docker-save -- copy -- docker-load удобнее? (BitBucket CI/CD)Какие проблемы может привнести

Слайд 47Union File System

Union File System

Слайд 48А когда нужен Swarm, K8S ?
Требуется обеспечить высокую отказоустойчивость
Требуется балансировка

нагрузки
Нужно утилизировать имеющиеся мощности по максимуму
Нам необходимо разнести контейнеры по

нодам (напр. Вынести ELK)
Нам необходимо иметь отказоустойчивость
Нам необходимо балансировать нагрузку
Хотим утилизировать имеющиеся мощности на полную
А когда нужен Swarm, K8S ?Требуется обеспечить высокую отказоустойчивостьТребуется балансировка нагрузкиНужно утилизировать имеющиеся мощности по максимумуНам необходимо

Слайд 49ООО «ИТСК»
Сизов Сергей Викторович

Telegram - @sudoroot

ООО «ИТСК»Сизов Сергей ВикторовичTelegram - @sudoroot

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика