Зачем бессерверным платформам с открытым исходным кодом (например, OpenWhisk) нужен оркестратор (например, Kubernetes)

В настоящее время я работаю над частным облаком, таким как AWS, и использую AWS lambda для бессерверных вычислений. Это очень круто, как фреймворк, поэтому я провел несколько исследований, чтобы найти альтернативы с открытым исходным кодом. У меня получилось несколько названий: OpenWhisk, OpenFaas. Эти фреймворки используют Docker для наблюдения за контейнерами, в которых выполняется код. Я новичок в этих технологиях, поэтому я все еще смущен некоторыми аспектами.

Вот моя точка зрения: я не понимаю, нужно ли использовать эти фреймворки с оркестратором, таким как Kubernetes. Если да, то как это работает с оркестратором?

Если у вас есть какая-то информация, ссылки или документация, это будет здорово!

Большое спасибо.


person Yassir S    schedule 29.03.2019    source источник


Ответы (1)


OpenWhisk фактически обходит k8s для планирования контейнеров, которые запускают пользовательские функции (известные как действия в OpenWhisk). Контейнеры функций полностью управляются Invokers, которые представляют собой оркестраторы OpenWhisk, специально созданные для обработки функций.

Компоненты системы OpenWhisk управляются Kubernetes. Но сам Kubernetes, как правило, слишком медленный для недолговечных контейнеров функций, и запуск одного из них может занять много секунд. Это не начало для функций, которые могут выполняться в течение миллисекунд. Kube на самом деле не был предназначен для работы с десятками тысяч контейнеров с высокой скоростью.

Вы также можете взглянуть на Knative, который является относительно новым, но очень тесно связан с Kubernetes.

Вот 3 статьи, которые могут быть вам полезны:

Наконец, возможно, стоит отметить, что OpenWhisk может быть развернут на «голом железе» и виртуальных машинах, а также на Mesos DC/OS или Docker Compose, что дает вам множество вариантов для настраиваемого развертывания.

person user6062970    schedule 29.03.2019