OpenSearch: форк стека
У ELK есть открытый форк OpenSearch — разберём, откуда он взялся и когда его выбирают.
OpenSearch — открытый форк Elasticsearch и Kibana, созданный сообществом во главе с AWS после смены лицензии Elastic; функционально это «та же связка» под другой лицензией.
Откуда взялся форк
Исторически Elasticsearch и Kibana были под лицензией Apache 2.0 (полностью открытой). В 2021 году Elastic сменил лицензию на SSPL/Elastic License — это ограничило, в частности, предложение Elasticsearch как управляемого облачного сервиса третьими сторонами (целились в облачных провайдеров). В ответ AWS и сообщество сделали форк последней Apache-версии: Elasticsearch → OpenSearch, Kibana → OpenSearch Dashboards. С тех пор это два отдельных проекта, развивающихся параллельно.
Что общего и что разного
Поскольку OpenSearch вырос из той же кодовой базы, концепции идентичны: индексы, шарды, Query DSL, агрегации, ISM (аналог ILM), дашборды. Почти всё, что вы изучили в этом курсе, переносится на OpenSearch один в один — меняются детали API и названия некоторых фич. Различия копятся со временем: у каждого проекта свои фичи (у Elastic — продвинутый ML и ESQL, у OpenSearch — свои), своя экосистема плагинов, разные совместимости версий клиентов.
| Elastic Stack | OpenSearch | |
| Лицензия | SSPL / Elastic License | Apache 2.0 (полностью открытая) |
| Поиск | Elasticsearch | OpenSearch |
| UI | Kibana | OpenSearch Dashboards |
| Жизненный цикл | ILM | ISM |
| За проектом | Elastic | AWS + сообщество (Linux Foundation) |
Как работает под капотом: совместимость
Fork-точка означала бинарную совместимость на старте, но она размывается. Клиенты Elasticsearch свежих версий могут намеренно отказываться работать с OpenSearch (проверка «это настоящий Elastic?»), и наоборот. Поэтому при работе с OpenSearch используют его клиенты и инструменты. Beats и Logstash формально из мира Elastic, но OpenSearch поддерживает совместимые выходы и/или свой Data Prepper. На практике: выбрали платформу — берите её родную обвязку.
Когда что выбирать
- OpenSearch — если важна полностью открытая лицензия Apache 2.0 без коммерческих ограничений, если вы в экосистеме AWS (там это управляемый сервис) или принципиально хотите вендоронезависимость.
- Elastic Stack — если нужны конкретные продвинутые фичи Elastic (их ML, APM, новейшие возможности), привычная экосистема Beats/Kibana и официальная поддержка Elastic.
Для целей логирования оба решают задачу; выбор чаще про лицензию, облако и поддержку, чем про сами возможности.
Что значит форк на практике
Для инженера форк означает несколько конкретных вещей помимо лицензии. Первое — две отдельные документации, два сообщества, два набора версий, и нужно чётко знать, с какой системой вы работаете, чтобы не применять инструкцию от Elasticsearch к OpenSearch и наоборот. Второе — управляемые облачные предложения: OpenSearch доступен как сервис в AWS (и у некоторых других провайдеров), тогда как официальный управляемый Elasticsearch — это Elastic Cloud; выбор облака часто фактически предопределяет выбор системы. Третье — со временем расходятся не только фичи, но и форматы: миграция между ними перестаёт быть тривиальным копированием данных и требует переиндексации и проверки совместимости.
Полезно сохранять прагматизм в этом выборе. Для подавляющего большинства задач логирования обе системы делают одно и то же, и разница в повседневной работе минимальна — те же индексы, тот же поиск, те же дашборды. Споры о «правильном» форке чаще идеологические или продиктованы конкретным контекстом (облако, лицензионные требования продукта, существующая экспертиза команды), чем техническим превосходством одного над другим в задаче логирования. Выбирайте по реальным ограничениям своего проекта, а не по громкости аргументов в интернете.
Частые ошибки
- Считать их полностью взаимозаменяемыми навсегда. На старте — почти да, но проекты расходятся: фичи, API и клиенты со временем несовместимы. Не мигрируйте «вслепую».
- Смешивать клиенты. Новый клиент Elasticsearch против OpenSearch (или наоборот) может отказаться соединяться. Используйте родные клиенты платформы.
- Игнорировать лицензию при коммерции. Если вы строите продукт «поиск/логи как сервис», лицензионные различия принципиальны — это и была причина форка.
Итоги
- OpenSearch — открытый (Apache 2.0) форк Elasticsearch и Kibana, появившийся после смены лицензии Elastic в 2021.
- Концепции почти идентичны (этот курс переносится), но проекты расходятся фичами и API.
- Выбор — про лицензию, облако (AWS) и поддержку, а не про базовые возможности логирования.
- Используйте родные клиенты и обвязку выбранной платформы — кросс-совместимость ненадёжна.