360 улучшает управление облачными ресурсами с помощью APISIX

December 11, 2020

Case Study

Обзор

О платформе 360 Basic Operations and Maintenance

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

До использования APISIX уровень шлюза платформы 360 Basic Operations and Maintenance имел некоторые недостатки, такие как низкая производительность и масштабируемость при обработке больших объемов трафика, а также высокая сложность управления и мониторинга. Поэтому команда планирует модернизировать уровень шлюза, чтобы улучшить время отклика платформы и эффективность управления. Команда стремится создать высокопроизводительный, масштабируемый и легко управляемый уровень шлюза для более эффективного управления и мониторинга облачных приложений.

Проблемы

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

Результаты

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

Почему 360 выбрала APISIX

Команда платформы 360 Basic Operations and Maintenance в конечном итоге выбрала Apache APISIX в основном из-за варианта хранения etcd, который больше подходит для их сценария использования. При выборе решения для хранения необходимо учитывать множество факторов, таких как тип данных, объем данных, частота чтения/записи, модель доступа к данным и безопасность данных. По сравнению с etcd, другие варианты хранения могут иметь некоторые недостатки.

Например, Postgres подходит для сложных запросов данных и обработки транзакций, но уступает в производительности чтения/записи и масштабируемости. Cassandra подходит для хранения и анализа больших объемов данных, но имеет недостатки в производительности чтения/записи и согласованности данных. Redis подходит для высокоскоростного кэширования и хранения данных, но все еще нуждается в улучшении согласованности и надежности данных. PaaS подходит для быстрого создания, развертывания и управления приложениями, но требует более гибкого и масштабируемого решения для хранения. Zookeeper подходит для управления и координации распределенных приложений, но все еще имеет недостатки в согласованности и надежности данных.

В сравнении, etcd, как высоконадежная, масштабируемая, производительная и простая в использовании распределенная система хранения ключ-значение, лучше удовлетворяет потребности платформы 360 Basic Operations and Maintenance и была выбрана в качестве решения для хранения. Помимо варианта хранения, APISIX также принес другие преимущества команде платформы 360 Basic Operations and Maintenance. В таблице ниже показаны различия между APISIX и аналогичными продуктами в различных аспектах, помимо выбора хранилища.

API GatewayAPISIXKongTykApigeeAWSAliyun
Режим развертыванияодноузловой и кластерныйодноузловой и кластерныйодноузловой и кластерныйНе поддерживает одноузловое развертываниеPaaSPaaS
Выбор хранилищаetcdPostgres, CassandraRedisPostgres, Cassandra, ZookeeperPaaSPaaS
Открытый исходный кодApache License 2.0Apache License 2.0MPL LicenseНетНетНет
Основная технологияNGINX + LuaNGINX + LuaGolang///
Частное развертывание
Пользовательские плагины
Участие сообществаВысокоеВысокоеВысокоеСреднееНизкоеНизкое
Поддержка YAMLПоддерживаетсяПоддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживается

На следующей диаграмме показана окончательная архитектура проекта платформы 360 Basic Operations and Maintenance, включая сервис шлюза, развернутый на облаке контейнеров компании, и сервис etcd, развернутый на наборе кластеров из 3 виртуальных машин.

architecture

Достижения после использования APISIX

Успешное построение разработки на основе плагинов

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

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

Файлы проекта платформы 360 Basic Operations and Maintenance содержат два каталога: "libs" и "plugins". Каталог "libs" содержит некоторые часто используемые библиотеки, а каталог "plugins" содержит пользовательские бизнес-плагины. Все бизнес-операции на платформе 360 разработаны с использованием механизма плагинов. Проект имеет два доменных имени для входа: одно для доступа через OpenAPI, которое использует плагин аутентификации basic-auth, и одно для доступа через веб-браузер, которое использует плагин web-auth (аутентификация через cookie). На следующем рисунке показаны плагины, используемые в проекте в настоящее время.

plugins

Легкое управление большими объемами трафика

Выбрав правильные технологии и эффективно их внедрив, платформа 360 Basic Operations and Maintenance смогла построить высокопроизводительную и надежную облачную платформу управления приложениями, которая может удовлетворять растущие потребности бизнеса.

Платформа 360 Basic Operations and Maintenance в настоящее время имеет почти 900 API, добавленных в ее шлюз, с ежедневным средним количеством просмотров около 10 миллионов. Согласно ее системе мониторинга, как шлюз, так и его различные микросервисы работают стабильно. Это указывает на то, что инфраструктура платформы способна справляться с большими объемами трафика и обеспечивать высокую доступность для своих пользователей. Это также показывает, что команда разработчиков отлично справилась с проектированием и реализацией архитектуры системы, выбрав APISIX в качестве уровня шлюза. Этот успех можно объяснить несколькими факторами, включая масштабируемость и надежность APISIX, а также использование etcd в качестве решения для хранения. В будущем платформа продолжит отслеживать производительность системы и вносить улучшения по мере необходимости, чтобы обеспечить высокий уровень качества и обслуживания для своих пользователей.

Эффективный мониторинг системы

Функции наблюдаемости, предоставляемые APISIX, приносят множество преимуществ платформе 360 Basic Operations and Maintenance:

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

  • Во-вторых, журналы доступа и мониторинг метрик в реальном времени помогают разработчикам быстро находить проблемы, оптимизировать производительность системы и повышать доступность и производительность системы.

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

Функции наблюдаемости APISIX помогают платформе 360 Basic Operations and Maintenance более эффективно отслеживать и управлять системой, повышать доступность, производительность и надежность системы, а также предоставлять лучший опыт обслуживания для пользователей.

Итог

Платформа 360 Basic Operations and Maintenance выбрала APISIX из-за варианта хранения etcd, который лучше подходит для их сценария использования. APISIX также принес другие преимущества, такие как разработка на основе плагинов, хорошая наблюдаемость и лучшее управление и мониторинг системы.

Tags: