Elasticsearch, a distributed, RESTful search and analytics engine built on Apache Lucene, is widely used for storing, searching, and analyzing data. Log analytics, full-text search, security intelligence, and business analytics are some of the areas where Elasticsearch is used. However, in recent times OpenSearch has emerged as a worthy replacement to Elasticsearch for IBM Power.
Let us explore the various features of OpenSearch in this blog and find out how it fares in comparison with Elasticsearch.
What is OpenSearch?
OpenSearch is an open-source search and analytics suite derived from Elasticsearch. It consists of a data store and search engine named OpenSearch that is built on top of Apache Lucene and a data visualization tool and user interface named OpenSearch Dashboards.
Features of OpenSearch include:
- Powerful full-text search, real-time analytics, and data visualization capabilities, commonly used for log analytics, application monitoring, and search features in web applications.
- Scalable, easy to extend, and compatible with Elasticsearch APIs, making it a popular alternative for organizations seeking open-source search solutions.
OpenSearch was the culmination of the projects that were initiated by Amazon Web Services (AWS) in 2021 as community-driven open-source forks of Elasticsearch (OpenSearch) and Kibana (OpenSearch Dashboards), version 7.10.2. This was in response to Elastic’s decision to move the code in Elasticsearch and Kibana, which was under the Apache 2.0 license, to be dual licensed under Elastic License and Server Side Public License (SSPL) that impose certain restrictions on its use. For more information, see FAQ on Software Licensing.
The SSPL, as an example, states “If you make the functionality of the Program or a modified version available to third parties as a service, you must make the Service Source Code available via network download to everyone at no charge”. That is a real concern for companies using Elasticsearch as part of their products. OpenSearch itself is licensed under Apache 2.0 [(and does not even require contributors to sign a contributor license agreement (CLA)]. Refer to the official OpenSearch documentation for more details.
OpenSearch versus Elasticsearch
Elasticsearch is a mature ecosystem with a rich feature set, comprehensive support, and extensive community resources, documentation, and active forums. Some advanced features are tied to Elastic's commercial licenses (Elasticsearch Service or X-Pack), which can increase costs for heavy users. Dependency on Elastic’s managed services and proprietary plug-ins may limit flexibility for organizations preferring open solutions. So Elasticsearch is best suited for organizations that require enterprise-grade support, tight integration with Elastic Stack, and advanced features, despite potential licensing costs.
On the other hand, OpenSearch has strong integration with AWS and is cost effective without additional fees for plug-ins. Backed by AWS, it benefits from robust community support and enterprise-grade backing. While beneficial for AWS users, it may not be ideal for multi-cloud or non-AWS environments where vendor lock-in is a concern. OpenSearch mainly serves users who are looking for a free, AWS-integrated alternative to Elasticsearch, despite its limitations in compatibility with certain plug-ins and non-AWS environments.
Both projects are evolving rapidly, so staying up to date on their development is crucial for informed decision making.
OpenSearch on IBM Power
The Power ecosystem team is often asked if Elasticsearch has a supported version that runs on Power. Elastic officially does not support Power at the time of writing this article. Their code will not build on Power out of the gate. IBM does maintain a directory of patches because we have some customers who use the open-source based versions that we build but are with community support only and we are the only supporting community which is "best effort".
In support of the Power community, IBM established an informal development relationship with Amazon working on OpenSearch which IBM has ported. It is kept updated, and the IBM changes are fully integrated. IBM also published an OpenSearch container that is being used by IBM customers, and IBM internal projects (such as IBM Cloud Pak) have started using OpenSearch as a replacement for Elasticsearch.
Even though OpenSearch is a good option for the Power community users, there are a couple of challenges that users must be aware of. First, there is no formal support for the open-source version, and only community support is available. OpenSearch does have several add-on features that are included with their value-add paid offering which provides some compatibility in terms of features but not always in terms of customers being able to perform a code replacement (the kind which is possible with MySQL to MariaDB).
Summary
Overall, it seems that though OpenSearch is still evolving and gaining acceptance, it already provides most of what the free version of Elasticsearch does today and probably even more. Based on the complications with the Elastic licensing, lack of community support and feature parity between Elasticsearch and OpenSearch, we would recommend users running their workloads on Linux on Power to consider OpenSearch as an alternative solution going forward.
Additional author: @David Budd