Serverless: пусть «front-end разработчики» станут «разработчиками приложений»

внешний интерфейс Serverless
Serverless: пусть «front-end разработчики» станут «разработчиками приложений»

Зрелость технологий зависит от крупномасштабной практики: в области Java Alibaba постоянно использует свой опыт в системе микросервисных технологий, а в области Node.js Alibaba запускает беспрецедентную волну фронтенд-революции. , подавая практику обратно в систему микросервисной технологии, бессерверную технологическую систему, и постепенно расширяется до других многоязычных систем и серверной части BaaS.

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

Судя по общим рыночным данным Double 11 за этот год, трафик поддержки только Node Serverless серии Tao увеличился с пикового значения 2 тыс. запросов в секунду в прошлом году до пикового значения 30 тыс. запросов в секунду в этом году, а пиковый трафик увеличился почти на 15 раз, а группа в целом увеличилась с почти 5,8 тыс. запросов в секунду до пика в 50 тыс. запросов в секунду в этом году.

Что касается решений, у нас есть индивидуальные возможности для большего количества сценариев, включая реализацию решения Koala Dart, а также некоторые решения на основе моделей для покупки; При работе с более высоким масштабом QPS расход энергии снижается как минимум на 50 %; что касается опыта НИОКР, мы создаем систему решений, снижаем порог НИОКР, поддерживаем быстрый вход в интерфейс и повышаем эффективность НИОКР на 39%; на базовой бессерверной базе мы адаптированы для нескольких бессерверных платформ и поддерживаем переключение нескольких платформ в режиме реального времени, чтобы справиться с неопределенностью одной платформы.

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

Суть НИОКР

Каждый может платить большие затраты труда за «совместную работу персонала и надежность обслуживания», но суть НИОКР заключается в выполнении «бизнес-функций».

Сегодня мы медленно переходим от традиционных «front-end разработчиков» к «разработчикам приложений». другие основные вопросы, связанные с эксплуатацией и обслуживанием. В дополнение к предложению также необходимо рассмотреть предложение, связанное с «эффективностью НИОКР», поэтому существуют более эффективные модели сотрудничества, изменения в организационных отношениях и даже все производственные отношения фронтенд и бэкэнд совместная работа Суть в том, чтобы думать о проблемах с точки зрения пользователей и решать бизнес-задачи более эффективным способом.

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

Поэтому, исходя из сути НИОКР, давайте рассмотрим предложения, которые должна решать бессерверная облачная платформа НИОКР:

  • Облегчить развитие бизнеса и сосредоточиться на бизнес-логике;
  • Ускорить развитие бизнеса и повысить эффективность производства и исследований;
  • Утолщайте инфраструктуру и повышайте стабильность.

Схема архитектуры бессерверной облачной платформы исследований и разработок

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

Бессерверная платформа для исследований и разработок

Бессерверные бизнес-решения

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

Мы исследовали несколько бизнес-подразделений, в том числе AE, Koala, Tao Department и т. д. Сначала у бессерверной облачной платформы исследований и разработок были слабые возможности для разработки настроек, и она не могла в полной мере соответствовать бизнес-требованиям. Нам нужно, чтобы платформа имела определенные открытые возможности настройки. например, возможности настройки низкого кода на основе Tao для панелей R&D, а также функционально-ориентированный уровень риска потери активов Koala и входные требования уровня риска приложения.

Однако открытые возможности будут включать этапы создания, НИОКР, доставки, эксплуатации и обслуживания. Какие возможности настройки может предоставить каждый процесс и насколько он открыт, должны всесторонне учитываться платформой в соответствии с собранными требованиями и собственными требованиями к управлению платформой. , Так называемые «люди движутся, деревья движутся насмерть», после структурирования нескольких ключевых возможностей, возможности настройки открытого решения бессерверной облачной платформы исследований и разработок были разработаны в то время в рамках расследования нескольких арендаторов.

На приведенном выше рисунке показано исследование нескольких настраиваемых узлов и нескольких сценариев.

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

{
  "name": "ICE-FaaS",
  "display_name": "Web 端一体化",
  "description": "传统 Web 一体化解决方案,解决中后台开发需求(ICE、React等),同时支撑中后台前端页面和 FaaS 的研发",
  "owner": "*",
  "generator": {
    "id": 30
  },
  "depserver": [],
  "page": {},
  "widget": {},
  "baas": {},                         
  "ide_plugin": ["midway-helper"],     
  "checkConfig": {
    "cf": true,
    "cr": true,
    "fone": true
  },                       
  "flow": {
    "id": 1                          
  },                        
  "ops": {                       
    "resource": [{
      "type": "faas"
    }, {
      "type": "assets"
    }]
  }
}

На сегодняшний день бессерверная облачная научно-исследовательская платформа накопила в общей сложности 14 решений в результате совместной разработки, в том числе 5 общих решений и 9 индивидуальных решений для разных арендаторов.

Далее вводятся три типичных решения.

Комплексное решение

Интегрированное прикладное решение основано на интегрированном бизнес-облачном решении верхнего уровня, предоставляемом Midway Hooks.Благодаря функциям Serverless + Hooks + «нулевые» вызовы API разработчикам нужно сосредоточиться только на бизнес-логике в процессе исследований и разработок, чтобы эффективно завершить приложение. доставка .

Интегрированное приложение имеет много преимуществ при использовании:

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

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

«Ноль вызовов API»

Поддержка хуков

В рамках Alibaba мы предлагаем два решения: интеграцию среднего и бэкенда и интеграцию строительных модулей. Среди них 300+ приложений были реализованы внутри для интегрированного приложения среднего и фона, которое быстро и эффективно поддерживает потребности среднего и фона каждого BU.

Решения Amoy на основе моделей

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

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

