Running the Elastic Stack
The Elastic Stack can be orchestrated and deployed in several different ways, depending on the following:
- Whether you want to manage the infrastructure that Elasticsearch will run on yourself (or if you have strict regulatory or compliance requirements requiring the use of on-premises infrastructure)
- Whether you want to have access to automated orchestration and deployment features
- Whether you need to run your deployment on specific hardware types (on-premises or in the cloud)
- The number of nodes in your Elasticsearch cluster (and therefore the scale of the compute infrastructure you need to manage)
- The number of different Elasticsearch clusters you'd like to consume within your organization
The following diagram illustrates the different orchestration options available and what level of management is provided:
Standalone deployments
Standalone deployments run on your own infrastructure and must be managed by you. In this book, we will run our code and examples on a standalone deployment of the Elastic Stack. These will run the same on the Elastic Cloud options.
As standalone deployments do not come with out-of-the-box orchestration capabilities, they can be difficult to manage and upgrade, especially at scale. Teams will often need to invest in custom tooling or automation to manage such deployments.
You might consider using Elastic Cloud for large production deployments that will benefit from orchestration and management capabilities.
Elastic Cloud
Elastic Cloud is an offering that provides orchestration, administration, and management functionality for Elastic Stack components. There are three products available under the broader Elastic Cloud offering:
- Elasticsearch Service (ESS) is a managed Software-as-a-Service (SaaS) offering that provides Elasticsearch and Kibana deployments for a range of cloud providers and regions of your choosing.
- Elastic Cloud Enterprise (ECE) provides orchestration capabilities for Elastic Stack components on your infrastructure (on-premises or your public cloud subnet/VPC). ECE is a Platform-as-a-Service (PaaS) product; it is self-managed in that you need to provision your own infrastructure, as well as ensuring ECE components are functional.
- Elastic Cloud on Kubernetes (ECK) is another PaaS offering that allows Elasticsearch deployments to be orchestrated on Kubernetes. ECK offers a Kubernetes operator that can deploy, upgrade, and alter Elasticsearch, Kibana, and Beats components using configuration files.
Now that we know how we can orchestrate an Elastic Stack deployment, let's look at what kind of solutions we can run on the stack.