дата публикации
06.10.23
минут
10'
формат
статья
Платформенный инжиниринг — следующий шаг в развитии ИТ-команд после DevOps. Он включает не только связанные между собой инструменты для поддержки разработки, но и целую внутреннюю платформу. Подход помогает ИТ-командам повысить производительность труда разработчиков, увеличить скорость создания продуктов и снизить затраты.
Побочным эффектом DevOps стало размытие границ между командами разработки и поддержки. В результате разработчики стали брать на себя больше операционных задач. По мере роста сложности развертывания систем на рынке начали появляться поддерживающие решения - от мониторинга до обеспечения безопасности контейнеров и сервисной сетки - разработчики с трудом успевают за всеми новыми технологиями.
Как повысить производительность и улучшить процессы на проектах? Можно ли сделать так, чтобы разработчики могли тратить больше времени на написание кода, и меньше – на административные задачи? Ответ на эти вопросы, возможно, даст инженерия платформ.
Это процесс разработки и создания платформ, которые обладают единой инфраструктурой с инструментами и услугами для поддержки пользователей, в данном случае – разработчиков
Согласно отчету Puppet State of Platform Engineering Report 2023, 51% компаний за последние три года создали команду по разработке платформ. Как правило, таким образом команды хотят:
Благодаря платформенному инжинирингу разработчики сосредоточатся на написании кода, а остальные задачи возьмут на себя интерфейсы самообслуживания и команда техподдержки. ИТ-отдел разделится на две части: разработка продуктов и платформ для их создания.
Первыми начали внедрять платформенный инжиниринг гиганты вроде Netflix и Adidas. Netflix стремилась унифицировать свой инженерный опыт, а Adidas - сократить время, необходимое разработчикам для запуска проекта и его интеграции в инфраструктуру. Они получили неплохие результаты от инициативы, потому что точно знали, чего хотят добиться.
У тех, кто внедряет такое решение, как правило, есть свои причины, которые отличаются от мотивов первопроходцев. Для распределенных структур одним из главных приоритетов является согласованность развертывания инфраструктуры, разработки приложений и мер безопасности во всех регионах. Их решение - внутренняя облачная платформа, которую могут использовать распределенные команды. Другие компании, надеясь освободить разработчиков от выполнения сквозных обязанностей – например, управление инфраструктурой, создали команду по разработке фундаментальной платформы, которая позволяет легко "подключать" другие системы и приложения.
Чтобы добиться эффекта от платформенного инжиниринга, компаниям важно установить четкие конечные цели - будь то снижение излишней ответственности разработчиков или создание единой среды разработки ПО. Затем найти решения для достижения этих целей. При этом важно:
Начните с MVP, который позволит улучшить показатели эффективности труда разработчиков или решить проблемы, связанные с производительностью труда. Со временем вы можете добавить функциональность к этому решению или создать еще один MVP. Не обязательно иметь только одну систему, в которой будут выполнены все функции – это может быть целый набор решений.
В статьях по платформенному инжинирингу принято делать акцент на использовании «специализированных инструментов и платформ». Хотя это важно, компаниям следует оценить свои цели и определить наиболее быстрый способ их достижения с помощью самых простых инструментов.
Не каждой компании сразу нужен внутренний портал для разработчиков. Решение может быть простым – например, завести архив данных, в котором будет собрана наиболее распространенная техническая информация, на поиск которой обычно уходит много времени. Это может быть также стандартизация редактора Visual Studio Code с Rancher Desktop для быстрой и удобной итерации Kubernetes на локальных машинах разработчиков.
Научите сотрудников работать с ней, установите уровни доступа, улучшайте возможности системы. Это позволит не только повысить эффективность и согласованность работы, но и улучшить пользовательский опыт разработчиков.
Платформенный инжиниринг — это не набор инструментов. Это дисциплина, которая может помочь увеличить время продуктивной работы разработчиков с минимальными усилиями на всех этапах, начиная с разработки идеи и заканчивая этапом поставки.
В то же время платформенный инжиниринг – не панацея для компаний, которые хотят бесконечно повышать качество работы и производительностью разработчиков. Но он позволит постепенно решать и автоматизировать операционные задачи, которые крадут время, и постепенно усовершенствовать процессы разработки.
10:00
7:00
7:00