SlideShare una empresa de Scribd logo
1 de 58
Descargar para leer sin conexión
Containers, containers,
containers….
WHOAMI: Yevhen Malyi
○ Тогда
○ СумДУ: Физтех
○ Телесвіт(Воля): Системный Администратор
○ ГУПСЗН: Системный Администратор
○ PortaOne Inc.: инженер тех.поддержки
○ Сейчас
○ MindK Inc.: Системный Администратор
Что будет в докладе
○ Проблемы грузоперевозок
○ Что такое контейнер
○ Докер
○ Его роль для контейнеров
○ Его роль для инфраструктуры
○ Его роль в отношениях Dev’a и OPS’a
○ Контейнеры сегодня
○ Приложение
○ Виртуалка
○ Жир - кто как борется с ним
Чего не будет в докладе
○ Скучных примеров кода
Чего не будет в докладе
○ Скучных примеров кода
○ Интересных примеров кода
Чего не будет в докладе
○ Скучных примеров кода
○ Интересных примеров кода
○ Примеров кода
Что будет в докладе
○ Проблемы грузоперевозок
○ Что такое контейнер
○ Докер
○ Его роль для контейнеров
○ Его роль для инфраструктуры
○ Его роль в отношениях Dev’a и OPS’a
○ Контейнеры сегодня
○ Приложение
○ Виртуалка
○ Жир - кто как борется с ним
Проблема
Deploy приложений сложнее,
чем могло бы быть
Проблема
https://localhost
Проблема
https://production.ua
Проблема
https://production.ua
Проблема
Проблема
Проблема
Проблема
Решение
Решение
○ Ручная погрузка судна
обходится в $5.86 за
тонну (до 60х)
○ Используя контейнеры -
$0.16
Что будет в докладе
○ Проблемы грузоперевозок
○ Что такое контейнер
○ Докер
○ Его роль для контейнеров
○ Его роль для инфраструктуры
○ Его роль в отношениях Dev’a и OPS’a
○ Контейнеры сегодня
○ Приложение
○ Виртуалка
○ Жир - кто как борется с ним
Что ты, container?
Что ты, container?
Что ты, container?
Что ты, container?
Что ты, container?
○ Контейнер - более 10ти лет.
○ Chroot (1982)
○ UNIX: Solaris zones (2004), BSD jails (2000)
○ Windows: iCore Virtual Accounts (2008), Parallels Containers (2000)
○ Linux: Virtuozzo: OpenVZ (2005), Linux V-Server (2001), LXC (2008)
Что ты, container?
○ cgroups - учёт и ограничение потребляемых ресурсов
● CPU, memory, block I/O, network, etc.
○ Namespace isolation - изоляция процессов
• Mount namespace
• PID namespace
• Network namespace
• UTS (Allows changing hostname, domainname)
• IPC Namespace
• User namespace
Что ты, container?
Что будет в докладе
○ Проблемы грузоперевозок
○ Что такое контейнер
○ Докер
○ Его роль для контейнеров
○ Его роль для инфраструктуры
○ Его роль в отношениях Dev’a и OPS’a
○ Контейнеры сегодня
○ Приложение
○ Виртуалка
○ Жир - кто как борется с ним
Кто ты, Docker?
Docker != container
Кто ты, Docker?
https://blog.docker.com/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/
Кто ты, Docker?
○ Попытка захватить мир
Кто ты, Docker?
○ Попытка захватить мир
○ Новый пакетный менеджер для Linux
Кто ты, Docker?
○ Попытка захватить мир
○ Новый пакетный менеджер для Linux
○ Технология упаковки и доставки приложения
Кто ты, Docker?
○ Попытка захватить мир
○ Новый пакетный менеджер для Linux
○ Технология упаковки и доставки приложения
“упаковать, отправить и запустить любое приложение в виде легкого
портативного самодостаточного контейнера LXC, который может
работать практически в любом месте” (Джеймс Боттомли,
технический директор Parallels)
Что будет в докладе
○ Проблемы грузоперевозок
○ Что такое контейнер
○ Докер
○ Его роль для контейнеров
○ Его роль для инфраструктуры
○ Его роль в отношениях Dev’a и OPS’a
○ Контейнеры сегодня
○ Приложение
○ Виртуалка
○ Жир - кто как борется с ним
Контейнеры сегодня
○ Контейнер это приложение
Контейнеры сегодня
○ Контейнер это приложение
○ Контейнер это виртуалка
Контейнер это приложение
Концепция докера:
Один контейнер = один процес
Что будет в докладе
○ Проблемы грузоперевозок
○ Что такое контейнер
○ Докер
○ Его роль для контейнеров
○ Его роль для инфраструктуры
○ Его роль в отношениях Dev’a и OPS’a
○ Контейнеры сегодня
○ Приложение
○ Виртуалка
○ Жир - кто как борется с ним
Контейнер это приложение
Монолит и микросервисы
Контейнер это приложение
Монолит и микросервисы
Что будет в докладе
○ Проблемы грузоперевозок
○ Что такое контейнер
○ Докер
○ Его роль для контейнеров
○ Его роль для инфраструктуры
○ Его роль в отношениях Dev’a и OPS’a
○ Контейнеры сегодня
○ Приложение
○ Виртуалка
○ Жир - кто как борется с ним
Dev_OPS: Dev problems
Dev_OPS: Ops problems
Dev_OPS: Oops problems
Dev_OPS: Docker в помощь
Помните?
Dev_OPS: Docker в помощь
DEV OPS
Dev_OPS: Docker в помощь
DEV OPS
Просто котик и просто песик
Что будет в докладе
○ Проблемы грузоперевозок
○ Что такое контейнер
○ Докер
○ Его роль для контейнеров
○ Его роль для инфраструктуры
○ Его роль в отношениях Dev’a и OPS’a
○ Контейнеры сегодня
○ Приложение
○ Виртуалка
○ Жир - кто как борется с ним
Container это виртуалка
VM ~ container
Это всё
Всех устраивает жир?
Что будет в докладе
○ Проблемы грузоперевозок
○ Что такое контейнер
○ Докер
○ Его роль для контейнеров
○ Его роль для инфраструктуры
○ Его роль в отношениях Dev’a и OPS’a
○ Контейнеры сегодня
○ Приложение
○ Виртуалка
○ Жир - кто как борется с ним
Paravirt
Proxy kernels
Unikernels
Вот теперь всё
Questions?
Coming soon
Tech battle #8: ?
Follow us and
stay tuned about future events
facebook.com/mindklab
instagram.com/mindklab
twitter.com/mindklab
linkedin.com/company/mindk