数据源(召回) --> 模型(补全) --> 扩展逻辑(插件)

Решение на основе моделей хорошо решает бизнес-задачи на Taobao, но перед лицом большего количества сценариев требуются более гибкие возможности настройки шаблонов, поэтому в будущем решения на основе моделей будут сосредоточены на гибкой настройке шаблонов и осаждении узловых материалов. Он устанавливает более полный механизм, поддерживает подключаемые модули, такие как Web IDE, и поддерживает посадку бизнеса в большем количестве сценариев, так что различные бизнес-сценарии могут более удобно устанавливать свои собственные «три оси».

Комплексное решение Koala Dart

Интерфейс Koala тестирует приложения Flutter с марта 2020 года. Некоторые клиенты и студенты, изучающие интерфейс, участвовали в разработке Flutter и относительно знакомы с Dart, поэтому первоначальная цель интегрированного решения Dart — помочь на стороне клиента. студенты решают задачи развития Проблема эффективности. Раньше Koala в основном использовала бессерверное решение Node.js Runtime.По сравнению с Java Script Dart более удобен для студентов-клиентов.В то же время некоторые студенты-клиенты продолжают выдвигать требования Dart Serverless.

С помощью группы R&D отдела функциональных вычислений FC, основанной на ранней тестовой версии Dart Runtime, Koala быстро завершила трансформацию и реконструкцию сегодняшней вкладки активности приложения Koala, и в конце сентября оно было запущено в оттенках серого. В середине-конце октября на основе Dart Runtime он начал подключаться к платформе DEF, и, наконец, панель создания DEF Serverless покажет чисто функциональное решение Dart.В настоящее время базовый процесс на стороне FC был скорректирован. , а решение Dart pure function будет запущено в ближайшее время.

В дополнение к запущенному сервису генерации Dart Ast, Koala запустит больше бизнес-сценариев на основе решения Dart Serverless, таких как динамическое распространение модели данных на стороне приложения, динамическая настройка бизнес-логики, динамическая попытка Flutter и возможность создать приложение через терминал. Подождите.

В дополнение к трем вышеперечисленным решениям здесь не будут представлены решения уровня микроприложений EaaS, разработанные командой ICBU, и собственные решения по интеграции мини-программ, разработанные отраслевой командой Tmall для сценариев с небольшим магазином и т. д.

Гарантия стабильной работы

Вначале мы сосредоточились на том, как использовать Node для завершения бизнес-логики, например, как организовать данные, как вызывать сторонние пакеты Java, как комбинировать ссылки Aladdin и как быстро исправлять онлайн-ошибки. Теперь, когда так много предприятий работает в Интернете, наше внимание сместилось с того, как выполнять бизнес-требования, на то, как эффективно и стабильно выполнять бизнес-требования.

Стабильность в сети — это, по сути, решение проблем. Начиная с проблемы, ее можно разделить на следующие основные звенья: предотвращение проблем, поиск проблем, локализация проблем и решение проблем.

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

Большое продвижение гарантий стабильности

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

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

Онлайн-процесс -> Интеграция руководства по эксплуатации

Таким образом, бессерверная платформа исследований и разработок надеется стандартизировать весь процесс, начиная с сортировки сильных и слабых зависимостей -> конфигурации плана -> мониторинга и подписки на аварийные сигналы -> одноканального стресс-теста -> создания руководства по эксплуатации, записи всех функций онлайн-процесса, обработки прослеживаемость, документирование Возможны осадки, кроме того, такие процессы, как планирование, стресс-тестирование и мониторинг, полуавтоматизированы, что сокращает время выхода в онлайн. Мы определяем каждый узел процесса как единицу SOP, чтобы процесс SOP можно было произвольно собрать в соответствии с бизнес-характеристиками.

Опубликовать процесс СОП

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

Руководство по бизнес-операциям Сямэнь

Экспертное реагирование на чрезвычайные ситуации

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

Эксплуатация и обслуживание арендатора

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

Рынок арендаторов

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

Инвентаризация функций

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

Контроль продвижения

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

некоторые размышления

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

Ниже приведены некоторые анализы, основанные на статистике времени, затрачиваемого пользователями на исследования и разработки:

  • Разработка технических решений занимает много времени, что составляет 5% от общего цикла НИОКР.Основная причина заключается в том, что сервисные материалы трудно получить, а доступность сервисов трудно оценить, а модель предметной области недостаточна;
  • Общие исследования и разработки FaaS составляют 25–30 %; управляемая моделями и другая визуальная оркестровка может повысить эффективность, когда материалы полностью подготовлены, но не имеют крупномасштабных сценариев;
  • Совместная отладка занимает много времени, составляет около 20% от общей стоимости, и слишком сильно зависит от предрелизной среды: по статистике для завершения проекта требуется 50 развертываний;
  • Стоимость стресс-тестирования все еще существует, а стоимость ознакомления с платформой слишком высока.

Конечно, есть и некоторый анализ контроля обратной связи эксплуатации и обслуживания:

  • Распределение сигналов тревоги является неточным.Поскольку невозможно отличить сигнал тревоги как проблему между базовой структурой и бизнесом верхнего уровня, часто требуется совместное вмешательство команды архитекторов и бизнес-одноклассников;
  • Эффективность обнаружения проблемы низкая, например, аварийный сигнал частоты отказов, это может быть проблема базовой архитектуры или проблема нисходящего потока, или это может быть проблема в компьютерном зале или в самой себе, и часто требуется переход на несколько платформ. проверять по одному;
  • Отсутствие статистического или общего восприятия качества обслуживания;
  • Отсутствие процессов стандартизации, которые можно было бы изучить и решить по проблеме 80% онлайн, в зависимости от позиционирования и разрешения пользователя.

наконец

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

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