Содержание

С вас вопросы, с нас ответы. Часть 15

Отвечаем на популярные вопросы про DevOps
Консультирует:
Павел Минкин, Software Engineer в FinTech

1. Что такое DevOps и зачем разработчику разбираться в нем?

DevOps — это методология и набор практик, которые появились как решение классических проблем разработки, таких как долгий TTM, разные среды, усложняющие дебаг, или непонятная ответственность за падение прода. Снять часть рутины, переложив сборку и тесты на автоматизацию, исключить ручные изменения и многое другое — всё это призвано снять с разработчика рутину и оставить время на разработку.

2. Какие DevOps-навыки сегодня ожидают от Middle и Senior разработчиков?

Удивитесь, но даже среди Senior-разработчиков есть непонимание, как собрать код и сделать отделяемый артефакт, чтобы запускалось не только на локальной машине. А в мире микросервисов знать Docker для разработчика — это обязательный навык. Также пригодятся навыки построения пайплайнов для тех же юнит/смоук/интеграционных тестов, чтобы снизить ручные ошибки и освободить время.

3. Как устроен путь кода от коммита до продакшена?

Это описывается CI/CD и, по сути, это обертка-автоматизация для всего процесса, или, как говорят, пайплайна.

4. Что такое CI/CD и как работают современные пайплайны доставки приложений?

С момента, когда код попал в репозиторий, запускаются сборки артефакта (CI) и доставка и запуск на среде (CD). «Идеальный пайплайн» — здесь это учесть все нюансы кода, бизнес-логики, безопасности, тестирования и, конечно, предусмотреть возможность отката.

5. Как Docker изменил подход к разработке и деплою приложений?

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

6. Что должен знать разработчик про Kubernetes, даже если он не DevOps-инженер?

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

7. Что такое Infrastructure as Code и почему без него сложно поддерживать большие проекты?

В названии кроется вся суть подхода. Когда инфраструктура описана кодом, это сводит к минимуму ручные изменения и связанные с ними ошибки. Накатил и получил необходимое состояние. Отдельный плюс — это хранение всех настроек в виде кода, что открывает возможности для совместной поддержки.

задай вопрос, а мы ответим

другие статьи