APISIX помогает Lenovo создать легковесный и децентрализованный шлюз

June 6, 2023

Case Study

Этот блог основан на выступлении Леона Янга, старшего 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 ищет более эффективный способ доставки проектов с меньшими затратами, а именно повторное использование исходных системных ресурсов через компонентизацию.

Lenovo-system-architecture

Первый шаг — создание готовой к использованию внутренней экосистемы 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 для развертывания нескольких реестров.

API-Dev-Portal

Кроме того, 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 может стимулировать инновации, способствовать росту и продолжать лидировать в предоставлении передовых решений для удовлетворения растущих потребностей рынка.

Tags: