Облако - это огромный мультипликатор силы. Для цифровой трансформации вам понадобятся облачные возможности, но это не обязательно означает перенос всех рабочих нагрузок. Высококлассная команда облачных архитекторов и специалистов по FinOps поможет сориентироваться в необходимых вариантах и компромиссах (и многократно окупит себя).
Примечания
Абхи Бхатнагар, Бейли Колдуэлл, Альхарит Хуссин и Абдалла Салеме, "Облачная экономика и шесть самых вредных ошибок, которых следует избегать", McKinsey.com, 3 мая 2022 г., https://www.mckinsey.com/capabilities/ mckinsey-digital/our-insights/cloud-economics-and-the-six-most- damaging-mistakes-to-avoid.
Аамер Байг и Джеймс Каплан, "Пять шагов для поиска ценности в облаке", CIO, 2 февраля 2022 г., https://www.cio.com/article/304106/5- steps-for-finding-value-in-the-cloud.html; см. "Семь уроков о том, как технологические преобразования могут обеспечить ценность", McKinsey.com, 11 марта 2021 г., https://www.mckinsey.com/capabilities/mckinsey-digital/ our-insights/seven-lessons-on-how-technology-transformations- can-deliver-value.
Аарон Бауком, Себастьян Бекерра, Бо Беннетт и Билл Грегг, "Основы облачных технологий: Десять заповедей для более быстрой - и более прибыльной - миграции в облако", McKinsey.com, 21 апреля 2022 г., https://www.
Глава 19.
Инженерные практики для обеспечения скорости и высокого уровня кода качества
Инженеры воплощают мечты в реальность.
-Хаяо Миядзаки
Раньше выпуск нового программного обеспечения был похож на выпуск новой крупной модели автомобиля: годы проектирования, разработки и тщательных испытаний, за которыми часто следовало большое маркетинговое мероприятие и вечеринка по случаю запуска. Однако на первый план вышли более совершенные методы и инструменты - в том числе растущие преимущества программного обеспечения с открытым исходным кодом, - позволяющие командам разработчиков проходить различные этапы разработки программного обеспечения и выпускать новые функции быстро и итеративно. Это изменило игру - теперь каждая компания должна стать компанией-разработчиком программного обеспечения.1 В основе этой революции лежит автоматизация жизненного цикла разработки программного обеспечения (SDLC), о которой пойдет речь в этой главе (см. Рисунок 19.1).
Жизненный цикл разработки программного обеспечения (SDLC)
РАЗВИТИЕ
ПРОДУКЦИЯ
Непрерывная интеграция Непрерывная
развертывание
Код
Построить
Пакет
Работайте на сайте
Тест
Развернуть
ПРИЛОЖЕНИЕ 19.1
Автоматизация SDLC позволяет agile-командам вносить небольшие изменения, быстро проверять их (с помощью механизмов быстрой обратной связи), часто тестировать и непрерывно итерировать - что резко отличается от распространенного подхода, при котором команды вносят большие изменения партиями во время окон выпуска, а затем выпускают их в производство. Из-за размера этих изменений и количества изменяемых вещей может возникнуть любое количество проблем, которые замедлят способность agile-команды к быстрой итерации.
Компания Netflix создала облачную ИТ-архитектуру, которая позволяет ее разработчикам запускать сотни изменений в программном обеспечении в день. Сайт компании состоит из сотен микросервисов, размещенных в облаке, и каждый сервис разрабатывается и поддерживается специальной командой. Разработчикам не нужно запрашивать ресурсы у команды ИТ-операторов, вместо этого они могут автоматически собирать части кода в развертываемые веб-образы. По мере обновления этих образов новыми функциями или сервисами они могут быть интегрированы в существующую инфраструктуру Netflix с помощью специально разработанной веб-платформы, на основе которой создаются кластеры инфраструктуры. Тестирование тщательно проводится в производственной среде с подмножеством пользователей.