Why do we migrate?
Due to a
change in licensing
Show archive.org snapshot
, we cannot provide Elasticsearch versions >= 8.0.
Version 7.17.x will reach
EOL
Show archive.org snapshot
status with the release of Elasticsearch version 9.
We have decided to use
OpenSearch
Show archive.org snapshot
as a replacement, since it is a fork of Elasticsearch version 7.10.2, still running under the previous licensing model and wire-compatible.
A more detailed reasoning can be found on their
website
Show archive.org snapshot
How we migrate?
Unfortunately, there is no simple migration tool that helps us move your Elasticsearch indices to OpenSearch.
This card describes the general migration workflow.
Steps
- We deploy a new OpenSearch cluster parallel to the current Elasticsearch cluster.
- Your app performs a reindex operation to the OpenSearch cluster
- Your app switches to the OpenSearch cluster
- We shutdown the Elasticsearch cluster, as soon as everything works as expected.
flowchart TB
subgraph "1"
A0[App]-- Search -->ES0[Elasticsearch]
A0[App]-- Update -->ES0[Elasticsearch]
OS0[OpenSearch]
end
subgraph "2"
A1[App]-- Search -->ES1[Elasticsearch]
A1[App]-- Update -->ES1[Elasticsearch]
A1[App]-- Reindex -->OS1[OpenSearch]
end
subgraph "3"
A2[App]-- Search -->OS2[OpenSearch]
A2[App]-- Update -->OS2[OpenSearch]
ES2[Elasticsearch]
end
subgraph "4"
A3[App]-- Search -->OS3[OpenSearch]
A3[App]-- Update -->OS3[OpenSearch]
end
Tip
If the reindex operation requires an open terminal session you can use
screen
to be able to detach on demand
Which versions do we provide?
We aim to provide the latest stable version of OpenSearch by default. At the time of writing this is OpenSearch 2.x which corresponds to Elasticsearch 8.x. Since this means an upgrade to the next major version please refer to the breaking changes linked below.
On request we may provide OpenSearch 1.x corresponding to Elasticsearch 7.x.
How do you update your application?
This depends on how the application will connect to OpenSearch. Usually this happens in close collaboration with our operations engineers, who will tell you which endpoint to connect to.
An in-depth explanation for searchkick can be found under Migrate searchkick from Elasticsearch client to Opensearch client without Downtime.
What new features can be used?
You can find an overview of all release highlights in the version history Show archive.org snapshot .
Let's Encrypt
Most noteworthy is the possibility of enabling encryption via Let's Encrypt certificates.
node-to-node communication
- uses transport encryption to between nodes across the cluster
- can be used without enabling API endpoint encryption
client-to-node communication
- requests from your application to OpenSearch are encrypted as well
- requires transport encryption
What do you have to keep an eye out for?
- Breaking changes
- If your app performs version checks, please consider adjusting those
Also see our migration instructions for Searchkick users.