Является ли бессерверная замена Kubernetes?

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

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

Некоторые из популярных бессерверных предложений - это AWS Lamba, Google Cloud Functions и Azure Functions.

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

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

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

Это делает бессерверное предложение отличным. Он решает множество проблем, о которых мы никогда раньше не задумывались, и у него есть свои варианты использования и клиентская база. Но прежде чем вы подумаете, что это все изменит в ИТ, подумайте еще раз. Это не универсальная технология. Kubernetes, со своей стороны, выглядит многообещающе благодаря своей способности охватить практически все. Давай узнаем, как это сделать.

Kubernetes портативен и работает в различных средах

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

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

Не все можно свести к эфемерной функции

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

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

Я не могу проводить A / B-тестирование и зеркалирование трафика

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

Не все завершается за 5 минут

Serverless имеет некоторые ограничения. В нем нельзя запускать долго работающие функции. Все должно быть выполнено за пять минут. Если вы планируете вызывать WebSocket из функции, обрабатывать сообщения и отправлять их в очередь, вы не можете сделать это без сервера. Большинство организаций, использующих бессерверную систему, также вынуждены использовать с ней другие предложения IaaS и PaaS, что в конечном итоге приводит к управлению неоднородной средой.

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

Победитель?

Никто! Нет реальной конкуренции между Kubernetes и serverless. Не будет никогда. Бессерверная архитектура никогда не стремилась заменить традиционные архитектуры. Это было больше связано с обслуживанием конкретной пользовательской базы, которая больше занимается микросервисами.

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

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

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

Спасибо за прочтение! Надеюсь, вам понравилась статья.