Примерно за последние десять лет компании, которые зародились в Интернете, совершили переворот в построении и поддержке технологий разработки и развертывания программных приложений. Они были одними из первых, кому удалось интегрировать функции разработки программного обеспечения с поддержкой и эксплуатацией и сосредоточиться на непрерывной поставке небольших обновлений, в рамках которых команды быстро проектируют, интегрируют, тестируют, поставляют и следят за изменениями программного обеспечения.
Например, Netflix создала облачную ИТ-архитектуру, которая позволяет её разработчикам запускать сотни изменений программного обеспечения в день. Веб-сайт Netflix объединяет сотни микросервисов (microservices), размещенных в облаке, и каждый сервис поддерживается специальной группой DevOps. Разработчикам не нужно запрашивать ресурсы из команды эксплуатации, вместо этого они могут автоматически создавать фрагменты кода в развертываемых веб-формах. Эти веб-формы содержат новые функции или услуги и могут быть интегрированы в существующую инфраструктуру Netflix с помощью встроенной веб-платформы, на которой создаются инфраструктурные кластеры.
Тестирование этих веб-форм выполняется в производственной среде, но с ограниченным количеством пользователей. После того, как веб-формы начинают активно использоваться, технология балансировки нагрузки направляет на них часть трафика с более старых версий. Автоматизированный мониторинг гарантирует, что если что-то пойдет не так с развертыванием новых веб-форм, трафик направится обратно на старые версии. Благодаря такому уровню автоматизации Netflix может развернуть новый код в своей производственной среде в течение нескольких часов, в то время как большинство компаний тратят на это месяцы.
Конечно, у интернет-компаний, таких как Netflix, есть одно преимущество — они проектировали свою ИТ-архитектуру с нуля и им не надо было менять или поддерживать сложные устаревшие системы. А учитывая, что основной продукт этих компаний — веб-приложения, стопроцентно ориентированные на потребителя, они научились быстро реагировать на пожелания клиентов и с лёту выпускать новые функции и улучшения.
В противоположность им, большинство не-интернет-компаний, стремящихся использовать подход DevOps, как правило, обременены старыми транзакционными системами, которые они должны как-то увязать с гибкими подходами к разработке программного обеспечения. Более того, не каждая функция в рамках организаций, придерживающихся традиционных способов ведения бизнеса, потребует DevOps, это применимо к системам записи данных, которые не чувствительны ко времени, например, к общей бухгалтерской книге. А значит, таким компаниям придется заняться не только развитием двухскоростной ИТ-архитектуры, но и создавать двухскоростную ИТ-организацию.
Поддержка и внедрения DevOps, консультация [email protected]