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
screento 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.