Серия статей об облачных платформах: Что такое бессерверная технология (FaaS, BaaS)
Серия статей об облачных платформах: Что такое бессерверная технология (FaaS, BaaS)
Предисловие
Привет всем, я Lorin,вместе с Облачная Разработка платформы, Serverless Стать заметкой по теме, эта архитектурная модель предоставляет разработчикам более простой и гибкий способ создания и развертывания приложений без чрезмерного внимания. на Управление базовой инфраструктурой. В этой статье будет представлено, что такое Бессерверные технологии и почему они стали настолько важны в разработке современных приложений.
IaaS против PaaS против SaaS
существовать Serverless До появления IaaS (инфраструктура как услуга)、PaaS (платформа как услуга)и SaaS (Программное обеспечение как услуга)да Облачная Три распространенные модели обслуживания в платформе.
IaaS (инфраструктура как услуга)
Концепция: IaaS предоставляет инфраструктуру облачных вычислений, включая вычислительные ресурсы (виртуальные машины, хранилища, сети и т. д.).
Возможности: Пользователи могут развертывать и запускать операционные системы, приложения и службы через виртуализированные ресурсы. Пользователи имеют больший контроль над инфраструктурой, но несут ответственность за управление операционной системой и приложениями.
Примеры: AWS EC2 (эластичные облачные вычисления), виртуальные машины Azure и т. д.
PaaS (платформа как услуга)
Концепция: PaaS предоставляет платформу для разработки и развертывания приложений, включая среду выполнения, инструменты разработки, базу данных и т. д.
Особенности: Пользователи больше не заботятся о базовой инфраструктуре, а сосредотачиваются на разработке и развертывании приложений. Поставщик PaaS отвечает за управление операционной системой, средой выполнения и некоторыми базовыми службами.
Примеры: Heroku, Google App Engine, Служба приложений Azure и т. д.
SaaS (Программное обеспечение как услуга)
Концепция: SaaS предоставляет полноценные приложения, к которым пользователи получают доступ и используют их через Интернет.
Возможности: Пользователям не нужно заботиться об управлении базовым оборудованием, операционными системами и приложениями, им достаточно получить к ним доступ только через интерфейс браузера или прикладной программы. Обычно предлагается по модели подписки, оплата взимается в зависимости от использования или количества пользователей.
Примеры: Salesforce, Google Workspace (ранее G Suite), Microsoft 365 и другие.
Давайте поговорим об IaaS
существует стандартная модель облачных вычислений «инфраструктура как услуга» (IaaS),Пользователям необходимо заранее приобрести единицы мощности;,Нам необходимо внести предоплату поставщику общедоступного облака за серверные компоненты, которые всегда доступны.,для запуска нашего приложения. Пользователь несет исключительную ответственность за расширение емкости сервера при высоком спросе.,И существуют, уменьшают мощность, когда она больше не нужна. Даже когда приложение существует, простаивает,Облачная инфраструктура, необходимая для запуска приложения, также остается на месте.
What is Serverless?
Serverless Это облачная модель разработки, которая позволяет разработчикам сосредоточиться на создании и запуске приложений без необходимости управлять серверами. FaaS (функции как услуга)иBaaS (бэкэнд как услуга)。
Serverless Дословно переводится как «бессерверный», серверы все еще существуют, но они абстрагированы от разработки приложений. Поставщик облачных услуг отвечает за рутинные задачи по предоставлению, обслуживанию и масштабированию серверной инфраструктуры. Разработчикам нужно только сосредоточиться — Для развития самого бизнеса код можно просто упаковать в контейнер для деплоя.
После развертывания бессерверные приложения могут реагировать на спрос и автоматически масштабироваться по мере необходимости. поставщик общедоступных облаков Serverless Продукты обычно измеряются по требованию с помощью модели изучения событий, управляемой событиями. Поэтому, когда Serverless Когда функция простаивает, плата за нее не взимается. (Например, Alibaba Cloud Function Compute Только один FaaS)。
FaaS (функции как услуга)
FaaS делает упор на разделение приложений на небольшие независимые функции.,Каждая функция изучить выполняет конкретную задачу. Эти функции срабатывают по требованию изучить.,Нет необходимости заранее выделять сервер.
осуществлять
Функции управляются событиями,Обычно связано с конкретными событиями (такими как HTTP-запросы, сообщения очереди). изучение функции является временным,Как только задача будет выполнена,Функция завершится,Больше никаких трат ресурсов.
Адаптироваться к сцене
Подходит для обработки краткосрочных и дискретных асинхронных задач, таких как обработка изображений, обработка данных, обработка событий и т. д.
BaaS (бэкэнд как услуга)
BaaS предоставляет полный набор серверных услуг.,Включает базу данных, аутентификацию, ожидание push-уведомлений. Он направлен на упрощение серверной разработки приложений.,Это избавляет разработчиков от необходимости самостоятельно создавать серверные службы и управлять ими.
осуществлять
Как правило, это долгоработающие мобильные приложения и веб-приложения, такие как API-сервисы и т. д., которые отслеживают запросы в режиме реального времени и обрабатывают запросы в соответствии с бизнес-логикой.
Адаптироваться к сцене
Он подходит для разработчиков, которым необходимо создавать мобильные приложения и веб-приложения и которые надеются ускорить процесс разработки за счет использования существующих серверных сервисов (платформа Baas предоставляет: такие как аутентификация, хранение или общие услуги в бизнес-направлениях).
Разница FaaS и BaaS
фокус
FaaS: сосредоточьтесь на изучении функции для одной задачи,Акцент на срабатывание по требованию изучения.
BaaS: сосредоточиться на стремится предоставить полный набор серверных услуг и ускорить процесс разработки с помощью существующих услуг, предоставляемых платформой BaaS.
Тип задачи
FaaS: для коротких и дискретных задач.,Акцент на событийно-ориентированных функциях изучения.
BaaS: Комплексная серверная часть для создания приложений, включая базы данных, аутентификацию и многое другое.
осуществлятьпродолжительность
FaaS: Функции изучения обычно эфемерны,Связанные с конкретными событиями.
BaaS: служба всегда работает в фоновом режиме.,Постоянное обеспечение серверной функциональности,Не ограничивается временными событиями.
Сценарии использования
FaaS: Подходит для обработки краткосрочных и дискретных асинхронных задач, таких как обработка изображений, обработка данных, обработка событий и т. д.
BaaS: Он подходит для разработчиков, которым необходимо создавать мобильные приложения и веб-приложения и которые надеются ускорить процесс разработки за счет использования существующих серверных сервисов (платформа Baas предоставляет: такие как аутентификация, хранение или общие услуги в бизнес-направлениях).
Преимущества и недостатки
преимущество
Это может повысить эффективность работы разработчиков и снизить эксплуатационные расходы. Освободившись от рутинных задач, таких как предоставление серверов и управление ими, разработчики получают больше времени, чтобы сосредоточиться на своих приложениях.
Разработку приложений можно еще больше упростить за счет интеграции полных компонентов сторонних продуктов BaaS.
Платите только за необходимое вам время облачных вычислений,Вместо того, чтобы запускать и управлять собственным сервером,Поэтому существуют некоторые сценарии, позволяющие значительно сократить эксплуатационные расходы.
недостаток
У поставщика облачных услуг могут быть строгие ограничения на взаимодействие его компонентов, что влияет на гибкость и настройку вашей системы. При внедрении среды BaaS разработчики могут нести ответственность за сервисы, код которых они не контролируют.
Отказ от контроля над этими аспектами вашего ИТ-стека также означает, что вы попадаете в зависимость от технологий поставщиков. Даже если вы решите сменить поставщика, вам может потребоваться обновить ваши системы, чтобы они соответствовали спецификациям нового поставщика, что, несомненно, увеличит затраты.
Подвести итог
Serverless Это модель обслуживания облачных вычислений, которая подчеркивает, что нет необходимости заботиться о базовой инфраструктуре и оплате по мере использования, в то время как разработчики могут сосредоточиться на написании кода приложения. грубо разделен на FaaS (функции как услуга)иBaaS (бэкэнд как услуга)。
существуют Реальный процесс развития бизнеса, если основываться на Облачной Приложение для развертывания платформы, вы можете выбрать другую Облачную в соответствии с вашими потребностями. архитектура платформы, в то время как Serverless Это лучший выбор. Для более сложных сцен мы можем выбрать метод смешанного использования, который в настоящее время является основным методом.
Профиль
👋 привет, я Lorin Лорейн, один Java Разработчик бэкэнд-технологий!девиз:Technology has the power to make the world a better place.
🚀 Моя страсть к технологиям — это моя мотивация продолжать учиться и делиться ими. Мой блог — это место об экосистеме Java, серверной разработке и последних технологических тенденциях.
🧠 Будучи энтузиастом серверных технологий Java, я не только с энтузиазмом изучаю новые возможности языка и глубину технологий, но также с энтузиазмом делюсь своими идеями и передовым опытом. Я верю, что обмен знаниями и сотрудничество с сообществом могут помочь нам расти вместе.
💡 В моем блоге вы найдете подробные статьи об основных концепциях Java, базовой технологии JVM, часто используемых платформах, таких как Spring и Mybatis, управлении базами данных, таких как MySQL, промежуточном программном обеспечении для обработки сообщений, таком как RabbitMQ и Rocketmq, оптимизации производительности и т. д. Я также поделюсь некоторыми советами по программированию и методами решения проблем, которые помогут вам лучше освоить программирование на Java.
🌐 Я поощряю взаимодействие и создание сообщества, поэтому, пожалуйста, оставляйте свои вопросы, предложения или запросы по темам и дайте мне знать, что вас интересует. Кроме того, я буду делиться последними новостями Интернета и технологий, чтобы вы всегда были в курсе последних событий в мире технологий. Я с нетерпением жду возможности вместе с вами двигаться вперед по пути технологий и исследовать безграничные возможности мира технологий.
📖 Следите за обновлениями моего блога и давайте вместе стремиться к техническому совершенству.