Опыт разработчика (DevEx) не должен быть единственным приоритетом вашей внутренней платформы для разработчиков (IDP); не менее важно ее влияние на бизнес, пишет на портале The New Stack Брайан Уолд, главный технический директор GitLab.
Платформенный инжиниринг, который объединяет лучшие практики и компоненты для команд разработчиков, приобретает все большее значение по мере того, как практики и фреймворки DevSecOps все шире внедряются в организациях. Платформенный инжиниринг направлен на нормализацию и стандартизацию рабочих процессов разработчиков, предоставляя им оптимизированные «золотые пути» для большинства их рабочих нагрузок и гибкость в определении исключений для остальных.
По прогнозам Gartner, к 2026 г. 80% крупных организаций, занимающихся разработкой ПО, создадут команды платформенных инженеров в качестве внутренних провайдеров повторно используемых сервисов, компонентов и инструментов для доставки приложений (в 2022 г. их было 45%). Платформенный инжиниринг позволяет организациям, особенно крупным, в которых параллельно реализуется множество инженерных инициатив, легче масштабировать принципы и инструменты DevSecOps. Это невероятно важно, поскольку компании вынуждены делать больше с меньшими затратами.
DevSecOps обеспечивает значительные преимущества в скорости, стоимости и гибкости. Тем не менее, крупные организации сталкиваются с проблемами при внедрении этой методологии из-за высоких затрат, трудностей с наймом достаточного количества персонала и устаревших технологических стеков. Традиционный подход DevOps, если его не внедрять продуманно, также может привести к локальной изолированности инструментов, когда каждая команда выбирает инструменты и процессы, которые лучше всего подходят для нее, но не обязательно подходят для компании в целом.
При разработке новой инициативы платформенного инжиниринга организации могут пойти по одному из двух путей. Одним из вариантов является создание уровня аутентификации и визуализации, охватывающего несколько точечных инструментов, но это не решит основных проблем, связанных с устаревшими технологическими стеками и разрозненными инструментами, поэтому вряд ли это будет долгосрочным решением. Другой вариант — внедрить IDP, которая снижает когнитивную нагрузку на разработчиков за счет объединения нескольких технологий и инструментов в единую систему самообслуживания.
Ключевые преимущества платформенного инжиниринга для бизнеса
Ускорение выхода на рынок. Платформенный инжиниринг обещает помочь организациям быстрее и с меньшими затратами доставлять ПО более высокого качества. Создание команды платформенных инженеров окупится в долгосрочной перспективе, позволив крупным организациям быстрее перейти к работе с меньшим количеством инструментов, что приведет к существенной экономии средств.
Снижение рисков для безопасности и соответствия требованиям. Меньшее количество инструментов и более упорядоченные рабочие процессы снижают издержки организации, связанные с соблюдением требований, и потенциальную уязвимость для атак. Согласно отчету IBM «Cost of a Data Breach Report 2023», средняя стоимость утечки данных в мире в 2023 г. составила 4,45 млн. долл. Тем не менее, организации, которые эффективно управляли своей поверхностью атак, могли быстрее локализовать нарушения безопасности.
Улучшение опыта разработчиков. DevEx становится все более приоритетной задачей, поскольку компании конкурируют за привлечение и удержание лучших специалистов в области разработки. Команды платформенных инженеров могут помочь улучшить опыт разработчиков, создав эффективные автоматизированные рабочие процессы или «золотые пути» и избавив разработчиков от некоторых ручных, посторонних задач. Это упростит их повседневную работу, позволив эффективно создавать, тестировать и развертывать приложения и сосредоточиться на более важной для бизнеса работе.
Лучшие практики платформенного инжиниринга
Начните с корпоративной культуры. Если «платформа» описывает то, что мы должны создать, то «инжиниринг» описывает, как это должно быть создано. Слишком многие организации с головой уходят в покупку и развертывание технологий, не задумываясь о том, как им следует развивать свою организационную культуру, чтобы добиться успеха в их внедрении. Тот факт, что организация внедряет IDP, еще не означает, что разработчики будут ее применять.
Команды платформенных инженеров должны считать себя владельцами продукта, а разработчиков — своими клиентами. Они должны проводить исследования, чтобы понять потребности разработчиков, а затем общаться с конечными пользователями, чтобы помочь им добиться успеха с помощью предоставленных ресурсов. Это требует навыков маркетинга, коммуникации и поддержки клиентов, которых часто не хватает техническим командам.
Ключевым моментом здесь является ориентированные на продукт мышление и культура, которые позволяют командам платформенных инженеров сосредоточиться на создании ценности для своих конечных пользователей (разработчиков), прислушиваясь к отзывам пользователей и постоянно совершенствуя свой продукт (платформу для разработчиков). Руководителям следует создать среду, в которой члены команды будут чувствовать себя вправе искать способы помочь своим конкретным (внутренним) клиентам. Они должны быть сосредоточены на том, чтобы максимально упростить для людей использование их сервисов — скорее всего, с помощью интерфейсов самообслуживания или программируемых API.
Сосредоточьтесь на создании ценности для бизнеса. При запуске инициативы платформенного инжиниринга у организаций может возникнуть соблазн обратиться к высокопродуктивным командам и скопировать то, что они делают. К сожалению, они часто уделяют слишком много внимания структуре или инструментам модельной команды. Но структура и инструменты часто являются результатом высокопродуктивной работы, а не причиной. Вместо этого руководителям следует сосредоточиться на бизнес-результатах, которые они хотят видеть, а затем определить правильные инструменты и структуру команды для достижения этих целей.
Определите цель вашей практики платформенного инжиниринга с точки зрения влияния на бизнес. Ускорение разработки ПО — это здорово, но почему? Какой бизнес-цели это служит?
Например, повышение скорости и гибкости — это общая цель, но за этим может стоять несколько бизнес-задач. Задержка с выводом на рынок влечет за собой очевидные альтернативные издержки, поскольку организациям приходится делать сложный выбор в отношении того, каким продуктам отдать предпочтение. Организации, которые могут действовать быстрее, также лучше подготовлены к тому, чтобы реагировать на быстро меняющиеся рынки. И это имеет значение для безопасности — организации должны знать, что они могут быстро и эффективно отреагировать на инцидент с безопасностью.
Общие показатели производительности и результативности полезны, но руководителям следует попытаться перевести эти показатели в денежные значения, чтобы прояснить ценность для бизнеса. Например, предположим, что платформенный инжиниринг сокращает время, необходимое новому разработчику для выполнения своих первых производственных обязательств. В этом случае организация экономит определенный процент от годовой зарплаты разработчика и часть заработной платы тех, кто помогает ему в работе. Организация также, вероятно, увеличит удержание персонала, сократив потребность в дорогостоящем найме (включая рекламу, рекрутеров и длительные циклы собеседований).
Руководители могут оптимизировать инициативы платформенного инжиниринга для достижения желаемых результатов, уделяя особое внимание бизнес-ценности.
Создавайте для всех. Первые пользователи платформы для разработчиков могут быть весьма заметными (и громогласными) на ранней стадии процесса. Однако помните, что у первопрооходцев, которые, согласно теории распространения инноваций, обычно составляют менее 20% людей в организации, могут быть совсем другие потребности, чем у большинства пользователей, которые в конечном итоге будут применять платформу. Определяя оптимальные пути, которые имеют смысл для вашей организации, убедитесь, что вы разрабатываете их для большинства, а не только для первых пользователей.
Один из распространенных способов, в который стоит инвестировать на ранней стадии, — это сквозной конвейер CI/CD, поддерживающий определенный тип рабочей нагрузки на одном наборе целевых платформ (таких как Kubernetes). Как только эта базовая рабочая нагрузка будет поддержана, это обеспечит прочную основу для других и уверенность в том, что платформа может приносить пользу. Определите приоритетные направления развития вашей организации в отношении бизнес-результатов, которые они обеспечивают.
Делать больше с меньшими затратами
Преимущества платформенного инжиниринга заключаются в сокращении сроков вывода на рынок, снижении рисков для безопасности и соответствия требованиям, а также в улучшении опыта разработчиков. Формирование культуры, ориентированной на продукт, и постановка четких бизнес-целей имеют решающее значение для успеха. Очевидно, что платформенный инжиниринг никогда не был так важен, как сегодня, поскольку компании стремятся делать больше с меньшими затратами.