Más contenido relacionado

Similar a Containers, containers, containers...

Virtuozzo platform
Virtuozzo platformVirtuozzo platform
Virtuozzo platformru_Parallels
 
Хипстеры в энтерпрайзе
Хипстеры в энтерпрайзеХипстеры в энтерпрайзе
Хипстеры в энтерпрайзеAleksandr Tarasov
 
Микросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesМикросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesDenis Izmaylov
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годAnton Turetsky
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годBadoo Development
 
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Ontico
 
Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"Yandex
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Coit-people
 
«Велогосипед», Данил Ильиных
«Велогосипед», Данил Ильиных«Велогосипед», Данил Ильиных
«Велогосипед», Данил ИльиныхDevDay
 
Start
StartStart
StartIKTO
 
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёруДенис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёруYandex
 
Данил Ильиных и Владимир Иванов, «Велогосипед»
Данил Ильиных и Владимир Иванов, «Велогосипед»Данил Ильиных и Владимир Иванов, «Велогосипед»
Данил Ильиных и Владимир Иванов, «Велогосипед»Platonov Sergey
 
Docker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрацияDocker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрацияBadoo Development
 
Docker integration into Badoo
Docker integration into BadooDocker integration into Badoo
Docker integration into BadooAnton Turetsky
 
"Рекомендации по проектированию API" — Марина Степанова, Яндекс
"Рекомендации по проектированию API" — Марина Степанова, Яндекс"Рекомендации по проектированию API" — Марина Степанова, Яндекс
"Рекомендации по проектированию API" — Марина Степанова, ЯндексYandex
 
Про тестирование миграций
Про тестирование миграцийПро тестирование миграций
Про тестирование миграцийRoman Ivliev
 
Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?Ivan Evtukhovich
 

Similar a Containers, containers, containers... (20)

Virtuozzo platform
Virtuozzo platformVirtuozzo platform
Virtuozzo platform
 
Хипстеры в энтерпрайзе
Хипстеры в энтерпрайзеХипстеры в энтерпрайзе
Хипстеры в энтерпрайзе
 
Микросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesМикросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и Kubernetes
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
 
Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
 
