APISIX помогает Lenovo создать легковесный и децентрализованный шлюз
June 6, 2023
Этот блог основан на выступлении Леона Янга, старшего IT-архитектора Lenovo, который посвятил себя продвижению повторного использования компонентов программной инженерии и созданию экосистемы для обмена технологиями.
Обзор
О Lenovo
Lenovo Group Limited, основанная 1 ноября 1984 года как Legend и широко известная как Lenovo, — это американо-китайская многонациональная технологическая компания, специализирующаяся на проектировании, производстве и маркетинге потребительской электроники, персональных компьютеров, программного обеспечения, бизнес-решений и связанных с ними услуг.
Проблемы
-
Большое количество разрозненных и плохо управляемых API-интерфейсов, а также неправильное использование API внутри предприятия приводят к высоким затратам на IT-операции.
-
Централизованная архитектура API Gateway может вызвать единую точку отказа и затруднить масштабируемость и доступность системы, что может привести к простоям и сбоям в предоставляемых услугах.
-
Развертывание слишком большого количества API-сценариев и маршрутов на одном узле шлюза может вызвать проблемы с задержками и перегрузить систему, в то время как установка etcd/ZK для каждого API-шлюза может сделать архитектуру слишком громоздкой.
-
Гетерогенные системные архитектуры с множественными API-авторизациями от различных поставщиков могут усложнить использование API, затрудняя их управление и поддержку.
Результаты
-
Производительность шлюза может быть улучшена до более чем 20 000 TPS при правильной настройке.
-
Более 100 low-code бизнес-приложений используют эту легковесную архитектуру компонентов API-шлюза, что повысило их производительность и устойчивость.
-
Эффективное управление полным жизненным циклом API для всех шлюзов в единой системе.
-
Экономия времени и усилий разработчиков благодаря предоставлению единого маркетплейса для управления API.
-
Установлен комплексный анализ и мониторинг API.
Предыстория
В настоящее время бизнес становится все более сложным. Технологии меняются с каждым днем, что оказывает огромное влияние на разработку программного обеспечения. Lenovo ищет более эффективный способ доставки проектов с меньшими затратами, а именно повторное использование исходных системных ресурсов через компонентизацию.

Первый шаг — создание готовой к использованию внутренней экосистемы API с большим количеством компонентов. Таким образом, наша команда может повторно использовать существующие программные активы, компонентизируя технические функции и стандартизируя архитектуру.
Это эффективный способ для предприятий, позволяющий разработчикам больше не сталкиваться с множеством технологических выборов.
В результате Lenovo начала разрабатывать свои внутренние приложения на основе компонентных шаблонов, снижая затраты на разработку инженерных приложений и повышая качество и эффективность поставки программного обеспечения. В то же время команда Янга создала высококачественную корпоративную экосистему API-сервисов для полного повторного использования возможностей внутренних систем и внешних партнеров, создавая мощные бизнес-решения.
Почему Lenovo выбрала APISIX
Lenovo выбрала Apache APISIX главным образом потому, что APISIX имеет преимущества в следующих аспектах.
-
Построенный на NGINX и LuaJIT, APISIX обладает высокой производительностью, богатой библиотекой OpenResty и простотой в настройке. В прошлом Lenovo использовала несколько коммерческих продуктов API-шлюзов, которые находились в лидирующем квадранте Gartner. Однако эти продукты вызывали трудности в удовлетворении уникальных потребностей предприятий, таких как настройка потоков авторизации и панелей управления.
-
APISIX предоставляет легковесную архитектуру развертывания. Lenovo нужен легковесный шлюз, который может функционировать как компонент, встроенный в приложение. Однако большинство коммерческих или открытых продуктов API-шлюзов слишком громоздки для нашей системы.
-
Динамическая горячая перезагрузка позволяет публиковать API без необходимости перезапуска систем, сокращая время простоя и повышая SLA работы бизнес-систем.
-
Гибкая настройка плагинов позволяет разработчикам создавать персонализированные процессы, отвечающие уникальным потребностям предприятия.
-
Благодаря сильной поддержке активного сообщества и экосистемы с широким спектром высококачественных плагинов, таких как kafka-logger и authz-keycloak, Lenovo получает расширенные функциональные возможности и широкие возможности настройки.
-
Включенный Web Application Firewall (WAF) предоставляет необходимые меры безопасности и функции управления трафиком для повышения общей защиты и производительности системы Lenovo.
-
Дружественная лицензия с открытым исходным кодом: Apache License 2.0. Lenovo рассматривает использование только двух протоколов, Apache License 2.0 и MIT, с точки зрения соответствия требованиям безопасности.
Децентрализованный шлюз и централизованный Dev Portal на основе APISIX
Lenovo приняла несколько мер для интеграции своей архитектуры с APISIX.
Во-первых, Lenovo создала Централизованный API Dev Portal для повышения эффективности и качества управления API и использования API. Затем она создала Централизованный Реестр (etcd) для проверки состояния шлюзов и синхронизации подписок API для развертывания нескольких реестров.

