Если вы отвечаете за команду разработчиков, создающих серверу без сервера, и ваш номер номер один состоит в том, чтобы они были Доставьте качественные программы для пользователей как можно быстрее Тогда вы должны делать все, что в вашей власти, чтобы получить их собственной индивидуальной учетной записи AWS.
Я обсудил подходы для Управление поделился Счета или проекты В прошлом, но в этом посте я хочу поговорить о счетах Sandboxed AWS, которые оплачиваются компанией, но предназначены для использования только отдельным разработчиком. Вот почему я думаю, что они хорошая идея …
Полностью местные рабочие процессы развития являются неоптимальными или даже невозможными в стеках без сердца
В традиционных серверных проектах по развитию разработчиков разработчики обычно запускают полный стек на их локальной машине развития. Как только функция будет готова и объединена в главную ветку, она будет развернута (либо через процесс CI/CD, либо вручную инженером) в совместную среду для дальнейшего тестирования.
Однако в стеках без сердца, в то время как местные эмуляторы существуют для некоторых облачных услуг (например, Динамодб локальный
- Это быстрее и менее ошибка, подверженные последовательному настройке по всей команде (базовые облачные среды более однородны, чем отдельные машины для разработчиков)
- Это уменьшает интеграционные ошибки, которые «работали на моей машине» (например, часто вокруг разрешений IAM или Infra Config)
- Мне нужно только настроить ресурс один раз (например, используя yaml yaml cloudbation), а не сначала вручную создавать и настроить локальный эмулятор в dev Time и необходимость отдельно настроить эквивалент облака после того, как моя функция готова к интеграции.
Учитывая, что функции лямбда, вероятно, являются разработчиками ресурсов, которые чаще всего будут итерация, мы не хотим, мы не хотим, что одно изменение развертывания разработчиков в верхней части другой. Вы можете ввести Конвенцию именования для предотвращения таких столкновений, но добавляет ненужную сложность для вашего управления конфигурацией.
Вы даете разработчикам больше воздействия управления инфраструктурой
Один из Большие преимущества о безреслушных архитектурах Это во многих (большинство?) Случаи, которые вы больше не должны нужен инженер на 100%, посвященный управлению и эксплуатацией инфраструктуры вашей системы. Но следствие этого состоит в том, что ваши разработчики должны будут улучшить свои навыки DevOps, в частности вокруг инфраструктуры — как управление кодом и конфигурацией. Доверив каждому разработчику своим собственным облачным аккаунтом, вы автоматически выставляете их в эти концепции на ранней стадии изнутри безопасности их собственной песочницы.
Хорошая новость заключается в том, что эта кривая обучения должна быть довольно неглубокой, так как облачные сервисы без серверов, как правило, намного проще настроить, чем серверные системы, которые включают экземпляры EC2 и VPC.
Вы даете менее опытные разработчики больше уверенности в эксперименте
Часто большая часть процесса разработки включает в себя эксперименты и испытание и ошибку. Если разработчик новичок в разработке программного обеспечения в целом или только что новичок в серверу, то это еще больше.
Недавно я работал над проектом для клиента, где CTO хотел вскочить и исправить ошибку в API, чтобы помочь своей команде, которая была занята другими проектами. Он очень опытный разработчик и архитектор, но был новым безвестеннее. В то время у него не было его собственного личного счета в разработке AWS. Он был легко способен идентифицировать и внести необходимые изменения в кодовую базу для исправления ошибки, но не смогли развернуть и тестировать его изменения. Доступна общая учетная запись Dev Но это использовалось в качестве бэкэнда для мобильного приложения, которое было вызвано демонстрируемым клиенту на следующий день, и поэтому нервничал о нарушении его. В основном ему нужна песочница для безопасного эксперимента, прежде чем быть достаточно уверенным, чтобы развернуть этот общий счет.
Гораздо более вопиемый пример, который я был свидетелем, был крупным предприятием, который использовал одну учетную запись AWS для целого отдела разработчиков, которые отвечали за доставку ряда продуктов. Эта одна учетная запись содержит Мишмаш ресурсов для различных проектов/продуктов, личных ресурсов для отдельных разработчиков и ресурсов для всех общих общих сред (включая производство 😱). Быть продуктивным, так как разработчик в этих условиях был реальным вызовом, не говоря уже о всех проблемах безопасности!
Общие возражения
Разве это не накладная головка большого администратора, чтобы настроить это?
Есть небольшая накладная, но это только должно быть сделано один раз, когда новый разработчик присоединяется к вашей команде. Каждый разработчик может повторно использовать одну и ту же учетную запись AWS для разных проектов. Вы можете использовать AWS Организации Для предоставления учетной записи со стороны главного счета без необходимости отдельно вводить данные кредитной карты и т. Д. Если вы выполняете это очень часто, вы можете создать скрипт, используя AWS CLI для автоматизации всего процесса предоставления учетной записи.
Как мы будем контролировать расходы?
У меня есть 2 рекомендации в этом пункте:
- Дайте разработчикам доступа только к чтению к приборной панели за счет их собственного аккаунта (Это не включено по умолчанию). Это не только это относится к ним, как ответственные взрослые, которые могут управлять своими собственными деньгами (!), Но также поощряет их быть интересно расходы на облачных услуг, которые они потребляют.
- Разработчики не всегда ответственные взрослые! Обязательно настройте Биллинг предупреждает С разумным порогом, поэтому старший человек может быть уведомлен, если разрабатыватель мошенничества начинает добывать добыча биткойна (или, скорее всего, случайно запускает бесконечно рекурсивный цикл лямбда).
Другим смягчением до затратных возражений (которые специфичны для полноценных систем Serverless) состоит в том, что облачные ресурсы без сервеса имеют ценообразование на использование Pay-Per. Таким образом, вы не будете получать выставку за экземпляр EC2, который разработчик, который нечасто помогает вашей команде забыл выключить. И вы часто обнаружите, что использование каждого разработчика службы не превысит квоту свободной уровня, поэтому будет стоить вам рядом с ним.
А как насчет безопасности?
Счета разработчиков будут полностью изолированы от других учетных записей AWS в вашей организации, поэтому не может вмешиваться в важные ресурсы. Если вы беспокоитесь о действиях, разработчики принимают в своем личном счете, вы можете использовать AWS организации для установки Политика управления услугами На всех дочерних счетах ограничить конкретные услуги AWS, к которым у них есть доступ.
Наш ИТ-отдел просто не позволит этому
Big Enterprise Red Tape может быть настоящей питой для разработников, которые быстро смотрят на качественное программное обеспечение для доставки качества. Но это то, что есть, и если это вы, у вас есть мои симпатии. У меня нет большой рекомендации для вас здесь, кроме того, чтобы использовать все, что вам нужно, чтобы лоббировать, кто принимает это решение и обучает их общим преимуществам построения серверу серверов для вашей организации в целом.
В вашем месте работы, как выделены счета AWS? У вас есть свой личный? Дай мне знать в комментариях…
💌 Если вам понравилось эту статью, вы можете Зарегистрируйтесь на мою рассылку Отказ Я отправляю электронные письма несколько раз в неделю, где я делюсь своими руководствами и глубокими погружениями по созданию решений без сердца на AWS с сотнями разработчиков и архитекторов.
Первоначально опубликовано в winterwindsoftware.com Отказ
Оригинал: «https://dev.to/paulswail/give-developers-their-own-aws-account-21f»