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

Чтобы запрос всегда был полезен, без изменения кода добавьте его в свой DbContext и проверьте его в окне вывода в visual studio.

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        Database.Log = (query)=> Debug.Write(query);
    }

Как и ответ на вопрос @Matt Nibecker, но с этим вы не нужно добавлять его в свой текущий код, каждый раз, когда вам нужен запрос.

1
задан tgogos 29 March 2019 в 09:53
поделиться

2 ответа

Kubernetes - это хорошо известное средство оркестровки контейнеров, которое можно использовать для развертывания приложений-контейнеров. Развертывание OpenWhisk поверх Kubernetes может использовать возможности, предоставляемые Kubernetes, для лучшего контроля и управления контейнерами OpenWhisk, что может привести к стабильной среде выполнения OpenWhisk.

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

Auto-scalability inheritance

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

0
ответ дан Ben Chaliah Ayoub 29 March 2019 в 09:53
поделиться

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

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

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

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

  • Что делают Invokers в OpenWhisk: https://link.medium.com/MrhGj6RVrV и https://link.medium.com/pifBTkQVrV

  • Бессерверный контракт предоставляет некоторый контекст для понимания влияния базовой платформы на пользовательские функции для производительности: [ 112] https://link.medium.com/2EMzs0FVrV

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

0
ответ дан user6062970 29 March 2019 в 09:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: