Deployment templates pre-configure the components of the Elastic Stack, such as Elasticsearch nodes and Kibana instances, for different use cases. Compared to a one-size-fits-all approach to deploying the Elastic Stack, templates provide much greater flexibility and they ensure that your deployment has the resources it needs to support your use case. Templates are also flexible: Not only can you select a template that fits your use case, but you can customize each component of the Elastic Stack with a just few additional clicks.
The components of the Elastic Stack that we support as part of a deployment are called instances and include:
- Elasticsearch data, ingest, and master nodes
- Kibana instances
- Machine learning (ML) nodes
To address each use case, deployment templates combine these components of the Elastic Stack in different ways according to tried-and-true best practices that you can trust. For example: In a hot-warm architecture, which typically solves a log aggregation use case, you need at least one Elasticsearch hot node with recent data and one warm node with read-only indices for older, less frequently queried data. A real hot-warm architecture in a production environment also needs to be fault tolerant, so that it is highly available. To support these requirements, our hot-warm architecture template includes hot and warm modes spread across two availability zones at a minimum, comes with Kibana enabled and ready to use, and even pre-wires machine learning in case you want to enable machine learning for anomaly detection later on.
Elastic Cloud Enterprise comes with some deployment templates already built in, but you can create new deployment templates to address a particular use case you might have. To make the most out of your hardware, we also recommend that you configure deployment templates, so that ECE knows where to deploy components of the Elastic Stack.
For instances to run well when they are used in your Elastic Cloud Enterprise deployment, they need the right hardware that supports their intended purpose. For that, Elastic Cloud Enterprise uses instance configurations. Instance configurations match the Elastic Stack components to allocators for deployment, and indicate how memory and storage resources get sized relative to each other, and what sizes are available. For example: If you have a logging use case that needs lots of storage space, you probably want your instance configuration to use at least some storage with large spindle drives rather than fast but more expensive SSD storage.
To determine where ECE should place specific components of the Elastic Stack for deployment, instance configurations match suitable allocators by filtering for tags with queries. You can edit instance configurations to change what allocators get matched by the queries, which in turn changes what components of the Elastic Stack get hosted on matching allocators when creating or changing a deployment.