Docker - счастье для хомячка или ника?Ruslan SharipovPresented: 16th May, 2015
https://speakerdeck.com/sharipov/docker-schast-ie-dlia-khomiachka-ili-ghika
Что такое DockerPavel KlimiankouЗачем нужен и что такое докер. Чем он отличается от виртуальных машин. Как создать, сохранить и запустить свой докер-контейнер.
Обновленная презентация с шестого 4front митапа в Минске.
Docker. ОсновыIvan MiniailenkoОсновы Docker. История проекта, OpenContainer Initiative, архитектура, пример композиции контейнеров на примере поискового движка YASEn, используемого для поиска билетов в Aviasales.ru.
Docker контейнерная революцияGetDev.NETМатериалы со встречи:
https://getdev.net/Event/docker
Docker: зачем нужен и почему выстрелил? Контейнеры против виртуальных машин - кто лучше? Docker на Windows: как и когда? А также демо: создание и deploy контейнера на ваших глазах
Депрокрастинируем Docker: контейнеры здесь и сейчасRuslan SharipovДепрокрастинируем Docker: контейнеры здесь и сейчас (мастер-класс). Руслан Шарипов (7bits), Денис Нелюбин (Avelix).
При подходе к любому важному делу или к изучению интересной технологии очень важно сделать первый шаг. Этот шаг может быть совсем шажочком, небольшим движением вперёд, но, часто бывает, что именно такие шаги позволяют добиваться завершения дел до конца.
В последнее время часто наши коллеги и знакомые грозятся погуглить, изучить, разобраться, исследовать, ознакомиться, попробовать, начать использовать Docker, и постоянно откладывают это дело в долгий ящик. Кто-то боится новизны технологии, кто-то хочет задать тонну вопросов, а кто-то просто не понимает, нужна ли технология для него.
В рамках этого мастер класса мы сделаем первый шаг к тому, чтобы попробовать на практике то, что есть сейчас Docker. Мы рассмотрим, что у него под капотом: какие технологии стоят за популярным названием, как работает Docker изнутри, обсудим и научимся использовать на практике контейнеры, registry и инструменты, упрощающие процесс доставки и запуска контейнеров на серверах, обсудим и найдём решения для возникающих проблем, напишем тесты и научимся тестировать инфраструктуру в контейнерах.
Presented: 6th June, 2015
Михаил Боднарчук "Docker для PHP разработчиков" FwdaysЭто не рассказ о том, как из разработчика стать крутым DevOpsом. Это доклад о том, как можно сделать процесс разработки и развертки приложения комфортнее и эффективнее вместе с прогрессивной технологией контейнеризации - Docker.
В этом докладе я затрону следующие темы:
Docker - это то модное слово, которое все должны знать
Дирижирование оркестром вместе с Docker Compose
Создание и настройка рабочего окружения в Docker
Построение сервисно-ориентированых приложений
Безболезненное развертывание приложений с Shipyard
То, чего не хватало для Continuous Integration - запуск параллельных билдов
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TKConfКогда вы пытаетесь следовать гибким методологиям, создавать небольшие автономные команды, микросервисы в вашем проекте появляются естественным путем. Или нет. Обязательно поговорим о "Монолит vs. Микросервисы". И хотя эти маленькие трудяги помогают вам scale и достигать agility они неплохо добавляют вам проблем с доставкой и разработкой.
В заключении попробую ответить на вопрос как деплоить 5 или 50 микросервисов? Не знаю, но давайте попробуем Docker.
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupBadoo DevelopmentАнтон Турецкий, Раудсепп Илья, "Docker в Badoo: от восторгов к внедрению"
Обзор Linux Control GroupsOSLLLinux Control Groups (Контрольные группы) -- механизм, позволяющий управлять группами процессов в Linux и их ресурсами. Это мощный инструмент о котором знают далеко не все. Презентация дает краткий обзор.
Пространства имен Linux (linux namespaces)OSLLВиртуализация уровня операционной системы в Linux (так, называемые контейнеры) опирается на изоляцию ресурсов и на управление их использованием. Пространства имен в Linux (linux namespaces) тот инструмент, который позволяет изолировать ресурсы друг от друга на уровне имен. Например, именами процессов являются их идентификаторы (PIDs), которые можно организовать таким образом, что процессы никогда не могут узнать о существовании друг друга. Об этом и других интересных вещах рассказывается в презентации.
Непрерывная интеграция Python-проектов в ЯндексеAndrey KazarinovРутинные операции тестирования, сборки и развёртывания заставляют в нервном ожидании толстеть на кофепоинте, а частый релизный цикл создаёт лёгкое головокружение? Чтобы помочь вам сохранить тело подтянутым, а голову светлой, я расскажу об организации и особенностях непрерывной интеграции в Python-проектах на примере популярных инструментов.
Процесс разработки и тестирования с Docker + gitlab ciАлександр СигачевДоклад - https://www.youtube.com/watch?v=lJsqRwULRVA
Какие проблемы решаем?
быстрый вход нового разработчика в проект
стандартизация настроек разработчиков
переключение между проектами - разные версии ПО и библиотек (mysql 5.6/5.7, node 0.12/7.2)
приучаем разработчиков к сетевому взаимодействию компонентов
Microservice - масштабирование/разделения разработки
Делим ресурсы staging среды между проектами
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел ТихомировOpenVZРазвёртывание приложений Docker в контейнерах Virtuozzo
Павел Тихомиров
https://events.yandex.ru/events/yagosti/19-september-2015-linux/
Docker контейнерная революцияGetDev.NETМатериалы со встречи:
https://getdev.net/Event/docker
Docker: зачем нужен и почему выстрелил? Контейнеры против виртуальных машин - кто лучше? Docker на Windows: как и когда? А также демо: создание и deploy контейнера на ваших глазах
Депрокрастинируем Docker: контейнеры здесь и сейчасRuslan SharipovДепрокрастинируем Docker: контейнеры здесь и сейчас (мастер-класс). Руслан Шарипов (7bits), Денис Нелюбин (Avelix).
При подходе к любому важному делу или к изучению интересной технологии очень важно сделать первый шаг. Этот шаг может быть совсем шажочком, небольшим движением вперёд, но, часто бывает, что именно такие шаги позволяют добиваться завершения дел до конца.
В последнее время часто наши коллеги и знакомые грозятся погуглить, изучить, разобраться, исследовать, ознакомиться, попробовать, начать использовать Docker, и постоянно откладывают это дело в долгий ящик. Кто-то боится новизны технологии, кто-то хочет задать тонну вопросов, а кто-то просто не понимает, нужна ли технология для него.
В рамках этого мастер класса мы сделаем первый шаг к тому, чтобы попробовать на практике то, что есть сейчас Docker. Мы рассмотрим, что у него под капотом: какие технологии стоят за популярным названием, как работает Docker изнутри, обсудим и научимся использовать на практике контейнеры, registry и инструменты, упрощающие процесс доставки и запуска контейнеров на серверах, обсудим и найдём решения для возникающих проблем, напишем тесты и научимся тестировать инфраструктуру в контейнерах.
Presented: 6th June, 2015
Михаил Боднарчук "Docker для PHP разработчиков" FwdaysЭто не рассказ о том, как из разработчика стать крутым DevOpsом. Это доклад о том, как можно сделать процесс разработки и развертки приложения комфортнее и эффективнее вместе с прогрессивной технологией контейнеризации - Docker.
В этом докладе я затрону следующие темы:
Docker - это то модное слово, которое все должны знать
Дирижирование оркестром вместе с Docker Compose
Создание и настройка рабочего окружения в Docker
Построение сервисно-ориентированых приложений
Безболезненное развертывание приложений с Shipyard
То, чего не хватало для Continuous Integration - запуск параллельных билдов
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TKConfКогда вы пытаетесь следовать гибким методологиям, создавать небольшие автономные команды, микросервисы в вашем проекте появляются естественным путем. Или нет. Обязательно поговорим о "Монолит vs. Микросервисы". И хотя эти маленькие трудяги помогают вам scale и достигать agility они неплохо добавляют вам проблем с доставкой и разработкой.
В заключении попробую ответить на вопрос как деплоить 5 или 50 микросервисов? Не знаю, но давайте попробуем Docker.
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupBadoo DevelopmentАнтон Турецкий, Раудсепп Илья, "Docker в Badoo: от восторгов к внедрению"
Обзор Linux Control GroupsOSLLLinux Control Groups (Контрольные группы) -- механизм, позволяющий управлять группами процессов в Linux и их ресурсами. Это мощный инструмент о котором знают далеко не все. Презентация дает краткий обзор.
Пространства имен Linux (linux namespaces)OSLLВиртуализация уровня операционной системы в Linux (так, называемые контейнеры) опирается на изоляцию ресурсов и на управление их использованием. Пространства имен в Linux (linux namespaces) тот инструмент, который позволяет изолировать ресурсы друг от друга на уровне имен. Например, именами процессов являются их идентификаторы (PIDs), которые можно организовать таким образом, что процессы никогда не могут узнать о существовании друг друга. Об этом и других интересных вещах рассказывается в презентации.
Непрерывная интеграция Python-проектов в ЯндексеAndrey KazarinovРутинные операции тестирования, сборки и развёртывания заставляют в нервном ожидании толстеть на кофепоинте, а частый релизный цикл создаёт лёгкое головокружение? Чтобы помочь вам сохранить тело подтянутым, а голову светлой, я расскажу об организации и особенностях непрерывной интеграции в Python-проектах на примере популярных инструментов.
Процесс разработки и тестирования с Docker + gitlab ciАлександр СигачевДоклад - https://www.youtube.com/watch?v=lJsqRwULRVA
Какие проблемы решаем?
быстрый вход нового разработчика в проект
стандартизация настроек разработчиков
переключение между проектами - разные версии ПО и библиотек (mysql 5.6/5.7, node 0.12/7.2)
приучаем разработчиков к сетевому взаимодействию компонентов
Microservice - масштабирование/разделения разработки
Делим ресурсы staging среды между проектами
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел ТихомировOpenVZРазвёртывание приложений Docker в контейнерах Virtuozzo
Павел Тихомиров
https://events.yandex.ru/events/yagosti/19-september-2015-linux/
Ansible+docker (highload++2015)Pavel AlexeevThis document discusses two presentations: 1) "Docker in practice: Looking at its use in Badoo over a year" and 2) "Yellow elephant and his friends (operation of the Hadoop stack in a federal project)". It then provides information on Docker, Ansible, and how Badoo used Docker Swarm to manage container orchestration. Ansible is described as providing cloud provisioning, configuration management, application deployment, and multi-tier orchestration through simple YAML playbooks without requiring agents.
Docker + Selenium Webdriver в рамках Continuous IntegrationCOMAQA.BY Автоматизация как сервис включает в себя две основные задачи: написание автотестов и создание инфраструктуры запуска тестов. В данном докладе будет рассмотрено решение второй задачи с использованием Docker.
Docker - лёгкий и юркий родственник виртуальных машин. Представьте, что настроенное окружение для запуска тестов легко упаковать в некий контейнер с сохранением всех зависимостей, а после - продолжить разработку, тестирование и постоянное внедрение в абсолютно другой среде. Docker помогает в решении типичных проблем, возникающих при разворачивании и поддержке Continuous Integration. Использование Docker позволяет избежать системных и языковых конфликтов путём изоляции в контейнеры, запускать больше задач в различных конфигурациях среды. В качестве примера в докладе будет предложено создание конфигурации Docker-контейнера, выполняющего функцию CI для непрерывного запуска тестов, написанных на Selenium WebDriver.
Движение по хрупкому дну / Сергей Караткевич (servers.ru)OnticoСегодня Интернет увлечен микросервисами, контейнерами и immutable-инфраструктурой. Очень сложно не поддаться искушению внедрить что-то подобное в компании, в которой вы работаете сейчас. Я попытаюсь отговорить вас использовать эти технологии во вред приложению, себе и бизнесу компании в целом. Я расскажу о типовом проекте, который был запущен в 20 странах за 4 месяца, проблемах, которые я встретил, и выводах, которые я сделал.
- Почему микросервисы не спасут, а похоронят ваш проект.
Я расскажу на основе собственного опыта, почему не стоит увлекаться микросервисами для небольших проектов, почему благие намерения — упрощение деплоя и увеличение числа деплоев, увеличение доступности и улучшение масштабирования ведут к отсутствию гибкости и критическому уменьшению стабильности системы.
- Почему ваша система слишком сложна для своих задач.
Я расскажу, почему не стоит усложнять систему, почему, скорее всего, ваша система слишком сложна для задач, которые она решает и почему вы не контролируете то, что происходит в системе. Я объясню, почему вы потратите все свое время на отладку сложной системы, вместо того чтобы решать задачи бизнеса.
- Почему Docker используется неправильно.
Будут предоставлены реальные примеры использования Docker для нового проекта и для портированного проекта, я объясню, с какими проблемами сталкиваются операторы при работе с Docker на живых примерах, объясню, почему вы, скорее всего, используете Docker неправильно, и предложу варианты, как этого избежать.
- Почему immutable слишком статичен для вашей компании.
Я расскажу про свой опыт работы с immutable и объясню, почему, на мой взгляд, переход к подобной инфраструкт
Клуб Большого мозга - DevOps EveningArtjoker Презентация спикера Станислава Коленкина: From monoliths to microservices. effective orchestration with kubernetes.
SETCON'18 - Vitali Fokin - Kubernetes 101Nadzeya PusОбзор возможностей Kubernetes, зачем он нужен, кому и когда, а также немного хороших практик по развертыванию и разработке Kubernetes-powered приложений.
Docker Containers orchestrators: Kubernetes vs. SwarmDmitry LazarenkoОбзор рынка оркестраторов Docker. Детальное технологическое сравнение Docker Swarm и Kubernetes. Обзор архитектуры и возможностей каждогого из них. Кто лучше справляется с построением масштабируемых микросервисных архитектур
NPM и модульная архитектура приложенияDenis LatushkinРазработка проекта при помощи NPM. Внедрение зависимостей. Модули и модульная архитектура. Сборка на Webpack.
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»SpbDotNet CommunityАлександр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
Использование контейнеризации в среде массового хостингаYandexРечь пойдет об особенностях использования контейнеров в публичных услугах. Почему linux upstream containers пока не подходят на эту роль? По каким причинам OpenVZ справляется с задачей, но не полностью? Какие фишки контейнеров мы хотим иметь в будущем?
2. 2
Контейнеры и виртуализация
● Разные концепции
● Виртуализация – вертикальное абстрагирование
● Контейнеры – горизонтальное разбиение
● Контейнеры используются для замены виртуализации там, где они справляются
лучше:
● Горизонтальная изоляция приложений
● Делегирование окружений
● “Виртуализация приложений”
● Максимальная плотность
● Зачастую контейнеры используются поверх виртуализации
5. 5
Control Groups (CGroups)
● Десять групп
● Основные группы:
● cpu
● memory
● blkio
● systemctl
● net-prio
● cgconfig (устарела) libcgroup будет удалена
6. 6
SELinux – реализация MAC для GNU/Linux
● Интегрирована в ядро
● LSM и расширенные атрибуты
● Для чего использовать:
● Запуск программ с минимальными привилегиями
● Защита от эксплоитов
● Защита пользовательских данных
● Для чего не предназначена:
● Аудит кода
● Шифрование
● Обновления
7. 7
Docker – изменяет правила игры
● Docker CLI интересен, но это не столь значительное
нововведение. Технологии, позволяющие создавать
контейнеры в GNU/Linux > 10 лет
● Docker как формат упаковки и распространения приложений
– вот что важно!
8. 8
Docker - понятия
● Контейнер – запущенное из образа приложение
● Образ – статический снимок конфигурации контейнера.
Образы могут зависить от других образов. Образ всегда r/o.
Изменения сохраняются только созданием образа поверх
образа.
● Образ платформы – не имеющий родительских образов.
Содержит базовые библиотеки и утилиты для запуска
приложений.
9. 9
Docker – упаковка приложений
● API и формат образов:
● Перемещаемость контейнеров между хостами
● Контроль версий и переиспользование компонентов
● Удаленный репозиторий для образов
● Dockerfile – шаблон конфигурации для сборки образов
10. 10
Контейнеры в Linux Вариант 1: Host Containers
Host Containers
Идентичные
контейнеры
Host
Linux
● В Linux хост делится на
защищенные контейнеры
● В каждом контейнере
запускается один код
пространства пользователя
● За : Обновления применяются
просто
● Против : Ограничено только
Одной средой исполнения
11. 11
Контейнеры в Linux Вариант 2:
Image-based Containers
Image-based
Containers
Разные контейнеры
Формат Docker
● Docker предоставляет формат
образов для распространения
программного обеспечения.
● Пакеты самого приложения и
все зависимости для внедрения
приложения в контейнерах
● Docker включает в себя среду
исполнения для приложений
12. 12
Возможные ограничения Docker
● Возможно не достаточно зрело для mission-
critical
● Возможно не достаточно безопасно
● Достаточно быстро меняется
● Приложение – один процесс
13. 13
Примеры реализаций
● Операционная система
● Linux общего назначения
● CoreOS
● Atomic
● VMware Photon
● Управление
● Cockpit
● Kubernetes
● IaaS – что угодно (OpenStack, AWS.. Google.)