Архитектура прикладных технологий — бессерверная архитектура
Архитектура прикладных технологий — бессерверная архитектура

Автор этой статьи:Хэ Вэньцян — CODING Старший архитектор решений С первой линией Интернета, Интернет вещей Единорог、национальный акционерный банк、Новый типУмный транспортМежотраслевой опыт,Обслуживается последовательно Java Старший инженер-разработчик, DevOps Технические эксперты, старшие менеджеры по исследованиям и разработкам и т. д. обладают глубоким пониманием и богатой практикой в ​​области микросервисов, Agile, DevOps и контейнерных технологий.

Бессерверная архитектура

В 2012 году компания Iron.io впервые предложила концепцию Serverless. В 2014 году AWS выпустила Lambda, положив начало эре коммерциализации бессерверных технологий. AWS Lambda стала первой бессерверной реализацией, признанной общественностью. Впоследствии крупные поставщики облачных технологий поспешили запустить свои собственные бессерверные сервисы, платформы и инструменты.

Фон бессерверной архитектуры

Развитие и эволюция вычислительной мощности компьютеров

Разработка компьютеров прошла через мейнфреймы, миникомпьютеры, ПК. машина、虚拟машинаиОблачный сервер(большинство Облачный сервер также является виртуальной машиной).

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

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

существуют Эра облачных вычислений,Поставщики облачных услуг предоставляют возможности IaaS, PaaS и SaaS.,Получите хостинг без аппаратного обеспечения до программного и готовых возможностей.

IaaS/PaaS/SaaS

IaaS

Предоставление вычислительной инфраструктуры (серверы, сетевые технологии, хранилища и центры обработки данных) клиентам как услуга.。Сюда также входит предоставление операционной системыитехнология виртуализации、управлять ресурсами. Потребители проходят Internet Услуги можно получить из комплексной компьютерной инфраструктуры.

преимущество:

  • Нет необходимости заботиться о принципах базовой аппаратной структуры;
  • Инфраструктуру можно масштабировать по требованию для поддержки меняющихся рабочих нагрузок;
  • Гибкие, инновационные услуги по требованию.

PaaS

Поставщики платформы как услуги (PaaS) размещают оборудование и программное обеспечение в своей собственной инфраструктуре и предоставляют платформу пользователям через подключение к Интернету в виде интегрированного решения, стека решений или услуги.

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

Разработчикам нужно только писать код, создавать приложения и управлять ими, не беспокоясь об обновлениях программного обеспечения или обслуживании оборудования. Система предоставит среду сборки и развертывания.

преимущество:

  • Разрабатывайте приложения и доставляйте их быстрее;
  • Развертывайте новые веб-приложения в облаке за считанные минуты;
  • Уменьшите сложность с помощью промежуточного программного обеспечения как услуги.

SaaS

Программное обеспечение как услуга представляет собой законченный продукт, который запускается и управляется поставщиком услуг.。То, что люди обычно называют «Программное обеспечение как услуга», — это приложения для конечных пользователей.。使用 SaaS При использовании продукта пользователям не нужно беспокоиться об обслуживании сервисов и управлении базовой инфраструктурой. Пользователям нужно только подумать о том, как его использовать. SaaS Программное обеспечение подойдет.

преимущество:

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

Разработка публичного облака

2006 Годы, Амазонка Web Service (AWS) выпускает свой первый вычислительный продукт EC2, запуск публичного облака в 2008 г.; год, Гугл выпускать Google App Engine платформа, анонсированная Google Официально вышел на рынок публичных облаков в 2009 г.; В 2010 году о своем создании объявила компания Alibaba Cloud, которая стала первым поставщиком облачных услуг,отпраздновавшим Новый год (и в настоящее время занимает самую большую долю на внутреннем рынке в 2010 году); Год,Майкрософтвыпускать Microsoft Azure Паас, Microsoft официально выходит на рынок общедоступных облаков в 2010 г.; В 2011 году Tencent выпустила бренд Tencent Cloud, Tencent официально вышла на рынок общедоступных облаков 2011 года; год~2016 В 2016 году облачные вычисления вступили в период бурного развития, и все больше и больше IT Предприятия присоединяются к гонке облачных вычислений, например. IBM、Oracle、HP、Vmware и др., 2016 г.; Год~Прямо сейчас,Рынок публичных облаков перешел от быстрого развития к зрелости и стабильности.,К ведущим зарубежным компаниям в основном относятся AWS、Azure、Google Cloud, ведущие отечественные компании в основном включают Tencent Cloud, Alibaba Cloud и Huawei Cloud. В то же время развиваются и некоторые поставщики облачных услуг для вертикальных отраслей, такие как Qiniu Cloud, специализирующийся на хранении данных. K8s Экологический Qingyun et al.

Требования бессерверного рынка
  • С популяризацией облачных вычислений и быстрым расширением масштабов приложений технологии должны, с одной стороны, поддерживать быстрое развитие бизнеса, а с другой стороны, необходимо абстрагировать, реорганизовывать и реконструировать систему в соответствии с изменениями бизнеса. PaaS высок для большинства предприятий, сложен, поэтому необходимы новые методологии и инструменты для снижения стоимости построения платформы, одновременно обеспечивая быструю итеративную эволюцию для удовлетворения рыночного спроса и поддержания конкурентоспособности;
  • Цифровые технологии меняют способ создания ценности предприятиями. Предприятия сталкиваются с огромным конкурентным давлением и неопределенностью, и быстрое реагирование на изменения рынка стало ключевым моментом. Для сокращения циклов поставок и поддержания рыночной конкурентоспособности необходима новая модель поставок.
  • Столкнувшись с диверсифицированными требованиями клиентов и более быстрой реакцией рынка, вопрос о том, как эффективно сократить поддержку НИОКР, одновременно удовлетворяя потребности пользователей и сохраняя корпоративную конкурентоспособность, стал неизбежной проблемой, с которой сталкивается корпоративная цифровая трансформация;
  • Предприятия могут быстро приобретать возможности облачных продуктов в соответствии с потребностями своего бизнеса и быстро и гибко интегрировать их с корпоративными приложениями. Новой тенденцией стало быстрое приобретение по требованию и гибкое сочетание возможностей.
  • Большинство предприятий стремятся исключить однородную и обременительную разработку, эксплуатацию и обслуживание серверной инфраструктуры из будущей разработки облачных приложений и использовать богатые возможности хостинга в облаке для создания гибких, надежных и недорогих систем. приложения.
