Migrating from Embedded Elastic Search instance to External Elastic Search Instance


(swap) #1

Today:
App-A --> Owns and performs CRUD operations on the data from Domain-A (data is captured in a Relational DB Schema-A)
App-B --> Owns and performs CRUD operations on the data from Domain-B (data is captured in a Relational DB Schema-B)
App-C --> Owns and performs CRUD operations on the data from Domain-C (data is captured in a Relational DB Schema-C)
All of the above Apps A,B and C also use their own Embedded Elastic Search instance to help with their respective search operations.
Future:
Down the line, we'd like to switch Apps A,B,C out of their respective embedded Elastic Search instances and use External Elastic Search instance.

Question:
When we do the above:
i) Do we need to have 3 separate external Elastic Search Instances, one per App?
ii) Or a Single Centralized Elastic Search Instance that all 3 Apps can point to and use the centralized Elastic Search instance for their respective search operations?
iii) Any pointers or Best Practices with accomplishing the above migration?


(Junaid) #2

Moving with a single ES instance or multiple ES instances depends upon your current cluster sizes and future requirements. It depends upon the cluster sizes, number of indices and shards present in your cluster and future growth. Can you share _cluster/health output of all the 3 clusters?

If the cluster sizes aren't big, you can start with a single cluster ensuring that DomainA, DomainB & DomainC data gets mapped to separate indices, so in the future if you have to split out the clusters than it is easier for you.

Hope this helps.