Поделиться через


Что такое проектирование платформы?

Проектирование платформы — это практика, построенная на принципах DevOps, которая стремится улучшить безопасность, соответствие, затраты и время до появления бизнес-ценности посредством улучшенного пользовательского опыта разработчиков и самообслуживания в безопасной, упорядоченной системе. Это как смена мышления на основе продукта, так и набор инструментов и систем для поддержки.

В последнее время в отрасли много волнения вокруг термина "инжиниринг платформ". Gartner ожидает около 80 процентов инженерных организаций иметь команду, посвященную проектированию платформы к 2026 году. Эти команды сосредоточены на создании внутренней платформы разработчиков. Независимо от домена — независимо от того, являются ли продажи (Microsoft Dynamics, Salesforce), выполнение услуг (ServiceNow) или коммуникации (Twilio) — платформы, по своей сути, предназначены для достижения масштаба и уменьшения времени, необходимого для предоставления бизнес-ценности.

Платформы, которые разработчики либо используют, либо расширяют, обладают способностью значительно снижать количество ненужной работы в процессе разработки благодаря оптимизированным инструментам для разработчиков и упрощенным операциям. Эти платформы включают средства, которые:

  • Помочь разработчикам быть самодостаточными (например, стартовые наборы и плагины для интегрированной среды разработки).
  • Помощь с общими задачами.
  • Инкапсулирует общие шаблоны и методики в многократно используемых стандартных блоках.
  • Предоставьте ранние советы и отзывы о проблемах или рисках безопасности.
  • Упрощение операций путем управления базовой инфраструктурой и инструментами.

Модель возможностей разработки платформы Майкрософт описывает шесть основных возможностей, определяющих проектирование платформ: инвестиции, внедрение, управление, подготовка и управление, интерфейсы и измерения и отзывы. Чтобы узнать, где ваша организация находится сегодня в каждой области возможностей и задать целевые показатели для будущего роста, см. статью "О модели возможностей разработки платформы".

Что такое внутренняя платформа разработчика?

Внутренняя платформа разработчика ориентирована на внутренние методики разработки компании. Вы определяете набор рекомендуемых и поддерживаемых путей разработки для рабочей среды и постепенно "прокладывают" их с помощью внутренней платформы.

Чтобы использовать реальную аналогию, новые пути часто начинаются как грязные тропы, но, как больше людей используют их, они прокладываются для повышения безопасности при сохранении скорости и пропускной способности. Проложенные пути на внутренней платформе разработчика имеют аналогичные цели. Они предназначены для руководства разработчиков в соответствии с критически важными требованиями и стандартами, не снижая скорость выполнения задач. Это достигается путем предоставления командам разработчиков стандартных, безопасных и масштабируемых возможностей самообслуживания. В то же время, вы облегчаете работу операционного и ИТ-персонала, чтобы обеспечить эффективность, соответствие требованиям и экономичность базовой инфраструктуры и инструментов. Хотя некоторые пути могут быть частично проложены, полностью проложенный, золотой путь снижает когнитивную нагрузку для всех участников.

Разработчики являются основными потребителями или клиентами внутренней платформы разработчиков. Автоматизация и централизация обеспечивают эффективные операции, обеспечивая соблюдение требований заинтересованных лиц, таких как соответствие.

Благодаря инженерии платформ вы создадите эту внутреннюю платформу, сочетая мышление продуктом с использованием опыта DevOps и DevSecOps для предоставления набора инструментов. Эти средства обеспечивают достаточную автоматизацию, отслеживание, управление и наблюдаемость, которые естественным образом ведут команды разработчиков к успеху. Как выразился руководитель по проектированию платформы для многонациональной компании в сфере средств массовой информации:

Платформенная инженерия была внедрена для повышения скорости или темпов доставки продуктов. Централизованные команды устраняют необходимость для каждой команды беспокоиться об инфраструктуре, таким образом повышая эффективность... Они также повышают безопасность и защиту, так как все предопределено, уменьшая ошибки. - Даниэль, инженер по облачным технологиям, медийная компания, входящая в Fortune 500

Внутренняя платформа разработчика помогает централизовать и масштабировать специализированные знания на протяжении всего жизненного цикла разработки и операций, снижая или устраняя когнитивные нагрузки и необходимость в ручных действиях.

Схема концепций проектирования платформы.

Постепенно создавайте платформы разработчиков, уделяя особое внимание самообслуживанию и автоматизации

Реализация успешной стратегии платформенной инженерии требует усилий, но это того стоит. Нередко команды, состоящие из менее чем 20 человек, способны поддерживать тысячи разработчиков и сотни проектов.

Однако создание внутренней платформы разработчика — это путешествие. Мы не рекомендуем резкий переход или усилия, управляемые сверху вниз. Критически важный аспект разработки платформы заключается в применении менталитет продукта, в котором вы относитесь к разработчикам, специалистам по машинному обучению или специалистам по обработке и анализу данных как ваших клиентов. Как выразился один инженер платформы в технологической компании:

[Существует] две основные проблемы, которые были разработаны для решения [наших] средств проектирования платформы. Первой целью было содействие предоставлению услуг с использованием модели самообслуживания. … Второй — обеспечить автоматическую поддержку таких систем, как метрики производительности и доступность приложений. Цель заключалась в том, чтобы разработчики могли работать быстрее и эффективнее, имея все необходимые сведения для устранения неполадок и оптимизации своих приложений. - Алекс, Ведущий архитектор облака, крупная технологическая компания

Нет двух одинаковых компаний, поэтому примите во внимание конкретные потребности ваших внутренних клиентов , чтобы спланировать постепенный путь через это путешествие. Создав набор основных блоков, которые вы будете собирать с течением времени, вы можете убедиться, что внутренняя платформа разработчиков представляет достаточную ценность, чтобы команды разработчиков стали её сторонниками и хотели использовать её в ходе работы. Используйте эти сведения для создания минимальной жизнеспособной платформы, минимально жизнеспособного продукта для вашей платформы и дальнейшего развития.

Схема концепций проектирования платформы с параметрами реализации.

Важно отметить, что вы хотите думать о любых инвестициях, которые вы вкладываете в эти области, как о ключевых компонентах для вашего пути в проектировании платформ. Затем вы можете сосредоточиться на интеграции и создании целостного решения с помощью адаптированных инвестиций, чтобы добавить уникальную ценность для вашего бизнеса, вместо того чтобы разрабатывать все с нуля.