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:
Share article link