Миграция с Elasticsearch на OpenSearch: Необходимые условия

В этом цикле статей мы шаг за шагом расскажем вам о миграции с Elasticsearch на OpenSearch. Мы начнем с проверки некоторых предварительных условий и вопроса: Стоит ли вообще мигрировать? Предупреждение под спойлером: да, скорее всего, стоит.

Зачем переходить с Elasticsearch на OpenSearch?

Первый и, вероятно, самый важный вопрос: почему вы вообще должны рассматривать возможность перехода с Elasticsearch на OpenSearch? Короткий ответ - чтобы избежать привязки к поставщику и обезопасить свои инвестиции в ИТ.

Elasticsearch начинался как проект с открытым исходным кодом и лицензией Apache2, который каждый мог использовать бесплатно и для любых целей. Как и во многих других бизнес-моделях Open Source, Elastic взимает плату только за дополнительные функции, такие как оповещения, машинное обучение, а также базовые функции безопасности. Но основная платформа Elasticsearch всегда была лицензирована по стандарту ASL2.

Хотя Elastic (компания, создавшая Elasticsearch) обещала, что версия Elasticsearch с открытым исходным кодом будет существовать всегда, в 2021 году ситуация изменилась, и были применены новые условия лицензирования. Elasticsearch больше не является проектом с открытым исходным кодом, и никто не знает, что принесет будущее в отношении возможных новых лицензионных изменений и/или изменений в бизнес-модели Elastic.

OpenSearch - это форк Elasticsearch, лицензированный под Apache2. Это проект, управляемый сообществом, который поддерживают такие лидеры индустрии, как AWS, RedHat, SAP, Logz.io и другие. Как заявляет сам проект:

«Благодаря OpenSearch люди получают продукт с открытым исходным кодом, который они могут использовать, модифицировать, расширять, монетизировать и перепродавать по своему усмотрению. В то же время OpenSearch будет продолжать предоставлять безопасный, высококачественный поисковый и аналитический пакет с богатой дорожной картой новых и инновационных функций.»

С OpenSearch люди выигрывают от наличия продукта с открытым исходным кодом, который они могут использовать, модифицировать, расширять, монетизировать и перепродавать по своему усмотрению.

Преимущества и потенциальные недостатки

Как всегда, смена платформы имеет потенциальные преимущества и недостатки. Поскольку OpenSearch является прямым форком Elasticsearch, совместимость высока, и преимущества, скорее всего, перевесят недостатки.

Преимущества

  • Бесплатный (как бесплатное пиво) и лицензированный ASL2 - используйте его любым способом, не беспокоясь о смене лицензии.
  • Развивается сообществом и поддерживается такими лидерами индустрии, как AWS, RedHat и SAP.
  • Вы можете предлагать управляемые услуги на базе OpenSearch, что невозможно в случае с Elasticsearch.
  • Постоянный вклад и улучшения со стороны сообщества
  • Вы можете сами внести свой вклад в проект, и ваш код останется под лицензией ASL2
  • Дорожная карта проекта находится в открытом доступе, что обеспечивает безопасность планирования
  • Исправления ошибок и исправления безопасности будут постоянно распространяться.

Недостатки

  • Если вы используете очень специфические функции Elasticsearch, они могут быть недоступны (пока) в OpenSearch (см. таблицу ниже).
  • Нет официальной поддержки от AWS.

Сравнение функций

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

Основные характеристики

Функции Elasticsearch OpenSearch
Основные функции безопасности да да
Расширенные функции безопасности да, платно да
Ведение журнала аудита да, платно да
Оповещение да, платно да
Машинное обучение да, платно да
Обнаружение аномалий да, платно да
Управление жизненным циклом индекса да, платно да
SQL-интерфейс да, платно да
Аналитика журналов да да
Отчетность да да
Кросс-кластерный поиск да да
Кросс-кластерная репликация да, платно да

Специальные возможности

Характеристика Elasticsearch OpenSearch
Полный комплексный мониторинг да, платно пока нет
Fleet да, платно нет
APM да, платно нет
Потоки данных нет да
Преобразования нет да
Блокноты с приборными панелями нет да
Безопасность конечных точек да нет

Совместимость данных

При переходе с Elasticsearch на OpenSearch вы можете повторно использовать существующие индексные данные. Поскольку OpenSearch является форком Elasticsearch 7.10.2, а Lucene в любом случае работает под капотом, вы можете использовать каталоги данных, созданные в Elasticsearch, и в OpenSearch.
Если вы используете старые версии Elasticsearch, мы рекомендуем обновиться до Elasticsearch 7.10.2 перед переходом на OpenSearch.
Если вы используете более новые версии Elasticsearch, особенно если вы уже обновились до Elasticsearch 8, пожалуйста, проверьте примечания к выпуску Elasticsearch, чтобы узнать, нет ли изменений, касающихся формата данных на диске. В этом случае для переноса данных мы рекомендуем использовать метод моментальных снимков.

Совместимость конфигураций

Конфигурация Elasticsearch и OpenSearch одинакова, но также и различна. В зависимости от используемых функций Elasticsearch, вам придется вручную адаптировать конфигурационные файлы, такие как elasticsearch.yml или пользователи и роли безопасности, чтобы они соответствовали формату OpenSearch.
Существует также инструмент opensearch-upgrade, который можно использовать для автоматизации некоторых из этих изменений.

Путь обновления: Три режима

Существует три основных пути обновления (от безопасного до умеренного риска):

Метод моментального снимка/восстановления

В этом сценарии вы создаете новый кластер OpenSearch. Вы экспортируете данные из работающего кластера Elasticsearch и импортируете их в кластер OpenSearch.

Полный перезапуск кластера

В этом сценарии вы полностью останавливаете существующий кластер Elasticsearch. Затем вы запускаете новый кластер OpenSearch, указывая ему на каталоги данных прежнего кластера Elasticsearch.

Скользящий перезапуск

В этом сценарии вы обновляете кластер узел за узлом. Вы разбираете один узел, обновляете его до OpenSearch и добавляете обратно в кластер. Этот подход гарантирует отсутствие перебоев в обслуживании, но он также является самым рискованным.

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий