Недавно все ИТ-специалисты делились на системных администраторов, тестировщиков и программистов, которые практически никак не пересекались в работе. Но пару лет назад возник метод DevOps, который связал эти три направления и настроил совместную работу, чтобы быстрее создавать IT-продукты.
Что такое DevOps
В любом процессе разработки продуктов принимают участие 3 команды:
- Dev — разработчики, которые пишут программный код;
- QA/QC — тестировщики, которые ищут ошибки и баги в программах;
- Ops — инженеры, которые следят за инфраструктурой и запускают готовый код на сервера, чтобы заказчик мог получить доступ и зайти на сайт или в приложение.
Раньше такие команды работали по отдельности, каждый отвечал за свою часть работы. Один отдел получал готовый код от другого порциями, а не в потоке. По этой причине возникали следующие проблемы: тестировщики проверяли неактуальный блок, системные администраторы могли долго сидеть без дела и ждать, когда код заново перепишут, а разработчики не понимали, какой нужен результат.
Для того чтобы ускорить работу, был создан DevOps — метод по организации взаимодействия специалистов разработки. Он помогает запустить «конвейер», на котором программисты, тестировщики и системные администраторы активно взаимодействуют друг с другом и вместе несут ответственность за результат.
Методология DevOps — это сочетание двух факторов:
- принципы взаимодействия: налаженные отношения между специалистами, утверждение единых KPI и установление совместной ответственности за результат;
- комплект инструментов для создания «конвейера»: автоматические программы тестирования, инфраструктуры для разработки, сервисы для отправки кода между другими группами.
Для того чтобы в этой системе не было сбоев, необходим отдельный профессионал — DevOps-инженер. Он выстраивает процессы в команде, настраивает программы для общей работы, выполняет функции проводника для всех сотрудников.
Как работает метод DevOps
Обычно программы создают последовательно: написание кода, затем тестирование готовых блоков и развертывание на доступных для заказчика серверов. В DevOps все делается одновременно:
- Инженеры создают программы для автоматизации, настраивают тестовые сервера и следят за состоянием сервисов для выполнения задач.
- Программисты разрабатывают код, который сразу отправляют на проверку. Часть юнитов тестируют автоматически, самые трудные блоки отдают в отдел тестировщиков.
- Проверенный код направляют к инженерам для развертывания на серверах. При этом параллельно разрабатываются другие блоки приложения.
- Служба эксплуатации постоянно следит за процессом и ищет ошибки в коде на серверах. Если находят неисправности, то сразу отправляют обратно специалистам на доработку.
Этот подход помогает почти сразу запускать недостающие обновления для сервисов, исправлять ошибки прямо в процессе разработки и создавать продукты намного быстрее.
Если вам интересны AI, ML, Big Data, Data Science и вы хотите разрабатывать программы с искусственным интеллектом вместе с командой для известных организаций в стране, то вам точно стоит зарегистрироваться в нашем проекте «Цифровой прорыв. Сезон: искусственный интеллект».