img

Что такое функция как сервис (FaaS)?

Функция как сервис или FaaS (Function as a service) это относительно новомодный термин, которым определяется возможность бессерверного запуска кусков кода, что дает возможность разработчикам писать и обновлять эти куски кода на лету, которые будут запускаться в результате отклика на какое-нибудь событие, к примеру, когда пользователь нажмет на элемент в веб-приложении. Благодаря этому масштабировать код и внедрять микросервисы становится на порядок проще.

Что такое функция как сервис FaaS?

Что такое микросервисы?

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

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


Какие плюсы такой технологии?

Увеличенная скорость разработки

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

Bстроенная масштабируемость

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

Оптимизация затрат

Знаете, какой самый большой страх пользователя облачных серверов? Что вы наберете кучу серверов, а необходимой нагрузки не будет, что повлечет за собой в пустую простаивающие мощности. Логично, что появилась такая модель как FaaS, которая позволяет заказчикам платить только за то время, когда вычислительные мощности действительно работают.


Какие минусы технологии FaaS?

Снижение степени контроля системы в общем

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

Процесс тестирования становится гораздо сложнее

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

Как начать использовать FaaS?

Вам нужно начать переговоры с облачными провайдерами, которые предоставляют подобные сервисы - все просто. В первую очередь нужно будет понимать где будут располагаться ЦОДы провайдеры - так как в случае большого расстояния между ЦОДами могут начаться непрогнозируемые и странные проблемы. Список из таких провайдеров не велик, но всем хорошо знакомы эти имена: AWS (проект Lambda), Microsoft (Azure Functions) и Yandex Cloud Functions. Но в России выбор будет практически очевиден в пользу Яндекса, так как его сервера находятся ближе всего к нашей большой стране.

Ссылка
скопирована
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
На базе нашего опыта и статей мы сделалем еще один полезный документ: руководство администратора по Linux/Unix системам. В докум
img
Удаленный доступ к системам давно стал необходимостью, и сейчас с трудом можно представить, что было бы, если бы мы не могли упр
img
Все мы любим компьютеры. Они могут делать столько удивительных вещей. За пару десятилетий компьютеры произвели самую настоящую р
img
Архитектуры х64 и х86 являются одними из наиболее широко используемых типов архитектур системы команд (АСК или ISA – Instr
img
Gzip – один из самых популярных алгоритмов сжатия, который позволяет сократить размер файла, но при этом сохранить исходный файл
img
Интернет может быть опасным. Спросите любого хорошего IT-специалиста, и он вам обязательно расскажет о важности обеспечения безо
Комментарии
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59