December 23, 2019

Зачем Docker программисту?

Если вы сейчас сурово приподняли бровь и удивленно думаете «А мне зачем этот Docker?» - скорей всего вы программист.

Рассказываем, зачем. На пруфах и фактах, никакой беллетристики. Ну, может быть, маааленький единорог в конце разве что. Но это не точно.

Часть 1. Матчасть. Как программист может использовать Docker?

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

Какие же возможности это открывает перед прогером?

  1. Вы можете запустить API на любой машине – хоть дома на любимом ноуте, хоть на стороннем хосте.

Как правило, чтобы развернуть у себя проект, нужно установить много сопутствующих компонент. А это занимает прорву времени, счет идет даже не на часы, а на дни.

То есть, чтобы допилить функционал минут за 30, нужно потратить пару дней на разворачивание всех нужных компонент локально.

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

2. Docker обеспечит устойчивую работу системы.

Вы не устанавливаете на свой комп ненужный софт. И не тратите часы на восстановление системы, если что-то пошло не так. Все работает в изолированных контейнерах. Если нужно, можно удалить весь сторонний софт.

3. Вы можете контролировать развертывание своего проекта

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

Часть 2. Ближе к телу. А что вам даст знание Docker?


Увы, отмахнуться от этой технологии вряд ли получится. Опыт работы с Docker становится обязательным требованием в IT-вакансиях. Работодатели хотят хотя бы базового понимания контейнеризации от Fullstack, Backend, Frontend-разработчиков, QA Engineer, тестировщиков ПО и Scala Engineer. И, конечно, знание Docker является must have для тех, кто хочет развиваться как DevOps-инженер.

А вот и цифры.

По данным hh.ru, только в декабре 2019 года открыта 3971 вакансия с требованием владения Docker. А декабрь еще в разгаре, заметьте.
По прогнозам Яндекс и аналитической службы HeadHunter, понимание основ Docker - один из наиболее востребованных навыков в ближайшем будущем. Уже сегодня на него растет спрос. Надо признать, работодатели готовы платить за новый навык. На графиках ниже обратите внимание, как с ростом уровня требований приятно растет и медиана зарплаты.

Вот, например, данные из отчета Яндекс Практикума.

На этой позитивной денежной ноте мы и закончим. Надеемся, вы сделали правильные выводы и начнете свою прокачку скиллов, не откладывая до нового года.