Кроме того, Lenovo предоставила легковесный шлюз, делегированный в бизнес-приложения или домены, который обеспечивает безопасный доступ к приложениям и услугам без централизованного шлюза. Этот подход позволяет более детально контролировать доступ и аутентификацию, улучшает масштабируемость и производительность, а также снижает риск единой точки отказа.
Наконец, передав авторизацию услуг предоставления API и делегировав авторизацию потребителей API бизнес-приложениям или доменам, Lenovo может лучше управлять своей безопасностью API и улучшить опыт разработчиков.
Достижения после использования APISIX
После внедрения APISIX в Lenovo произошло значительное количество изменений.
Улучшенная производительность с гибкой настройкой
Замечательная масштабируемость APISIX предоставляет Lenovo необходимую гибкость для настройки. С APISIX децентрализованная архитектура шлюза Lenovo предоставляет высокопроизводительные и масштабируемые решения API-шлюзов уровня предприятия, эффективно устраняя узкие места, вызванные централизацией.
Ранее системные ресурсы ограничивали количество API, которые можно было развернуть в одном кластере, до менее 1000. Производительность шлюза ограничивалась некоторыми ресурсоемкими API, что приводило к средней пропускной способности менее 4000 TPS. Кроме того, любой сбой API ухудшал общую производительность маршрутизации API и влиял на всех клиентов.
Однако, используя APISIX, децентрализованная архитектура шлюза Lenovo позволяет эффективно развертывать узлы шлюзов и API в зависимости от конкретных бизнес-сценариев. Каждый узел шлюза может быть настроен и оптимизирован независимо в зависимости от его системных ресурсов и нагрузки. Следовательно, больше нет ограничений на общее количество API, которые можно развернуть в сети. Более того, при правильной настройке производительность шлюза может быть значительно улучшена до более чем 20 000 TPS.
Повышенная безопасность и масштабируемость
Развертывание легковесного шлюза как компонента приложения или бизнес-домена улучшило безопасность приложения, а также значительно повысило гибкость развертывания API по сценариям.
Каждый бизнес-сценарий может получить выгоду от независимой маршрутизации API и персонализированных политик безопасности, что обеспечивает полную изоляцию между различными сценариями. Это позволяет каждому бизнес-сценарию выполнять изменения API и операции запуска-остановки в соответствии с конкретными планами.
На данный момент более 100 low-code бизнес-приложений используют эту легковесную архитектуру компонентов API-шлюза, что повысило их производительность и устойчивость без проблем, связанных с единой эксплуатацией и обслуживанием шлюза. Ожидается, что эта легковесная архитектура компонентов API-шлюза охватит большинство бизнес-сценариев в ближайшие 2-3 года.
Реализовано полное управление жизненным циклом API
Централизованный API Dev Portal позволяет поставщикам API эффективно управлять полным жизненным циклом API для всех шлюзов в единой системе.
Использование API Dev Portal для управления информацией об API может эффективно предотвратить дублирование инструментов администрирования API различными бизнес-командами. Кроме того, это позволяет установить единые технические стандарты API, стандарты документации и стандарты безопасности. Для интеграции сложных гетерогенных систем или унаследованных систем из различных бизнес-доменов API Dev Portal также предоставляет различные процессы авторизации, расширенные из плагинов APISIX для серверных служб API, таких как basic-auth, OAuth2, Customized Header и так далее. На данный момент более 100 разработчиков используют API Dev Portal для управления API.
Предоставлен единый маркетплейс для управления API
API-маркетплейсы, такие как тот, что предоставляет APISIX, играют важную роль в упрощении процесса поиска необходимых API для разработчиков. Эти маркетплейсы также способствуют эффективному обмену и обнаружению информации об API между отделами в крупных предприятиях, тем самым сокращая время, затрачиваемое на поиск API.
В настоящее время API-маркетплейс уже используется более чем 1000 разработчиками из различных бизнес-доменов для поиска и доступа к необходимой информации об API. Он доказал свою незаменимость в упрощении процесса разработки и обеспечении доступа к самой актуальной и точной информации об API.
По мере того как APISIX продолжает расширять свои функциональные возможности и охват в рамках API-маркетплейса, ожидается, что больше разработчиков будут полагаться на него как на ценный ресурс для своих потребностей в разработке. APISIX предоставляет разработчикам централизованную платформу для поиска и доступа к необходимым API, значительно экономя их время и усилия в процессе разработки. Кроме того, API-маркетплейс, поддерживаемый APISIX, предлагает разработчикам среду для совместной работы и обмена своими API, способствуя инновациям и сотрудничеству внутри сообщества разработчиков.
Достигнуто улучшенное мониторинг
Аналитика и мониторинг API предоставляют предприятиям ценные данные о производительности их API. APISIX играет ключевую роль в помощи Lenovo в мониторинге своих платформ, позволяя разработчикам оптимизировать API для повышения производительности, масштабируемости и надежности. Кроме того, это помогает в раннем обнаружении потенциальных рисков, таких как ошибки и задержки, предотвращая их превращение в серьезные проблемы.
Итог
Леон подчеркивает, что сочетание высокопроизводительного технологического стека и гибкой архитектуры с открытым исходным кодом позволяет Lenovo создавать мощные и эффективные решения. Это мощное сочетание предоставляет организациям инструменты и возможности, необходимые для решения сложных задач и достижения выдающихся результатов.
Учитывая эти возможности, Lenovo с большим доверием относится к APISIX и его активному сообществу. Благодаря неизменной поддержке APISIX, Lenovo находится в отличной позиции для достижения значительных успехов и остается на переднем крае технологических достижений в отрасли. Используя сильные стороны APISIX, Lenovo может стимулировать инновации, способствовать росту и продолжать лидировать в предоставлении передовых решений для удовлетворения растущих потребностей рынка.