«Велогосипед», Данил Ильиных
«Велогосипед», Данил Ильиных«Велогосипед», Данил Ильиных
«Велогосипед», Данил Ильиных
 
Start
StartStart
Start
 
Start
StartStart
Start
 
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёруДенис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
 
Данил Ильиных и Владимир Иванов, «Велогосипед»
Данил Ильиных и Владимир Иванов, «Велогосипед»Данил Ильиных и Владимир Иванов, «Велогосипед»
Данил Ильиных и Владимир Иванов, «Велогосипед»
 
Docker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрацияDocker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрация
 
Docker integration into Badoo
Docker integration into BadooDocker integration into Badoo
Docker integration into Badoo
 
Docker for JS people
Docker for JS peopleDocker for JS people
Docker for JS people
 
Take a Look at Akka-Java
Take a Look at Akka-JavaTake a Look at Akka-Java
Take a Look at Akka-Java
 
"Рекомендации по проектированию API" — Марина Степанова, Яндекс
"Рекомендации по проектированию API" — Марина Степанова, Яндекс"Рекомендации по проектированию API" — Марина Степанова, Яндекс
"Рекомендации по проектированию API" — Марина Степанова, Яндекс
 
Про тестирование миграций
Про тестирование миграцийПро тестирование миграций
Про тестирование миграций
 
Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?
 

Más de UP2IT

Microservices. Mastering Chaos
Microservices. Mastering ChaosMicroservices. Mastering Chaos
Microservices. Mastering ChaosUP2IT
 
Сочетание классической и гибкой методологий управления проектами
Сочетание классической и гибкой методологий управления проектамиСочетание классической и гибкой методологий управления проектами
Сочетание классической и гибкой методологий управления проектамиUP2IT
 
Go для веба глазами PHP-разработчика
Go для веба глазами PHP-разработчикаGo для веба глазами PHP-разработчика
Go для веба глазами PHP-разработчикаUP2IT
 
Дизайнер в эпоху цифровых перемен
Дизайнер в эпоху цифровых переменДизайнер в эпоху цифровых перемен
Дизайнер в эпоху цифровых переменUP2IT
 
Продуктовий дизайн і UX / UI дизайн процеси при розробці цифрових продуктів
Продуктовий дизайн і UX / UI дизайн процеси при розробці цифрових продуктівПродуктовий дизайн і UX / UI дизайн процеси при розробці цифрових продуктів
Продуктовий дизайн і UX / UI дизайн процеси при розробці цифрових продуктівUP2IT
 
Модели OPEN SOURCE компаний и можно ли выжить без OPEN CORE и ENTERPRISE EDITION
Модели OPEN SOURCE компаний и можно ли выжить без OPEN CORE и ENTERPRISE EDITIONМодели OPEN SOURCE компаний и можно ли выжить без OPEN CORE и ENTERPRISE EDITION
Модели OPEN SOURCE компаний и можно ли выжить без OPEN CORE и ENTERPRISE EDITIONUP2IT
 
VR/AR в бизнесе
VR/AR в бизнесеVR/AR в бизнесе
VR/AR в бизнесеUP2IT
 
Native DB transactions
Native DB transactionsNative DB transactions
Native DB transactionsUP2IT
 
Hell 2 Heaven or Choosing Cloud Provider
Hell 2 Heaven or Choosing Cloud ProviderHell 2 Heaven or Choosing Cloud Provider
Hell 2 Heaven or Choosing Cloud ProviderUP2IT
 
Automation pyramid within CI process
Automation pyramid within CI processAutomation pyramid within CI process
Automation pyramid within CI processUP2IT
 
Kotlin для розробки Android
Kotlin для розробки AndroidKotlin для розробки Android
Kotlin для розробки AndroidUP2IT
 
React. Learn once, write anywhere
React. Learn once, write anywhereReact. Learn once, write anywhere
React. Learn once, write anywhereUP2IT
 
Сложности и специфика построения систем раздачи адалт видео контента
Сложности и специфика построения систем раздачи адалт видео контентаСложности и специфика построения систем раздачи адалт видео контента
Сложности и специфика построения систем раздачи адалт видео контентаUP2IT
 
H2H Communication in IT
H2H Communication in ITH2H Communication in IT
H2H Communication in ITUP2IT
 
