Каковы Возможные Безсерверные Системные Архитектуры для Веб-Приложения (AWS) для Сокращения Затраты - PullRequest
0 голосов
/ 02 июля 2018

* Извинения за ИЗОБРАЖЕНИЯ Опубликовано *

Я ищу возможные меры по снижению затрат для приложения, размещенного на AWS, со следующей конфигурацией / настройкой.

  • Экземпляры EC2
  • Динамическое веб-приложение Java с веб-сервером, сервером приложений
  • RDS - MySQL

Приложение используется 95% времени в течение 1 недели в месяце, а оставшееся время 5% распределяется за оставшиеся 3 недели.

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

My Background w.r.t. Облако / AWS:

  • Предыдущие профессиональные рабочие знания отсутствуют в любой облачной системе, кроме EC2, где я управлял веб-приложением Java с настройкой, аналогичной приведенной выше.
  • Я только искал в Интернете и читал много сайтов / блогов.

Я подготовил презентацию на основе материалов, которые я прочитал в Интернете. Но мне нужно мнение эксперта / подтверждение, что варианты решения в презентации

  1. Возможно реализовать
  2. Не слишком сложен для реализации по сравнению с реализацией EC2
  3. Потенциально экономит деньги как общий случай, по сравнению с арендой экземпляров EC2

Слайды презентаций:


enter image description here


enter image description here


enter image description here


enter image description here


enter image description here


enter image description here


enter image description here


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

Все, что мы ищем, это сократить расходы.

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

Спасибо.

Привет

1 Ответ

0 голосов
/ 10 июля 2018

Вот мои мысли по этому широкому вопросу, мой ответ ориентирован на AWS, но все поставщики облачных услуг предлагают аналогичные услуги:

В большинстве случаев вы абсолютно экономите большие деньги, переходя от Monolith к Serverless.

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

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

Я предлагаю следующие сервисы AWS для большинства безсерверных систем:

  • Статические веб-сайты S3 для размещения одностраничного приложения (Angular, React, Vue)
  • Шлюз API, сидит там и ждет входящий HTTPS-запрос от веб-приложения или API. Также используйте пользовательские авторизаторы для контроля доступа.
  • Лямбда, для ответа на события (из API Gateway, загрузки файлов S3, изменения данных)
  • DynamoDB, для структурированного хранения данных (S3 для двоичных артефактов).
  • Шаг Функции для организации более сложных цепочек событий Lambda.

В зависимости от конкретного варианта использования вы также можете использовать SNS, SES, Kinesis и т. Д.

Serverless Framework отлично подходит для координации всех этих сервисов в стиле «инфраструктура как код». Значительно упрощает развертывание всех зависимостей. У них также есть много примеров примеров общей архитектуры для начала.

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

Сценарии, в которых вы не будете экономить деньги, если у вас постоянная нагрузка 24/7 (высокая загрузка EC2) или если вы выполняете пакетные задания с длительной обработкой (масштабирование EC2 в SQS больше подходит).

...