December 23, 2019

Зачем вам Docker?

Если вы считаете, что докер (англ. docker – портовый рабочий) – это тот, кто грузит контейнеры, вы правы по форме, но не по содержанию. В нашем случае Docker – это действительно удобный интерфейс для работы с контейнерами. Но не только. Давайте разбираться, что это такое и с чем его едят.

Docker можно использовать на всех этапах работы с приложениями - при разработке, тестировании, ревью и эксплуатации. По сути, он ускоряет процесс настройки среды для приложения. Мы запаковываем приложение в образ и можем развернуть его, где угодно. То есть, отделить наше приложение от собственно инфраструктуры и – внимание! - одновременно управлять инфраструктурой как приложением.

Главное преимущество Docker – это красивый логотип в виде кита. Шутка. Скорость, конечно, бич всех современных процессов, хоть бизнесовых, хоть технологических. С Docker можно быстрей тестировать, быстрей выкладывать приложения, быстрей запускать и редактировать код.

Какие проблемы решаем с помощью Docker:

  • легко и непринужденно передаем продукт клиенту – без отправки кучи файлов, скриптов и инструкций;
  • запросто тиражируем, если нужно поднять несколько одинаковых серверов;
  • не паримся каждый раз, готовя на новом сервисе одинаковую конфигурацию для продукта, а переиспользуем настройки в Docker.

Docker работает с этими задачами при помощи контейнеризации. Приложение упаковывается в изолированный контейнер, который вы можете развернуть на любой машине. При этом Docker позволяет запустить на одном хосте одновременно несколько контейнеров.

Если сравним Docker и Vagrant, виртуализация в первом существенно дешевле. Потому что Vagrant эмулирует целую операционную систему, а Docker – только один нужный процесс.


Теперь к цифрам. Кроме жирной галочки в графе «саморазвитие», скилл в Docker, как хлеб насущный, необходим DevOps-инженерам. В чуть меньшей степени – системным администраторам и разработчикам.
Смотрим на ключевые навыки DevOps-инженера, которые собрали в статистику Яндекс и аналитическая служба HeadHunter, - это Docker, Linux, Git, Python, Bash.

Если обратимся к hh.ru, в 90% вакансий в сфере DevOps Docker необходим.

Не убедили? Тогда еще цифр.

  • По данным отчета Indeed, за 2018 год число вакансий, в которых необходимо знать Docker, увеличилось на 50%. Совсем скоро ждем данных за 2019 год, уверены, спрос только вырос.
  • С 2014 до 2019 года доля рабочих мест, где важно знание Docker, выросла на впечатляющие 9538%.
  • В публичном репозитории Docker Hub реализовано 5.8 млн приложений.
    100 000 сторонних проектов используют Docker.
  • В 2019 пользователи загрузили 105 млрд Docker контейнеров.
    Docker используют более 750 крупнейших международных корпораций, включая ADP, GE, MetLife, PayPal и Societe Generale.
  • С 2015 года и до сегодняшнего дня доля работающих с Docker клиентов Datadog, сервиса мониторинга облачных сред и приложений, растет на 3-5% в год.

Во всех средах, отслеживаемых Datadog, доля хостов, где работает Docker, растет на 5 % в год.

Чем масштабней инфраструктура, тем больше докеров используется. Цифры ниже – тому подтверждение.

Средний размер развертывания докеров вырос за год на 75%.

Теперь-то убедили, что без Docker вы как без рук? Так что, друзья, гоу учить Docker - и скиллы прокачаете, и прибавку к зарплате получите.