Как я не стал барабанщиком или Как менеджер создает ценность
Как я не стал барабанщиком или Как менеджер создает ценностьКак я не стал барабанщиком или Как менеджер создает ценность
Как я не стал барабанщиком или Как менеджер создает ценностьUP2IT
 
Epic Sales Fails Compilation
Epic Sales Fails CompilationEpic Sales Fails Compilation
Epic Sales Fails CompilationUP2IT
 
Design Thinking
Design ThinkingDesign Thinking
Design ThinkingUP2IT
 
Как настроенные процессы повышают прибыльность и снижают стресс
Как настроенные процессы повышают прибыльность и снижают стрессКак настроенные процессы повышают прибыльность и снижают стресс
Как настроенные процессы повышают прибыльность и снижают стрессUP2IT
 

Más de UP2IT (18)

Microservices. Mastering Chaos
Microservices. Mastering ChaosMicroservices. Mastering Chaos
Microservices. Mastering Chaos
 
Сочетание классической и гибкой методологий управления проектами
Сочетание классической и гибкой методологий управления проектамиСочетание классической и гибкой методологий управления проектами
Сочетание классической и гибкой методологий управления проектами
 
Go для веба глазами PHP-разработчика
Go для веба глазами PHP-разработчикаGo для веба глазами PHP-разработчика
Go для веба глазами PHP-разработчика
 
Дизайнер в эпоху цифровых перемен
Дизайнер в эпоху цифровых переменДизайнер в эпоху цифровых перемен
Дизайнер в эпоху цифровых перемен
 
Продуктовий дизайн і UX / UI дизайн процеси при розробці цифрових продуктів
Продуктовий дизайн і UX / UI дизайн процеси при розробці цифрових продуктівПродуктовий дизайн і UX / UI дизайн процеси при розробці цифрових продуктів
Продуктовий дизайн і UX / UI дизайн процеси при розробці цифрових продуктів
 
Модели OPEN SOURCE компаний и можно ли выжить без OPEN CORE и ENTERPRISE EDITION
Модели OPEN SOURCE компаний и можно ли выжить без OPEN CORE и ENTERPRISE EDITIONМодели OPEN SOURCE компаний и можно ли выжить без OPEN CORE и ENTERPRISE EDITION
Модели OPEN SOURCE компаний и можно ли выжить без OPEN CORE и ENTERPRISE EDITION
 
VR/AR в бизнесе
VR/AR в бизнесеVR/AR в бизнесе
VR/AR в бизнесе
 
Native DB transactions
Native DB transactionsNative DB transactions
Native DB transactions
 
Hell 2 Heaven or Choosing Cloud Provider
Hell 2 Heaven or Choosing Cloud ProviderHell 2 Heaven or Choosing Cloud Provider
Hell 2 Heaven or Choosing Cloud Provider
 
Automation pyramid within CI process
Automation pyramid within CI processAutomation pyramid within CI process
Automation pyramid within CI process
 
Kotlin для розробки Android
Kotlin для розробки AndroidKotlin для розробки Android
Kotlin для розробки Android
 
React. Learn once, write anywhere
React. Learn once, write anywhereReact. Learn once, write anywhere
React. Learn once, write anywhere
 
Сложности и специфика построения систем раздачи адалт видео контента
Сложности и специфика построения систем раздачи адалт видео контентаСложности и специфика построения систем раздачи адалт видео контента
Сложности и специфика построения систем раздачи адалт видео контента
 
H2H Communication in IT
H2H Communication in ITH2H Communication in IT
H2H Communication in IT
 
Как я не стал барабанщиком или Как менеджер создает ценность
Как я не стал барабанщиком или Как менеджер создает ценностьКак я не стал барабанщиком или Как менеджер создает ценность
Как я не стал барабанщиком или Как менеджер создает ценность
 
Epic Sales Fails Compilation
Epic Sales Fails CompilationEpic Sales Fails Compilation
Epic Sales Fails Compilation
 
Design Thinking
Design ThinkingDesign Thinking
Design Thinking
 
Как настроенные процессы повышают прибыльность и снижают стресс
Как настроенные процессы повышают прибыльность и снижают стрессКак настроенные процессы повышают прибыльность и снижают стресс
Как настроенные процессы повышают прибыльность и снижают стресс
 

Containers, containers, containers...

  • 2. WHOAMI: Yevhen Malyi ○ Тогда ○ СумДУ: Физтех ○ Телесвіт(Воля): Системный Администратор ○ ГУПСЗН: Системный Администратор ○ PortaOne Inc.: инженер тех.поддержки ○ Сейчас ○ MindK Inc.: Системный Администратор
  • 3. Что будет в докладе ○ Проблемы грузоперевозок ○ Что такое контейнер ○ Докер ○ Его роль для контейнеров ○ Его роль для инфраструктуры ○ Его роль в отношениях Dev’a и OPS’a ○ Контейнеры сегодня ○ Приложение ○ Виртуалка ○ Жир - кто как борется с ним
  • 4. Чего не будет в докладе ○ Скучных примеров кода
  • 5. Чего не будет в докладе ○ Скучных примеров кода ○ Интересных примеров кода
  • 6. Чего не будет в докладе ○ Скучных примеров кода ○ Интересных примеров кода ○ Примеров кода
  • 7. Что будет в докладе ○ Проблемы грузоперевозок ○ Что такое контейнер ○ Докер ○ Его роль для контейнеров ○ Его роль для инфраструктуры ○ Его роль в отношениях Dev’a и OPS’a ○ Контейнеры сегодня ○ Приложение ○ Виртуалка ○ Жир - кто как борется с ним
  • 17. Решение ○ Ручная погрузка судна обходится в $5.86 за тонну (до 60х) ○ Используя контейнеры - $0.16
  • 18. Что будет в докладе ○ Проблемы грузоперевозок ○ Что такое контейнер ○ Докер ○ Его роль для контейнеров ○ Его роль для инфраструктуры ○ Его роль в отношениях Dev’a и OPS’a ○ Контейнеры сегодня ○ Приложение ○ Виртуалка ○ Жир - кто как борется с ним
  • 23. Что ты, container? ○ Контейнер - более 10ти лет. ○ Chroot (1982) ○ UNIX: Solaris zones (2004), BSD jails (2000) ○ Windows: iCore Virtual Accounts (2008), Parallels Containers (2000) ○ Linux: Virtuozzo: OpenVZ (2005), Linux V-Server (2001), LXC (2008)
  • 24. Что ты, container? ○ cgroups - учёт и ограничение потребляемых ресурсов ● CPU, memory, block I/O, network, etc. ○ Namespace isolation - изоляция процессов • Mount namespace • PID namespace • Network namespace • UTS (Allows changing hostname, domainname) • IPC Namespace • User namespace
  • 26. Что будет в докладе ○ Проблемы грузоперевозок ○ Что такое контейнер ○ Докер ○ Его роль для контейнеров ○ Его роль для инфраструктуры ○ Его роль в отношениях Dev’a и OPS’a ○ Контейнеры сегодня ○ Приложение ○ Виртуалка ○ Жир - кто как борется с ним
  • 29. Кто ты, Docker? ○ Попытка захватить мир
  • 30. Кто ты, Docker? ○ Попытка захватить мир ○ Новый пакетный менеджер для Linux
  • 31. Кто ты, Docker? ○ Попытка захватить мир ○ Новый пакетный менеджер для Linux ○ Технология упаковки и доставки приложения
  • 32. Кто ты, Docker? ○ Попытка захватить мир ○ Новый пакетный менеджер для Linux ○ Технология упаковки и доставки приложения “упаковать, отправить и запустить любое приложение в виде легкого портативного самодостаточного контейнера LXC, который может работать практически в любом месте” (Джеймс Боттомли, технический директор Parallels)
  • 33. Что будет в докладе ○ Проблемы грузоперевозок ○ Что такое контейнер ○ Докер ○ Его роль для контейнеров ○ Его роль для инфраструктуры ○ Его роль в отношениях Dev’a и OPS’a ○ Контейнеры сегодня ○ Приложение ○ Виртуалка ○ Жир - кто как борется с ним
  • 35. Контейнеры сегодня ○ Контейнер это приложение ○ Контейнер это виртуалка
  • 36. Контейнер это приложение Концепция докера: Один контейнер = один процес
  • 37. Что будет в докладе ○ Проблемы грузоперевозок ○ Что такое контейнер ○ Докер ○ Его роль для контейнеров ○ Его роль для инфраструктуры ○ Его роль в отношениях Dev’a и OPS’a ○ Контейнеры сегодня ○ Приложение ○ Виртуалка ○ Жир - кто как борется с ним
  • 40. Что будет в докладе ○ Проблемы грузоперевозок ○ Что такое контейнер ○ Докер ○ Его роль для контейнеров ○ Его роль для инфраструктуры ○ Его роль в отношениях Dev’a и OPS’a ○ Контейнеры сегодня ○ Приложение ○ Виртуалка ○ Жир - кто как борется с ним
  • 44. Dev_OPS: Docker в помощь Помните?
  • 45. Dev_OPS: Docker в помощь DEV OPS
  • 46. Dev_OPS: Docker в помощь DEV OPS
  • 47. Просто котик и просто песик
  • 48. Что будет в докладе ○ Проблемы грузоперевозок ○ Что такое контейнер ○ Докер ○ Его роль для контейнеров ○ Его роль для инфраструктуры ○ Его роль в отношениях Dev’a и OPS’a ○ Контейнеры сегодня ○ Приложение ○ Виртуалка ○ Жир - кто как борется с ним
  • 52. Что будет в докладе ○ Проблемы грузоперевозок ○ Что такое контейнер ○ Докер ○ Его роль для контейнеров ○ Его роль для инфраструктуры ○ Его роль в отношениях Dev’a и OPS’a ○ Контейнеры сегодня ○ Приложение ○ Виртуалка ○ Жир - кто как борется с ним
  • 58. Coming soon Tech battle #8: ? Follow us and stay tuned about future events facebook.com/mindklab instagram.com/mindklab twitter.com/mindklab linkedin.com/company/mindk

