Что такое платформенная инженерия?
В век цифровых преобразований компании постоянно ищут инновации, чтобы получить конкурентное преимущество. Один из путей — иметь эффективный механизм развертывания и эксплуатации приложений в производственной среде, который позволяет командам быстрее предоставлять новый функционал конечным пользователям. Многие компании осознали, что для достижения этого полезно иметь специальную команду, которая создает и поддерживает общую платформу и постоянно ищет инновации в сфере развертывания продукта. Для таких запросов у компании Core 24/7 существует услуга девопс аутстаффинга, а заказать ее можно здесь. А такая практика создания общей платформы как продукта называется Platform Engineering (PE).
Команды разработчиков и другие технологические группы по-прежнему несут ответственность за создание, развертывание и эксплуатацию своих приложений, но при этом используют платформу в режиме самообслуживания, чтобы упростить свои задачи. Такая платформа применяется для таких функций, как конвейеры самообслуживания, подготовка инфраструктуры, контейнерная платформа, мониторинг, управление идентификацией, агрегирование логов и т. д.
Кто использует платформы?
Пользователями платформы являются технологические группы, такие как разработчики приложений, специалисты по информационной безопасности, эксплуатации, комплаенсу, инфраструктуре и т. д. Обычно это внутренние технологические группы, но иногда встречаются варианты использования платформы внешними командами.
Когда это полезно?
Межфункциональные группы, в которых каждая команда управляет своей инфраструктурой, приложениями и операционным стеком, по-прежнему является одним из наиболее эффективных способов доставки программного обеспечения. Тем не менее, Platform Engineering может решить конкретные задачи. Давайте рассмотрим несколько примеров.
Требуется выделенная команда, сосредоточенная на постоянных инновациях в развертывании приложений
Одной из ключевых обязанностей PE команды является постоянное внедрение инноваций в отношении того, как приложения развертываются и работают в производственной среде. Команда постоянно экспериментирует и изучает новые практики, технологии и инструменты. Они тесно сотрудничают с пользователями платформы, чтобы затем внедрять и предоставлять новые функции/улучшения.
Сфокусировать разработчиков на создании нового функционала для конечных пользователей
Многие компании не осознают, что даже при работе в облаке на развертывание сложных приложений требуется много трудозатрат. Помимо множества инфраструктурных задач, для эффективной работы часто необходимы такие вещи, как управление секретами, комплаенс как код и т. д. Это требует экспертизы, инструментов и большой работы. Если вы хотите, чтобы команды разработчиков сосредоточились на создании функционала и не беспокоилась об автоматизации и инструментах для инфраструктуры и приложений, полезно иметь общую платформу.
Нехватка экспертизы
Если технологическим группам не хватает навыков для самостоятельного управления развертыванием и эксплуатацией, наличие отдельной группы с нужными экспертизами поможет им компенсировать этот недостаток.
Проблемы с разработкой платформ
Мы работали с различными организациями разного размера и сферы деятельности, чтобы создать общую платформу как продукт. Вот некоторые вызовы с которыми мы столкнулись.
Создание разрозненности между командами
Важнейшим аспектом DevOps подхода является сокращение разрозненности между различными командами - так называемого silo. Создание еще одной команды звучит как противоположность этому, и вы должны быть осторожны, чтобы не создать еще один «информационный силос».
Преодоление разрозненности знаний внутри команды
Мы говорили о том, как избежать разрозненности между командами выше, но как насчет разрозненности внутри команды? Команда платформенных инженеров обычно работает с большим количеством различных языков программирования, инструментов и методов, которые часто меняются. По этим причинам внутри команды может создаться «информационный силос». Один из классических примеров — только 1 член команды знает, как работает определенная часть платформы.
Создание правильных функций
Большинство команд PE обычно имеют дело с различными заинтересованными сторонами из разных команд, поэтому определение и приоритизация функций непростая задача.
Быстрое внедрение
Поскольку методы, технологии и инструменты, используемые командой PE, часто меняются, команде необходимо обеспечить быстрое внедрение, что может быть непросто, поскольку членам команды необходимо постоянно учиться и информировать своих пользователей об изменениях.
В CORE 24/7 мы используем принципы Platform Engineering, что позволяет нам достигать невероятных результатов. Кроме этого, мы применяем нашу экспертизу в работе с нашими клиентами.