360 улучшает управление облачными ресурсами с помощью APISIX
December 11, 2020
Обзор
О платформе 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 Gateway | APISIX | Kong | Tyk | Apigee | AWS | Aliyun |
|---|---|---|---|---|---|---|
| Режим развертывания | одноузловой и кластерный | одноузловой и кластерный | одноузловой и кластерный | Не поддерживает одноузловое развертывание | PaaS | PaaS |
| Выбор хранилища | etcd | Postgres, Cassandra | Redis | Postgres, Cassandra, Zookeeper | PaaS | PaaS |
| Открытый исходный код | Apache License 2.0 | Apache License 2.0 | MPL License | Нет | Нет | Нет |
| Основная технология | NGINX + Lua | NGINX + Lua | Golang | / | / | / |
| Частное развертывание | ✓ | ✓ | ✓ | ✕ | ✕ | ✕ |
| Пользовательские плагины | ✓ | ✓ | ✓ | ✕ | ✕ | ✕ |
| Участие сообщества | Высокое | Высокое | Высокое | Среднее | Низкое | Низкое |
| Поддержка YAML | Поддерживается | Поддерживается | Не поддерживается | Не поддерживается | Не поддерживается | Не поддерживается |
На следующей диаграмме показана окончательная архитектура проекта платформы 360 Basic Operations and Maintenance, включая сервис шлюза, развернутый на облаке контейнеров компании, и сервис etcd, развернутый на наборе кластеров из 3 виртуальных машин.

Достижения после использования 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). На следующем рисунке показаны плагины, используемые в проекте в настоящее время.

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