Несмотря на то, что термин DevOps на слуху уже лет пять и плотно прописался в профессиональном лексиконе IT-специалистов, на самом деле мало кто знает, что именно он обозначает.
Если очень вкратце, то DevOps означает, что разработчики программного обеспечения сотрудничают со специально подготовленным операционным персоналом в целях круглосуточной поддержки сред для разработки.
Проще говоря, чтобы при возникновении проблем всегда был кто-то, кто мог бы быстро и эффективно их устранить, не отвлекая при этом разработчиков от выполнения их основных задач и, что еще важнее, без ущерба качеству обслуживания клиентов, а также без снижения уровня доходов компании из-за сбоев и прочих технических проблем в производственной среде, в производственных системах или отдельных приложениях, работающие на этих системах.
Не пропустите: КАКИЕ «ОБЛАКА» НУЖНЫ БИЗНЕСУ И ПОЧЕМУ В НИХ СПЕШАТ НЕ ВСЕ
Реально ли DevOps что-то решает?
И даже больше! Но если еще не в курсе, то первое, что нужно понять, это то, что DevOps в современном его виде — не только и не столько автоматизация. Это, по сути, качественно новый подход к организации процессов разработки программного обеспечения.
Да, он включает автоматизацию, но, как отмечают специалисты, основной акцент здесь — именно на том, что DevOps поддержка помогает думать о разработке продукта по новому, более содержательно и гораздо более продуктивно.
DevOps применим как к автоматизированным процессам, так и к процессам CI/CD. Что такое CI/CD?
CI (сокращенно от Continuous Integration) означает буквально «непрерывную интеграцию». Разработчики, как правило, работают над своими собственными проектами и только на определенном этапе объединяют их в единый репозиторий. Потому очень важно выявлять ошибки своевременно, а точнее, как можно раньше, на самых ранних стадиях процесса разработки, когда их проще исправить, и когда они еще не успели попасть в производственные системы и не распространились в разных средах для разработки.
В свою очередь CD означает, что новый код отправляется на серверы только после предварительного его тестирования, во избежание любых «сюрпризов» на всех последующих этапах его применения.
Не пропустите: РЕМАНУАЛИЗАЦИЯ VS RPA В БИЗНЕСЕ: ПОЧЕМУ АЛГОРИТМЫ СПРАВЛЯЮТСЯ НЕ ВСЕГДА
Плюс MLOps и DataOps
И MLOps (DevOps + Machine Learning), и DataOps (DevOps + Data Science) по состоянию на сегодня еще считаются новыми направлениями в IT. Оба ориентированы на оптимизацию операций по обработке данных с помощью таких инструментов, как CI/CD, средств автоматизации и пр., что помогает существенно упростить и ускорить процессы разработки, а также повысить их продуктивность за счет автоматизированного выполнения целого комплекса задач (резервное копирование, ETL-конвейеры и др.).
Собственно, в этом и заключается общее преимущество этих двух технологий: их можно применять для решения очень разноплановых задач. Например, повысить качество работы с клиентами или снизить количество ошибок путем более эффективного и автоматизированного анализа большого объема данных, который специализированные алгоритмы осуществляют быстрее и лучше, чем человек.
Технологии эти пока не совершенны, только начинают развиваться, и пройдет некоторое время, прежде чем они станут достаточно зрелыми, чтобы справиться со всеми задачами, которые в настоящее время выполняет человек. Тем не менее с недавних пор (в том числе и после очевидных успехов новой модели машинного обучения под названием Alexa, реализованной Netflix), MLOps и DataOps профильные специалисты называют следующим уровнем развития DevOps.
Не пропустите: ГЕЙМИФИКАЦИЯ В БИЗНЕСЕ: ГОВОРЯТ, ЧТО ТАКИ УЛУЧШАЕТ, УВЕЛИЧИВАЕТ И СПОСОБСТВУЕТ [ВИДЕО]
Так стоит ли гнаться за новыми трендами?
Есть мнение, что, во-первых, в данном конкретном случае правильнее будет сформулировать вопрос так: стоит ли осваивать что-то новое или хватит и того, что уже и так неплохо работает? А во-вторых, корректным ответом будет: требуется и то, и другое.
Разумеется, DevOps не устранит все проблемы за один день. Это сложное комплексное решение, требующее в первую очередь предельной ясности во всех аспектах, касающихся его возможностей и конкретных выгод как для конкретного проекта, так и для бизнеса в целом.
Следовательно, учиться применять что-то новое можно и нужно. А значит, надо быть готовым к тому, что в процессе придется по-новому взглянуть на то, как велась и ведется работа сегодня и, очень вероятно, переосмыслить некоторые цели и задачи. Но ведь новые технологии для того и нужны, чтобы с их помощью работать результативнее и зарабатывать больше, не так ли?