Что такое DevOps?
Порожденный трудностями сложного проекта переноса данных и улучшением совместной работы разрозненных команд, DevOps эволюционировал в движение, направленное на облегчение разработки программного обеспечения и его внедрение при одновременном повышении надежности и безопасности.
Хотя процесс объединения команд вряд ли можно назвать гладким, при его успешном выполнении DevOps обеспечивает значительные преимущества для предприятий, независимо от того, являются ли они крупными или малыми.
DevOps сочетает в себе слова «Разработка» и «Эксплуатация» с термином, возникшим в 2009 году и приписываемым Патрику Дебуа, который широко считается «крестным отцом DevOps» и является основателем популярной конференции DevOpsDays.
Философский подход Дебуа к разработке программного обеспечения и эксплуатации вырос из его опыта годом ранее с проектом миграции данных для бельгийского правительства, где разработчики проекта и системные администраторы просто не были на одной волне. После этого Дебуа создал вышеупомянутую конференцию, чтобы поделиться этим опытом, и родилось движение, известное по все еще популярному в Твиттере хэштегу #DevOps.
Помимо лингвистики, DevOps имеет разные определения и, в конце концов, немного отличается в каждой конкретной организации. В общем, DevOps — это термин, описывающий набор принципов, инструментов и даже культуры, направленных на унификацию разработки программного обеспечения и его внедрения в эксплуатацию.
Цель этого сделать организацию более гибкой, чтобы продукты, такие как приложения, могли разрабатываться быстрее, чем обычно создается программное обеспечение. С DevOps обычные барьеры между группами разработки и эксплуатации в организации полностью устранены, поскольку эти две традиционно отдельные команды объединяются в одну группу.
Таким образом, инженеры могут работать над продуктом на протяжении всего его жизненного цикла, а не только во время разработки, а затем передавать его другим с меньшим опытом и меньшими знаниями о том, что происходило на более ранних этапах проекта.
DevOps на практике
DevOps рискует превратиться в слово, не имеющее смысла, поскольку отрасль сплачивается, чтобы приписать его каждому продукту и услуге в своем портфолио. Реальность такова, что я не могу продать вам DevOps, а вы не можете его купить.
DevOps — это больше, чем просто автоматизация. Это включает в себя такие вещи, как культура. Это способ работы, который ценит сотрудничество с общим взглядом на успех. Как следует из названия, это сотрудничество осуществляется в первую очередь между разработчиками и операторами, но не ограничивается этим.
DevOps означает, что вы видите сквозную систему доставки от концепции до производства, ваша область действия DevOps — это любая группа, участвующая в этом рабочем процессе. Поэтому, если вы готовы внести культурный вклад в изменение своей работы, вы можете начать внедрять некоторые рабочие методы, которые рекомендует DevOps.
Интеграция DevOps
Но прежде чем с головой погрузиться в определение работы и управление ограничениями, убедитесь, что вы знаете, почему вы хотите сделать DevOps частью своего успеха в ИТ-услугах. Многие успешные реализации были обусловлены желанием:
• Сокращение времени выхода на рынок новых продуктов и функций.
• Повышение гибкости для адаптации к внутренним и внешним воздействиям.
• Раскройте возможности экономии средств, предлагаемые облачными платформами.
• Устранение риска теневых ИТ-услуг
Успешное внедрение DevOps легко заметить. Это организации, которые говорят о том, что ежедневно выпускают десятки и даже сотни выпусков кода, где, кажется, существует постоянный поток новых функций, чтобы пользователи оставались заинтересованными и лояльными.
Лидерами здесь являются интернет-гиганты, такие как Google, Facebook, Netflix, Etsy и другие. Но в то время как многие из них захватывают заголовки, существует большое количество историй успеха, когда организациям требуется Интернет и веб-сервисы в качестве значительной части их канала выхода на рынок.
Подходит ли ваша организация?
Из эклектичного списка выше должно быть очевидно, что DevOps команда — это не эксклюзивный клуб, каждый может взять его и попытаться внести позитивные изменения в свой бизнес. Тем не менее, есть некоторые общие черты, которые определяют наиболее подходящих кандидатов для изменений:
• Существующая сильная культура сотрудничества и открытого общения
• Команда исполнительного руководства, которая рассматривает ИТ как фактор, способствующий развитию бизнеса.
• Спонсорство на достаточно высоком уровне, позволяющем бросить вызов статус-кво.
• Доход и бренд в значительной степени связаны с веб- и мобильными каналами.
• Устоявшиеся организации, которые рассматривают интернет-стартапы как угрозу.
• Стартапы, которые хотят быть более гибкими, чем их устоявшиеся конкуренты.
• Приложения, созданные самостоятельно и разработанные на основе открытой технологии.
Все это создает убедительные бизнес-драйверы для принятия изменений как возможности создать преимущество в вашей отрасли. Но временами трансформация будет сложной, и лидерам, которые спонсируют эти инициативы, нужно терпение и четкие ожидания, чтобы обеспечить команде все возможности для достижения успеха.
Как и в случае с облачными преобразованиямихочу ко, преобразования DevOps не будут повсеместно успешными. На самом деле вы должны ожидать, что время от времени потерпите неудачу. Хитрость заключается в том, чтобы ошибаться быстро, учиться и повторять.
Избавление от страха перед неудачей важно, особенно если оно глубоко укоренилось в бизнес-культуре, где обзоры инцидентов — это обмен обвинениями, а не результат обучения.
Вот почему жизненно важно, чтобы вы были привержены культуре, а также методам работы. Однако риск отказа от DevOps сам по себе несет риски. Если ваши конкуренты быстрее выходят на рынок с функциями и продуктами, что это значит для вашего бизнеса? Если ваши конкуренты могут открыть финансовые преимущества за счет повышения операционной эффективности без ущерба для прибыли, как вы отреагируете?
Внедрение DevOps не должно быть вызвано страхом, но не включение его в ваши ИТ-планы должно быть хорошо управляемым риском в стратегии вашей организации.
Когда начать
Итак, надеюсь, вы достигли точки, когда вам интересно начать. Вот несколько наводящих вопросов, которые помогут вам начать работу:
• На основе какого приложения я собираюсь построить эту модель?
Не делайте этого оптом по всему вашему ИТ-владению. Приложение и команды вокруг него являются ключевыми факторами успеха, определяют приложение-кандидат и создают вокруг него пузырь автономии.
• Могу ли я описать весь процесс от идеи до выпуска продукции?
Простое описание процессов — отличный способ определить заинтересованные стороны и устранить потери. Никогда не думайте, что у вас есть все нужные люди в комнате на первой встрече!
• Где мои ограничения?
Ключом к увеличению потока через систему является управление ограничениями. Создание мощностей с обеих сторон без устранения узких мест не приведет к увеличению выпуска. Выясните, какие части вашей системы замедляют работу, и улучшите их.
• Есть ли у меня навыки для выполнения этого?
Наборы навыков DevOps сейчас очень востребованы. Потратьте время, чтобы понять, есть ли у вас необходимые ресурсы для достижения успеха? Если вы этого не сделаете, запланируйте дополнительный найм, обучение или поищите третью сторону, которая может помочь разгрузить некоторые из основных функций.
Интеграция безопасности
Ключевой проблемой любой ИТ-инфраструктуры будет безопасность, и иногда она сочетается с DevOps — эта тройная комбинация упоминается как родственный обрезанный составной термин: DevSecOps.
Такая интеграция нескольких команд способствует такому «более рациональному» подходу к разработке и внедрению программного обеспечения. Традиционно разработка программного обеспечения и его внедрение были трудоемким, ручным процессом, который неудивительно медлителен. Сегодняшний постоянно меняющийся рынок внедряет инновации с головокружительной скоростью, и преимущества получают те организации, которые могут идти в ногу с этим быстрым темпом, а не рисковать почти наверняка остаться позади.
DevOps использует инструменты для ускорения этих процессов, например, с помощью стека технологий и инструментов для повышения эффективности и надежности разработки программного обеспечения. Эти инструменты также облегчают развертывание кода, которое может быть выполнено внутри одной команды без участия других, и это также способствует быстрому темпу инноваций и развертыванию этой модели DevOps.
Инженеры DevOps занимаются не только автоматизацией кода. Они также застревают с внедрением, которое включает серверы их компании, в том числе более доступные серверы операционных систем с открытым исходным кодом, включая Linux.
DevOps в действии: пример
Теперь давайте посмотрим на пример DevOps в действии. Allstate входит в список Fortune 500, а истоки этого страхового гиганта восходят к 1931 году. Тем не менее, она вряд ли гибкая, с 16 000 сотрудников, многие из которых работают в полевых условиях.
Цель фирмы заключалась в том, чтобы предоставить своим мобильным сотрудникам новейшие инструменты, чтобы они могли работать с более высоким уровнем эффективности. В то же время была и вторая цель — улучшить самообслуживание для своих клиентов, чтобы они могли подавать заявки и отслеживать их по мере их обработки.
Сообщается, что ранее приоритетом компании был подход DevOps, в последнее время основное внимание уделяется удержанию клиентов и дифференцированным функциям программного обеспечения. Благодаря командной работе и общим ценностям, которые занимают центральное место в подходе DevOps, компания сосредоточилась на разработке продукта для своего приложения и поддержании его актуальности с возможностью быстрого развертывания новейших функций.
На горизонте Allstate также планирует продолжить использование подхода DevOps для внедрения датчиков Интернета вещей в автомобили клиентов, используя аналитику для оценки их манеры вождения. Из значительного числа рабочих мест Allstate DevOps в настоящее время перечисленных, Allstate явно продолжает придерживаться этого подхода.
Скорость и масштаб
Учитывая неотъемлемые преимущества скорости развертывания, повышенной надежности, возможности масштабирования и интегрированной безопасности, неудивительно, что многие организации приняли подход DevOps. В прошлом году опрос лиц, принимающих решения в области бизнес-технологий, был использован для составления отчета о состоянии DevOps в 2018 году. Некоторые полезные статистические данные, которые следует выделить, включают:
- DevOps популярен: его уже использует треть респондентов, а 35% планируют внедрить его в этом году.
- Ключевым преимуществом является более высокая скорость: 69% заявили о преимуществах «повышенной скорости и частоты развертывания приложений».
Несмотря на присущие DevOps преимущества, это по-прежнему инструмент, который необходимо применять выборочно в правильной ситуации, и всегда существует опасность того, что DevOps не оправдает ожиданий. Однако это часто происходит из-за того, что вовлеченный бизнес продолжает разобщать свой персонал и, таким образом, страдает от разделения на отделы.
Разрушение разобщенности и объединение команд требует культурного сдвига; в конце концов, люди, занимающиеся разработкой программного обеспечения и обеспечением качества, изначально были в разных командах по какой-то причине, и они не разделяют автоматически один и тот же набор навыков только потому, что мы сближаем их рабочие столы.
Команды не обязательно хотят работать друг с другом, и требуется время, чтобы этот более современный подход DevOps прижился, со здоровой дозой взаимного уважения, необходимой им для достижения общей цели, и меньше беспокоясь о том, кто из бывшие команды правят балом. Этот тип перехода обычно не происходит в одночасье, по крайней мере, в большинстве организаций.
Из-за трудностей сложного проекта миграции данных и улучшения совместной работы разрозненных команд DevOps превратился в движение, направленное на облегчение разработки программного обеспечения и его внедрение при одновременном повышении надежности и безопасности.
Хотя процесс объединения команд вряд ли можно назвать гладким, при его успешном выполнении DevOps обеспечивает значительные преимущества для предприятий, независимо от того, являются ли они крупными или малыми.