3

Будучи дешевые-о том, что я, у меня была идея другой день работает веб-приложение для менее никеля в месяц с AWS:Статический сайт с микросервисами?

  • Serve статический сайт (HTML/CSS/JavaScript) через S3
  • кода на стороне клиента и формы сообщения в лямбда golang microservices через API Шлюз
  • Использование DynamoDB (25 чтения/с, 25 записи/с, 25GB, 1GB/мо в 1 ГБ/мес выход) в качестве базы данных

Будет ли эта схема работать, скажем, с помощью cookie и аутентификации на основе sesssion, так как страница e обслуживается одним доменным именем (S3), но javascript говорит с другим доменным именем (API Gateway)?

Какие еще проблемы я могу столкнуться?

+0

S3 не будет служить вам cookie, поэтому вам придется читать и писать файлы cookie с вашего JavaScript с помощью 'document.cookie'. –

+1

Спасибо, я действительно не нуждаюсь в доступе к файлу cookie в javascript, я думаю, просто его отправили в вызовы AJAX к API Gateway. Страница HTML (обслуживаемая www.example.com) будет содержать форму входа в систему. Эта форма отправляется в API Gateway (api.example.com/login), который возвращает HttpOnly cookie через HTTPS. Оттуда Javascript XMLHttpRequest обращается к api.example.com должен содержать cookie, не так ли? –

+0

Это правильно. Пока вся ваша конечная точка API находится в одном домене, это должно работать. –

ответ

1

Майк Робертс написал очень тщательно статью о бессерверной архитектуре и ее компромиссах: http://martinfowler.com/articles/serverless.html

также обнаружил механизм, предназначенный для именно это, который работает на AWS: https://serverless.com/

Однако, как представляется в настоящее время , постоянные соединения (например, websockets) не поддерживаются, что для меня является нарушителем транзакций. Я подозреваю, что AWS в конечном итоге позволит API Gateway обслуживать websocket и отправлять свои сообщения Lambda, но на сегодняшний день это не представляется возможным.

-1

Одна из вещей, чтобы иметь в виду, с архитектурой «бессерверную» является:

«Что случится, если„эта вещь“действительно взлетает

Большинство людей не считают, как высоко запросы ставок для Lambda или DynamoDB могут получить, когда ваш сайт станет суперпопулярным или находится под атакой DDOS.

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

В то время как serverless очень удобен для настройки, он может очень легко откусить назад намного сложнее, чем ожидалось.

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

Но будьте готовы объяснить, что произошло подробно. Я также советую иметь журналы обслуживания (не только для ваших приложений), но также и для любых облачных сервисов, которые вы используете.