Wondering whether to choose Elastic Cloud or AWS? Read a full breakdown of the two options and how they compare with Opster here.
What you need to know when choosing where to host Elasticsearch
When using Elasticsearch, you’re faced with different hosting options. There are many elements to consider when choosing where the host Elasticsearch, whether you’re just getting started or considering switching between hosting methods for any number of reasons. Generally speaking, there are 2 different methods for hosting Elasticsearch: managed services, or self-hosting.
Managed services, such as Elastic Cloud or AWS Elasticsearch Service, provide the infrastructure for deploying, securing and running Elasticsearch clusters. You can read a comparison of Elastic Cloud and AWS here. Using ticket-based support, you can ask for help with upkeep and troubleshooting incidents. The platform & network are provided for you (security by default, backup management), along with orchestration options. There are smaller managed services in the field as well, who provide similar services, but Elastic and AWS are the two main providers.
You can also decide to deploy and run Elasticsearch on your own, self-hosted. Open-source resources make the DIY option viable, thanks to the open source templates that are a starting point for deployment (e.g. Terraform, Puppet, Chef). To deploy clusters and monitor activity you can also use ECK (Elastic Cloud on Kubernetes), which is free but only relevant if you intend to deploy on Kubernetes. To successfully benefit from that option you need some Kubernetes expertise. You could also use ECE (Elastic Cloud Enterprise), though this option requires an enterprise license from Elastic, which is far more pricey than the other self-hosting solutions.
Whether you decide to run Elasticsearch with a managed service or self-hosted, Opster fills in the missing consideration points for both. Beyond the infrastructure layer provided by managed services or your self-hosting solution, Opster provides solutions for the data layer of running Elasticsearch. With unique on-prem products for optimization and consulting services from elite experts, Opster takes care of all your Elasticsearch needs, including: data structure, capacity planning, smooth version upgrades, search and index optimization, implementation of best practices and more.
Considering where to host Elasticsearch?
You should take into account:
Will your Elasticsearch be mission-critical?
If it’s important to you to maintain zero-downtime in your system and ensure constant high availability, managed services are probably not the right way to go. Response times and ticket-based support make it difficult to run mission-critical operations that require quick turnaround and address production incidents in real time. You’ll be dependent, when it’s probably wiser to be in control.
What is your use case?
A huge factor to consider is what you plan on using Elasticsearch for. If your use case is common, there are often services that provide pre-built solutions, such as simple website search functions or log analysis. Some of these services include Elastic Observability, Logz.io, Elastic App Search and more.
If, on the other hand, your use case goes beyond simple logging functions, you should review the other considerations to get a better understanding of which option will make it easier for you to fulfil your use case with as little hassle as possible.
Do you know how to manage the data layer?
The data layer of Elasticsearch includes data structure, modeling and sharding, performance optimization, security & backup, incident resolution & prevention and more. In any case, even if you go with a managed service you need to keep in mind that when it comes to data modelling, data ingestion, capacity planning, and shard structure optimization it will be up to your internal team to develop tools, support capabilities and capacity to manage the data layer. This all requires Elasticsearch expertise, and won’t be provided by the managed service.
What scale will your deployment reach?
If the plan is to have a small scale operation and keep it that way, managed services can be a great option for you to save the hassle of building your own deployment. The bigger your deployment, the more issues you can anticipate, because naturally the operation becomes more complex as it grows. Bigger clusters require more control and the ability to perform every action. One example of why managed services are less ideal for those with larger deployments is that they limit APIs. AWS, for instance, disables/limits shard balancing (such as reroute APIs) which is necessary for basic Elasticsearch operation.
What is your level of DevOps expertise?
If you don’t have team members who are experts in infrastructure / cloud / orchestration, managed services are likely a good option for you because they’ll take care of infrastructure layer challenges for you. If you and your team have the expertise but don’t want to spend the time and resources on building the infrastructure, you can consider either option.
What feature set do you need?
Although rare, there are some use cases where you would want specific enterprise features, such as security and machine learning. If you need such a feature set, managed services are the right choice. For most use cases, the enterprise features would be irrelevant and kind of a waste.
How much $$ are you willing to spend?
The cost difference between managed services and self-hosting is more than 50%. You’ll pay over 50% more if you go to a managed service, which will likely lead to your superiors bringing up budget cuts if the project becomes too costly.
If you go the self-hosted route you can save even more money. You can do so by using one availability zone, or spot instances that may be taken from you in a second but that are far cheaper. By staying self-hosted you also avoid “vendor lock-in”, which can make it very difficult to transition back to an unmanaged environment or from one managed service to another.
Opster for managed services or self-hosted Elasticsearch
No matter how you’re hosting your Elasticsearch, you can benefit from Opster’s complete solutions for Elasticsearch. With an Opster AutoOps subscription, your database administration will be taken care of from start to finish. You’ll benefit from complete resolution of issues in your infrastructure & data layers, end-to-end support and constant optimization of your clusters. To learn more about Opster AutoOps, click here.
Still not sure which solution is best for you?
If you still don’t know whether you should find a managed service provider or run your Elasticsearch self-hosted, contact us here and let us know why.