Notas del editor

  1. Чего не будет в этом докладе: -в нем не будет скучных примеров кода
  2. Чего не будет в этом докладе: -в нем не будет скучных примеров кода -интересных примеров кода
  3. Чего не будет в этом докладе: -в нем не будет скучных примеров кода -интересных примеров кода -в докладе вообще не будет примеров кода Опустить ниже. Поиграть с размером шрифта
  4. А начать хотелось бы с проблемы. Проблемы деплоя приложения - это сложно,- это печаль и боль. Кто то уже проходил через это, у кого то это впереди, но деплой приложения на продакшн.
  5. Как часто бывает, что локально мы разрабатываем приложение. Долго разрабатываем. Все работает отлично на локальном.
  6. А когда заливаем код на продакшен - наступает час пик. Не обязательно на продакшене, на компьютере коллеги,
  7. Первые мысли - ВАТ? Что произошло? Почему у Васи все норм? Почему я? Самое грустное в этой истории - если это конечный пользователь не ваш коллега, а клиент.
  8. Давайте рассмотрим предысторию, причины того, почему так происходит. В верхней части находится набор разных стеков приложений. Ну какие стеки Внизу где это может потребоваться запустить. Вы можете разрабатывать на своем ноутбуке,и совсем не хотите бегать и рассказывать коллегам как все настраивать.
  9. Это можно показать в матрице (матрица сна).Чтобы спать спокойно, Опсу нужно знать как правильно доставить/настроить приложение на каждый отдельно взятый сервер. Предусмотреть все нюансы и подводные камни. Как это лучше, а главное правильно, сделать, пока не понятно.
  10. Вернемся в прошлый век. Около сотни лет назад человечество столкнулось с похожей проблемой - доставка груза. Есть разные виды грузов, разных габаритов - машина, кофе, фортепьяно. И находится они могут на разных складах, доставляться разными методами - паровозом, грузовиком, краном.
  11. И такая же матрица. И тут нужно понимать - что как доставить груз это проблема одного человека. Заказчику все равно, как он будет доставлен, главное чтобы в целости и сохранности, без изъянов. Тогда на помощь пришли контейнеры.
  12. Это был прорыв на новый, более качественный уровень грузоперевозок. Контейнер позволяет ставить рядом несовместимое. Помните загадку про “перевезти волка,зайца и капусту на другой берег”? Ответ - перевозите их в контейнерах. Возникает вопрос, почему бы по аналогии не осуществлять доставку ПО?
  13. Это был прорыв на новый, более качественный уровень грузоперевозок. Контейнер позволяет ставить рядом несовместимое. Помните загадку про “перевезти волка,зайца и капусту на другой берег”? Ответ - перевозите их в контейнерах. Возникает вопрос, почему бы по аналогии не осуществлять доставку ПО?
  14. Так что же такое контейнеры. Когда произносят это слово, многие представляют это контейнер для доставки груза. Кстати, у меня именно такой был первый дачный домик. У наших соседей тоже. У соседей соседей тоже.
  15. Ну а если вы домохозяйка - то скорее всего вы представляете такой контейнер. На самом деле в таких контейнерах удобно носить обеды на работу.
  16. Ну а если у вас есть дети, то скорее всего - такой контейнер. На если вы домохозяйка, с дачей и детьми, то в скорее всего все три контейнера. Так сказать - стек контейнеров.
  17. Но сегодня мы собрались поговорить об АйТишных контейнерах. О software контейнерах. В интернете можно найти разные определения контейнеров - как дата тайп, как тип теории, гуи контейнер. И только одна статья о контейнерах как виде виртуализации. Именно о таких и будем говорить. Если определение на слайде вам не понятно - не расстраивайтесь, мне тоже. Но разобраться хотелось
  18. Если обратиться к истории контейнеров, то контейнер не новость. В той же статье на википедии, если ссылка на то что первая имплементация контейнеров - chroot (1982). Но главными революционерами были Vituozzo, в 2001году. Позже они выдали в опенсоурс свой продукт ОпенВЗ.
  19. Контейнеры основываются на двух примитивах/китах - неймспесы (пространство имен) и цгрупс (контрольные групы) Цгрупс позволяет - ядерная подсистема которая позволяет объединять процессы в группы и прикреплять к этим группам определенные контроллеры, которые позволяют администратору определять кто как будет употреблять системные ресурсы - цпу, память, сетвую пропускную способность и т.д. фича линукса для ограничения, контроля и изолирования ресурсов без необходимости запуска виртуальной машины. То есть вы даете приложению столько ресурсов сколько хотите дать. Как простой пример - вы можете возможное ограничть количество памяти контейнеру. Вторая тоже объединяла процессы в группы и позволяет делать так чтобы группы процессов по одним идентификаторам видеть разные группы разные объекты. дает возможность полностью изолировать приложения от операционной системы, включая дерево процессов, сеть, файловую систему, пользователей и т.д По сути изоляция+ограничение это и есть контейнер. Но такой способ не являлся простым и тривиальным в использовании. А хочеться что бы было все попроще. И это желание аля проблемма было не единичным. Этому городу нужен герой!
  20. И оно появилось. Докер, который добавил к технологии контейнерной виртуализации возможность запаковать приложение и запустить его в контейнере. Дальше-больше. Сегодня контейнер называют способ запаковать приложение со всеми его зависимостями и запустить в отдельном окружении. То есть сегодня контейнером называют докер.
  21. Но на самом деле докер это не контейнер. Докер, сначала был оберткой над LXC.
  22. Но однажды произошел произошел редизайн внутри ядра линукс, где что-то изменили, что-то улучшили. Докер отказался, так сказать, от посредника и стал использовать напрямую технологии ядра. На самом деле они разработали абстракцию которая позволила им использовать различные исполняемые среды.
  23. Так кто же ты такое докер? Какое можно дать определение докеру? Это попытка захватить мир. Если вы не слышали о докере, вы давно не выходили на улицу, не платили за интернет. Он везде, он повсюду.
  24. Вам нужно запустить офис? Браузер? Вам нужно установить только докер, а он сделает все за вас. Вам больше не нужно ставить кучу разных пакетов, только докер, только хардкор.
  25. докер - упаковка и доставка приложения на базе контейнерных технологий. Еще слышал такие объяснения - как “докер это как вагрант”, “докер это хрень”. и “докер это тулза для админов, чтобы они могли выпендриваться”.
  26. Но пожалуй главное определение докера - упаковка и доставка приложения на базе контейнерных технологий.
  27. Можно подытожить: сегодня, контейнер это приложение. А кто смотрел Трансформеры? Да наверное все смотрели. Помните сцену с матрицей лидерства, там где парнишка вроде как умер. И тут появляются все прайды - и такие ему: матрицу лидерства нельзя найти, её можно только заслужить. Это всегда было, есть и будет твоим предназначением. И потом он оживает сам и оживляет Оптимуса. Крутая сцена. Это я к чему.
  28. Всегда были,есть и будут люди которые считают что контейнер/докер это виртуалка. Поэтому сегодня, контейнеры нужно рассматривать как 2 направления: - это приложение Это виртуалка
  29. Начнем с первого варианта - контейнер это приложение. Опять же, вспоминая ранее сказанное, именно докер принес такую философию, что один контейнер = один процес. У меня жена работает БА и это как бы её не должно касаться, но пару лет фанатеет от контейнеров. Особенно от этого концепта. Поэтому, наверное, как вы поняли, у нас в холодильнике всегда есть контейнер с картошечкой, контейнер с салатиком и т.д. Один конейнер - один процес, один сервис. А что если этих “одних сервисов” у нас много?
  30. А это значит, что нам нужно смотреть в сторону микросервисной инфраструктуры. И на самом деле так и было, как только докер вошел в массы, сразу за ним в массы вошла и микросервисая инфраструктура. Да, в самом начале было много холиваров - что есть хорошо, что есть плохо. Поклонники радовались, говорили “микросервисы - это круто”. остальные говорили - что да, это круто, но у нас получилось ещё хуже чем было.
  31. Но на фоне парадигмы контейнер=приложение это выглядит как "Отказоустойчивость", "распределенность", "масштабируемость"
  32. С появлением докера изменилось Все знают, что разработчики любят писать код и не любят разбираться в администрировании серверов.
  33. Все знают - у меня локально все работает. Разбирайся что не так. После этой фразы прям жалеешь, что не ходил на бокс...
  34. Но как не крути, если такое происходит - это реальный факап, реальный УПС.
  35. Получается, что теперь разработчик может сделать приложение, запаковать его. И отдать админу. Админ его дальше доставляет по назначению. Оно начинает работать. все довольны. Профит. Можно идти пить пиво.
  36. Но на самом деле не все довольны. Остается настраивать такие вещи мониторинг, бэкапы, апдейты,настройка сети и т.д. Это не просто. Но вокруг докера начали появляться другие проэкты, которые помогают в тонкой конфигурации. В принципе докер признает эти проблемы, пытаются решить их поддерживая смежные проекты.
  37. Это наглядные пример, того что может быть если у вас с женой один ноутбук. На самом деле не просто - это Снежана Игоревна и Смайлик. Снежану мы взяли из приюта. Она была дворянских кровей,а спустя год мы узнали, что она породистая. А после Смайлика в гостях постоянно находим бублики спрятанные в разных местах - подушка, пододеяльник.
  38. Контейнеры и Вмки - одинаковы в Очень часто когда сравнивают вм и контейнер приводят аналогию с домом и общежитием. Дом, эта такая классная цх этажная штука где живет семья из трех человек. У каждого есть свой туалет, балкон. гараж и т.д. Вокруг дома 4г города, куча цветников, барбекю и качельки. Общежитие - это один этаж на 20 человек.все они между собой делят туалет, кухню, душ. Общая система винтеляции.ну в общем все общее. Контейнер - это общее железо, общее ядро.Дальше свой набор библиотек. Виртуалка - пожирнее. Железо, ядро, виртуальное железо, виртуальное ядро.а дальше набор библиотек То есть у вируталки по сравнению с контейнером есть хороший такой жирок. Благодаря этому жиру виртуалка долго встает, виртуалок может меньше поместиться на площадке. Грубо говоря там где могут жить 100 контейнеров, около 10 вм может поместиться.
  39. Это в принципе все
  40. Если вспомнить что контейнрам чуток больше 10лет. То Виртуальный машины это, так сказать, старший брать.намного старше. Возникает вопрос, неужели зная о жире больше чем 10 лет, никто не пытался его сбросить? А вот и да - пытались.на самом деле таких технологий не много, но они есть.
  41. Сейчас хоть и осень, но с жиром можно и нужно бороться. Вариантов несколько. Паравиртуализация. Существует давно. Она объясняет гостевому ядру, что она работает в гипервизоре, не нужно загружать стандартные драйвера. Если нужно сделать специальный вызов к хипервизор и он его обработает быстрее по сравнению если обращаться к виртуальному железу.
  42. Прокси ядра - разработчики изменили ядро, так что часть функций это ядро выполняет внутри себя,а часть функций отдает ядру запущенному на хосте. Проанализировали уязвимости в ядрах линукс, как оказалось большое их количество находится в слоях отвечающих за коммуникацию с системными библиотеками А код который отвечает за дисковый планировщик, сетевой стек, драйвера файловых систем - в них уязвимостей практически нет.
  43. Юникернелс пошла ещё дальше. Если мы отказались от гостевого железа, почему бы не отказаться от гостевого ядра? Технология которая приблизилась к контейнерам. Её библиотеку нужно собирать под конкретное приложение.
  44. Artem D.