История развития бессерверных технологий
Введение в бессерверные технологии

Бессерверная архитектура означает, что приложение использует сторонние функции и сервисы, но не требует сервера управления. Бессерверная архитектура в основном включает FaaS и BaaS.

FaaS (Функция как услуга, функция как услуга)

Функция без сохранения состояния, содержащая бизнес-логику на стороне сервера. Эти функции выполняются в независимых контейнерах, управляются событиями и размещаются у сторонних поставщиков, таких как AWS Lambda или Azure Functions.

BaaS (бэкенд как услуга, бэкенд как услуга)

Используйте сторонние сервисы (например, Firebase, Auth0) для достижения цели. использовать BaaS Приложения обычно представляют собой многофункциональные клиентские приложения, такие как SPA или двигаться Приложение. Клиент отвечает за обработку большей части бизнес-логики.,Другие части полагаются на внешние услуги,Такие как сертификация、база данных、Управление пользователями ждет.

Основные поставщики бессерверных вычислений
Сценарии использования бессерверной архитектуры
  • Мини-программа/веб-/мобильный/бэкэнд-сервис API;
  • Масштабная пакетная обработка задач;
  • Короткоживущие приложения без сохранения состояния, нечувствительные к практикам холодного запуска;
  • Онлайн-приложения и автономная обработка данных на основе событийно-ориентированной архитектуры.
Преимущества и недостатки бессерверной архитектуры
Преимущества
  • Снизить эксплуатационные расходы

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

  • Сокращение затрат на разработку

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

  • Высокая масштабируемость

Serverless 架构一个显и Очевидным преимуществом является то, что«Масштабирование полностью автоматизировано, гибко и управляется поставщиком услуг»。Самая большая выгода от базовой инфраструктуры — это,Вы платите только за необходимые вам расчеты.

  • Сократить инновационный цикл

Небольшие команды разработчиков разрабатывают приложения с нуля и внедряют их в производство за считанные дни.

недостаточный
  • Управление с сохранением состояния — это сложно

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

  • Высокая задержка

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

  • местный тест

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

Тенденции развития бессерверной архитектуры
  • Более детальные вычислительные ресурсы

Базовая вычислительная среда современной бессерверной/FaaS-технологии обычно представляет собой контейнеры, такие как Docker. Контейнерная технология является более простой реализацией, чем аппаратная виртуализация. Пользователи могут запускать большое количество контейнеров на виртуальных машинах и использовать вычислительные ресурсы в большей степени.

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

  • Единая модель планирования для поставщиков облачных услуг

Из-за различий в методах реализации облачных поставщиков и различных продуктах выбор инфраструктур планирования контейнеров различен. Например, бессерверные продукты некоторых поставщиков основаны на Kubernetes для управления кластерами облачных хостов для оркестрации и планирования контейнеров, например CCI от Huawei. , в то время как некоторые продукты, такие как продукт функциональных вычислений Alibaba Cloud, основаны на самостоятельно разработанном агенте для планирования контейнеров. Бессерверные технологии на облачных платформах стали фактором, который нельзя игнорировать.

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

История создания «Системы знаний для специалистов в области цифровых ИТ»

Цифровизация и устойчивое развитие — две основные темы будущего развития китайских предприятий. Овладение цифровыми знаниями, обладание цифровыми возможностями и применение цифровых технологий — основные конкурентные преимущества наших ИТ-практиков в будущем. Первоначальная цель «Системы знаний для специалистов в области цифровых ИТ» — предоставить систематическую систему цифровых знаний для специалистов в области ИТ. Содержание охватывает три уровня: практика управления, инженерная практика и техническая практика, включающая методы разработки программного обеспечения, архитектуру прикладных технологий, развертывание приложений. и Управление, поставка программного обеспечения и сотрудничество.

В следующей серии статей «Система знаний для специалистов по цифровым ИТ-технологиям» Хэ Вэньцян поделится с вами одним за другим четырьмя аспектами: методы разработки программного обеспечения, архитектура технологии приложений, развертывание приложений и управление ими, доставка программного обеспечения и совместная работа:

1. Методы разработки программного обеспечения в основном включают каскадный, гибкий, бережливый и т. д.;

2. Архитектура прикладных технологий в основном включает в себя микросервисную архитектуру, архитектуру сервисной сетки, бессерверную архитектуру, распределенную многооперационную архитектуру и т. д.;

3. Развертывание приложений и управление ими в основном включают, помимо прочего, технологии виртуализации, контейнерные технологии, оркестровку контейнеров и т. д.;

4. Доставка программного обеспечения и совместная работа в основном включают, помимо прочего, CMMI, ITIL, DevOps и т. д.

ИТ-практики создают богатую техническую систему、Комплексное техническое видениеисистематическийспособностьстроительство。Добро пожаловать в«Цифровизация IT Тема «Система знаний практикующего специалиста»Читать далее。

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose