Как бессерверные функции, такие как aws lambda и Google Cloud, работают на уровне инфраструктуры

Я хочу немного углубиться в бессерверную архитектуру (например, aws lambda и облачную функцию Google). Как они развертывают и запускают функцию, я слышал, для каждого запроса они будут создавать экземпляр для этого запроса. Разве это не дорого и неэффективно? Или, если они повторно используют экземпляр или контейнер, как они обрабатывают или управляют параллелизмом, автоматическим масштабированием и управлением экземпляром?


person LiloD    schedule 08.03.2018    source источник


Ответы (1)


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

С докерами балансировка сделана,

https://rominirani.com/docker-swarm-tutorial-b67470cf8872

В Kubernetes (Google Cloud) это делается с помощью внешнего балансировщика нагрузки (для внешнего доступа),

https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/

Это просто для публики.

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

Надеюсь, это поможет.

person Kannaiyan    schedule 23.03.2018