Оптимизация рабочих нагрузок команды вашей платформы

Спонсировал этот пост.

Поскольку организации масштабируют свою облачную инфраструктуру и приложения, команды платформы все больше чувствуют напряжение. Команда платформы (или команда по инфраструктуре/DevOps) поручена предоставить надежную основу, включая трубопроводы CI/CD, облачные среды, инструменты и защитные требования.

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

Одним из наиболее эффективных способов уменьшить прямую рабочую нагрузку на платформные команды является внедрение инфраструктуры самообслуживания для разработчиков. Однако самообслуживание в этом пространстве часто неправильно понимается; Это не означает, что разработчики сами пишут инфраструктуру.

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

Растущее бремя для команд платформ

В современной технологической организации команды платформы носят много шляп. Они могут нести ответственность за обеспечение инфраструктуры (создание ресурсов AWS/GCP для команд), поддержание трубопроводов CI/CD, управление общими услугами, такими как базы данных и мониторинг, обеспечение соблюдения политик безопасности и, как правило, выступая в качестве центра облачных экспертов. Эти обязанности, как правило, выходят из контроля быстрее, чем команда может масштабироваться, чтобы справиться с ними.

Несколько проблем увеличивают бремя инфраструктурных команд:

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

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

Случай инфраструктуры самообслуживания

Одним из подходов к снижению бремени инженеров инфраструктуры является обеспечение самообслуживания. Это позволяет разработчикам запросить и потреблять инфраструктурные ресурсы, такие как базы данных, очереди и API по требованию, без необходимости открывать билеты или ждать ручного обеспечения.

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

Обеспечение самообслуживания без потери контроля

Команды платформ могут внедрить инфраструктуру самообслуживания, обеспечивая при этом безопасность, соблюдение и управление, внедряя ключевые стратегии, такие как:

  • Многоразовые шаблоны и каталоги: Стандартизированные паттерны инфраструктуры, такие как предварительно сконфигурированные трубопроводы CI/CD и службы, позволяют разработчикам раскрывать ресурсы без ручного вмешательства.
  • Инфраструктура как код с ограждениями: Разработчики определяют, что им нужно, используя такие инструменты, как Terraform или Pulumi, но команды платформы обеспечивают соблюдение требований, предоставляя утвержденные модули и политики.
  • Доступ на основе ролей и обеспечение соблюдения политики: Самообслуживание не означает неограниченный доступ. Команды платформы устанавливают разрешения, бюджетные ограничения и политику в качестве правил кода (например, открытый политический агент) для обеспечения безопасного контролируемого предоставления ресурсов.
  • Внутренние платформы разработчиков (ВПЛ): Unified UIS, интерфейс командной строки (CLI) и другие инструменты, которые абстрагируют сложность инфраструктуры, интеграция создания репо, настройки CI/CD и мониторинг в удобный для разработчика рабочие процессы.

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

Пример: обеспечение безопасной и последовательной инфраструктуры

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

  • Разработчик представляет билет, требующий ведра S3 или Google Cloud Storage (GCS).
  • Инженер DevOps вручную предоставляет ведро или пишет Terraform для автоматического обеспечения его, включая необходимую конфигурацию и разрешения.
  • Инженер передает ведро или оно доступно через CI/CD, что позволяет команде разработчиков начать его использование.
  • Этот процесс из -за его реактивного (запроса/приоритета/ответа), как правило, занимает часы или дни, часто блокируя команду разработчиков.
  • С инфраструктурой самообслуживания этот рабочий процесс меняется. Разработчики запрашивают то, что им нужно в коде или через платформу, а автоматизация обрабатывает обеспечение в соответствии с предварительно утвержденными политиками.

    Используя такой инструмент, как NILIC, разработчики могут определять требования к инфраструктуре без написания низкоуровневого терраформа или иметь дело с API-интерфейсом облачных поставщиков.

    Импорт {Bucket} от ‘@nitic/sdk’; // Разработчик объявляет новое ведро для хранения пользователей загрузки const userfiles = bucket (‘user-uploads’). Разрешить («читать», ‘write’, ‘delete’); // Позже в коде их приложения: Async Function SaveUserFile (FileName: String, Data: Buffer) {await userfiles.file (имя файла) .write (data); console.log (`Сохраняемый файл $ {fileName} для пользователя-uploads bucket.`); } 12345678910 Import {Bucket} от ‘@nitic/sdk’; // Разработчик объявляет новое ведро для хранения пользователя uploadsconst userfiles = bucket (‘user-uploads’). Allow (‘read’, ‘write’, ‘delete’); // Позже в коде их приложения: Async Function SaveUserFile (FileName: String, Data: Buffer) {await userfiles.file (имя файла) .write (data); Console.log (`Сохраняемый файл $ {fileName} для пользователя-uploads bucket.`);}

    Когда этот код запускается, NIRT автоматически предоставляет необходимое ведро для хранения в AWS или GCP в пределах ограничений, определенных инженерами платформы.

    Сохранение ограждений на месте

    В то время как разработчики могут запросить ресурсы, команды платформы обеспечивают соответствие, обеспечивая соблюдение политик на уровне инфраструктуры. Например, все ведра S3 могут быть автоматически зашифрованы с помощью политики Terraform по всей платформе:

    Ресурс «AWS_S3_BUCKET_SERVER_SIDE_ENCRYPTION_CONFIGUTURE» «Bucket_Encryption» {bucket = aws_s3_bucket.bucket.id Правило {Apply_server_Side_Encryption_by_default {sse_algorithm = «aes256» «AWS_S3_BUCKET_SERVER_SIDE_ENCRYPTION_CONFIGUTURE» «BUCKET_ENCRYPTION» {BUCKET = AWS_S3_BUCKET.BUCKET.ID Правило {Apply_server_Side_Encryption_by_default {sse_algorithm = «aes256»}}}}}}}}}}}}}}

    Этот подход гарантирует:

    • Разработчики получают то, что им нужно, не ожидая.
    • Команды платформы сохраняют полный контроль над безопасностью и соответствием.
      • Исправить один раз, разверните исправления во всех проектах
    • Никто не должен вручную создавать ресурсы или просмотреть билеты.
    • Инфраструктура постоянно развертывается в разных проектах
    • Каждый проект всегда синхронизируется с его необходимой инфраструктурой

    Заключение

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

    «Самообслуживание разработчика может звучать как мечта: платформа, которую разработчики могут использовать для свободного развития-не обременен, обширной, инструментами, которые им не нужно знать, как использовать, и билеты, которые требуются навсегда».

    Кукольный

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

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

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

    NICE-это облачная структура, которая повышает производительность разработчиков и уверенность в OPS, объединение бэкэнд и кода инфраструктуры для быстрого создания и поставки облачных приложений. Devs создают ваше приложение, платформа определяет правильную инфраструктуру, а NILIC автоматизирует обеспечение, которое работает для обоих. Узнайте больше последних из Nitic Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Рак Шива, вице -президент по технике инженерии в команде NITIC, глубоко привержен повышению опыта для разработчиков программного обеспечения. С богатым 15-летним пребыванием в индустрии программного обеспечения он начал свое инженерное путешествие, погруженное в волнующие вызовы … Подробнее от Rak Siva

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *