Общее утверждение от адвокатов без сервеса состоит в том, что он может Увеличьте скорость функции команды и уменьшить накладные расходы OPS о запуске приложения в облаке. Но если вы инженер-менеджер, разработчик или OPS-инженер, который никогда не управляет рабочей нагрузкой без сердца в производстве, вы можете найти это требование, чтобы визуализировать и количественно определить.
Как будет увеличивать производительность нашей команды?
В каких путях это повлияет на нами квалификации на нашей инженерной команде?
Чтобы помочь ответить на эти вопросы, я составлял список определенных проблем и задач, встречающихся при создании приложений на основе сервера на основе серверов которые больше не применяются при использовании неверной архитектуры .
К концу статьи вы должны иметь более четкую картину того, как выбрать неверную архитектуру может потенциально снизить общую стоимость владения новой заявлением в вашей организации.
При чтении через список, попробуйте подумать о приложении на основе сервера, которое вы в настоящее время или ранее работали, и задавайте следующие вопросы о каждом элементе списка:
- У меня есть Знание, чтобы завершить эту задачу самостоятельно Или это что-то специалисту или более опытный член моей команды заботится? Если последний, сколько времени потребовалось бы, чтобы понять, что участвует в этом?
- Сколько Время я (или другой член моей команды) в настоящее время тратить это И как часто это нужно повторить?
- Несмотря на то, что я могу сделать эту задачу, я я уверен, что я правильно реализовал Используя лучшие практики и что я не ввел никаких видов безопасности или проблемы с производительностью?
- Это то, что мы в настоящее время не делаем в нашей команде (из-за ограничения времени или навыков), но это Я знаю, что мы Должен делать И, таким образом, мы сделали на дополнительный риск, пропустив его?
Примечание по объему: я фокусирую на экосистеме AWS, поэтому элементы, перечисленные ниже, в основном относятся к EC2, VPC, RDS, ECS/EKS и ELB Services Amazon. Тем не менее, большинство очков, как правило, применимы к другим крупным облачным поставщикам. Я предполагал, что система на основе сервера системы выполняется либо в контейнерах, либо непосредственно на экземплярах виртуальных машин.
Хорошо, давайте погрузимся в список опасений, которые уходят в мире без прослушивания …
Предоставление и масштабирование сервера
- Настройте AMIS для экземпляров VM со специфической версией ОС и любым необходимым программным обеспечением приложений
- Настройте VPC и подсети, используя лучшие настройки безопасности
- Настройте группы безопасности и определите, какие порты должны быть открыты на каждом экземпляре
- Создать запускные конфигурации и автоматические группы масштабирования для каждого типа экземпляра EC2
- Настройка балансировщиков нагрузки и связанные с этим проверки здоровья
- Настройте интернет-шлюзы
- Настройте таблицы маршрута
- Настройте VPC Polying
- Настройка кластера RDS с соответствующим размером хранения и экземпляра
- Регулярно соблюдайте метрики, связанные с нагрузкой и модифицируйте пределы масштабирования или выделения ресурсов экземпляра соответственно
- Повторите большинство вышеуказанных шагов для каждой среды (разработчик, тестирование, постановка, производство)
Разработка и обслуживание приложений
- Определите вашу контейнерную среду (Dockerfile)
- Настройте кластер оркестографии контейнера (ECS, Kubernetes и т. Д.)
- Настройте Определения PODS/SERVICES/TESS в вашем кластере
- Отладка контейнера для межсоединения/проблемы с открытием услуг
- Написать скрипт для развертывания артефакта сборки (Docker Image, ZIP-файл) в экземпляр EC2
- Регулярно обновите базовую докеру изображение с последними патчами (например, на Node.js/python/java или любой язык использует ваше приложение)
Обслуживание сервера
- Настройте безопасный экземпляр Bastion VPN/SSH (и держите его исправленным)
- Управление доступом VPN/SSH к разным серверам для авторизованных инженеров
- Управляйте регулярным исправлением всех экземпляров VM (вручную через SSH или автоматизированные через Script/Systems Manager)
- Быть доступным для оперативного развертывания аварийных патчей (например, Sharebleed)
- Установить оповещения, которые должны быть уведомлены об аварийных исправлениях
- Настройте мониторинг для наблюдения за низким дисковым пространством
- Вручную расширить объем, когда он не имеет места
- Обрабатывать обновление сертификата SSL и развертывание ( Если устанавливать ключи непосредственно в экземпляры, а не только для загрузки балансировщиков, где он управляет AWS)
- Повторите большинство вышеуказанных шагов для каждой среды (разработчик, тестирование, постановка, производство)
Контроль затрат
- Оплата за экземпляр EC2/RDS/ELASTACHACHE, когда он не используется
- Последовые экземпляры для обработки периодических внезапных шипов
- Написать рабочие места CRON, чтобы вращать экземпляры окружающей среды dev/test по вечерам и выходным
📖 Связанные: Как рассчитать сбережения счетов перемещения приложения EC2 в лямбда Отказ
К настоящему времени вы, вероятно, кричате «Это великий Пол, но как насчет всех новых обеспокоен, что беззверенно приносит?» И вам было бы правильно сделать это, мой здоровый скептический друг!
Я собираюсь написать об этом в ближайшее время, но на данный момент я укажу вам на эту статью на Контейнеры VS WS Serverless с точки зрения DEVOPS а также раздел Мартина Фаулера на Недостатки операционных систем без сервеса Отказ
То, что сказал, и хотя это очень сложно объективно измерить, я лично считаю, что для большинства команд разработчиков строит систему производства Greenfield в облаке сегодня Общая стоимость владения приложением без сервера будет ниже, чем у серверного приложения .
Это особенно верно, если у вашей организации нет квалифицированной команды OPS уже на месте с наличием, чтобы помочь вашей команде Dev построить инфраструктуру и автоматику, необходимую для обеспечения и обслуживания вашего приложения.
Есть еще предметы, которые я должен добавить в список? Я уверен, что есть много вещей, которые я забыл, так что, пожалуйста, оставьте мне комментарий ниже И я добавлю его.
💌 Если вам понравилась эта статья, вы можете зарегистрироваться На мой еженедельный бюллетень на строительстве серверов без сервеса AWS Отказ
Первоначально опубликовано в winterwindsoftware.com Отказ
Оригинал: «https://dev.to/paulswail/concerns-that-go-away-in-a-serverless-world-30dh»