SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
1
Automating Elastic Stack
Aravind Putrevu, Developer Advocate
Omer Kushmaro, Product Manager
2
This presentation and the accompanying oral presentation contain forward-looking statements, including statements
concerning plans for future offerings; the expected strength, performance or benefits of our offerings; and our future
operations and expected performance. These forward-looking statements are subject to the safe harbor provisions
under the Private Securities Litigation Reform Act of 1995. Our expectations and beliefs in light of currently
available information regarding these matters may not materialize. Actual outcomes and results may differ materially
from those contemplated by these forward-looking statements due to uncertainties, risks, and changes in
circumstances, including, but not limited to those related to: the impact of the COVID-19 pandemic on our business
and our customers and partners; our ability to continue to deliver and improve our offerings and successfully
develop new offerings, including security-related product offerings and SaaS offerings; customer acceptance and
purchase of our existing offerings and new offerings, including the expansion and adoption of our SaaS offerings;
our ability to realize value from investments in the business, including R&D investments; our ability to maintain and
expand our user and customer base; our international expansion strategy; our ability to successfully execute our
go-to-market strategy and expand in our existing markets and into new markets, and our ability to forecast customer
retention and expansion; and general market, political, economic and business conditions.
Additional risks and uncertainties that could cause actual outcomes and results to differ materially are included in
our filings with the Securities and Exchange Commission (the “SEC”), including our Annual Report on Form 10-K for
the most recent fiscal year, our quarterly report on Form 10-Q for the most recent fiscal quarter, and any
subsequent reports filed with the SEC. SEC filings are available on the Investor Relations section of Elastic’s
website at ir.elastic.co and the SEC’s website at www.sec.gov.
Any features or functions of services or products referenced in this presentation, or in any presentations, press
releases or public statements, which are not currently available or not currently available as a general availability
release, may not be delivered on time or at all. The development, release, and timing of any features or functionality
described for our products remains at our sole discretion. Customers who purchase our products and services
should make the purchase decisions based upon services and product features and functions that are currently
available.
All statements are made only as of the date of the presentation, and Elastic assumes no obligation to, and does not
currently intend to, update any forward-looking statements or statements relating to features or functions of services
or products, except as required by law.
Forward-Looking Statements
What’s in the API toolbox?
Agenda
What we’ll discuss
Programmatic Use cases
3
Examples4
Elastic APIs2
1
Agenda
What we’ll discuss
Programmatic Use cases1
What’s in the API toolbox?3
Examples4
Elastic APIs2
What’s in the API toolbox?
Agenda
What we’ll discuss
Programmatic Use cases1
3
Examples4
Elastic APIs2
Examples
Elastic APIs
Agenda
What we’ll discuss
Programmatic Use cases1
What’s in the API toolbox?3
4
2
7
Programmatic
Use cases
Programmatic Use cases
● Spinning up cluster with desired config for a test suite.
● Pre-creating indices, index templates, ILM policies.
● Creating users, roles, doc level permissions.
● For ex: An eCommerce WebApp with ES as their Search &
Analytics data store, can test their App by spinning up ES
with desired config and state.
Continuous Integration/Continuous Deployment
9
Elastic APIs
What’s in the API box?
Elastic APIs: Cloud & Stack
• Deployments
• Add Resources
• Create/Update/Delete
• Search
• Monitor / Log
• Traffic Filters
• Extensions
Elastic Cloud
• Indices
• Mapping
• Rollup
• Security
• Search
Elastic Stack
11
What’s in the API
toolbox?
What’s in the API box?
Elastic Cloud on Kubernetes
● Define & Deploy stack
deployments with a
simple yaml file
● Pre-define applicative
users
● Pre-defined CCS/CCR
What’s in the API box?
Command Line: ecctl
Initializing the cli
$> ecctl deployment create
The basics
$> ecctl deployment create --name my-deployment 
--es-node-topology '{"size": "1g", "zone_count": 2,
"node_type": "data"}'
--es-node-topology '{"size": "1g", "zone_count": 1,
"node_type": "ml"}'
Customizing a deployment
$> ecctl init
● Great for bash friendly
systems
● Easy to operate
● Works with:
○ Elasticsearch Service
○ Elastic Cloud Enterprise
● Open Sourced
○ elastic/ecctl
What’s in the API box?
Cloud SDK
public static DeploymentCreateResponse createESSCluster() throws
ApiException {
ApiClient essClient = new ApiClient();
essClient.setApiKey(apiKey);
Configuration configuration = new Configuration();
configuration.setDefaultApiClient(essClient);
DeploymentsApi deploymentsApi = new DeploymentsApi();
DeploymentCreateRequest deploymentCreateRequest = new
DeploymentCreateRequest();
deploymentCreateRequest.setName("enterprise-search");
deploymentCreateRequest.setResources(getDeploymentCreateResources()
);
return
deploymentsApi.createDeployment(deploymentCreateRequest,"test",true
);
}
● An Open API Spec based
SDK
Available SDKs
● elastic/cloud-sdk-go
● Java SDK
What’s in the API box?
Coming soon: Terraform
resource "ec_deployment" "example_minimal" {
name = "my_example_deployment" # Optional
region = "us-east-1"
version = "7.8.0"
deployment_template_id = "aws-io-optimized"
elasticsearch {
topology {
instance_configuration_id = "aws.data.highio.i3"
}
}
kibana {
topology {
instance_configuration_id = "aws.kibana.r4"
}
}
}
● An official terraform provider
● Still in early development
stages
● Multi-Cloud enabled
● Enables you to manage
Infrastructure as code
Open Sourced
- elastic/terraform-provider-ec
16
Examples
Elastic Cloud Control
$ecctl
# Simply install using brew on macOS
$> brew tap elastic/tap
$> brew install elastic/tap/ecctl
# initialize by providing authentication info
$> ecctl init
# list existing deployments
$> ecctl deployment list
# Create deployment
$> ecctl deployment create --name elasticon --kibana-size
2g --apm --apm-size 0.5g
# Delete deployment
$> ecctl deployment shutdown $DEPLOYMENT_ID
● Installation
○ Using homebrew for macOS
● Initialize using Elastic Cloud
API Key.
● Create/List/Delete
deployments.
● Github: elastic/ecctl
Terraform Example
Creating a deployment
Step-by-Step
● Clone the git repository
○ Soon to be available in
Hashicorp’s registry
● Build & set up the provider
● Initialize terraform
● Apply the configuration
● Auto-run a script to pre-create
indices
● What configuration will we be
applying?
# Clone the repository locally
$> git clone
https://github.com/elastic/terraform-provider-ec.git
# build the provider, and install it locally
$> make install
# Initialize terraform
$> terraform init
# Apply configuration
$> terraform apply
Terraform Example
Provider & Terraform configuration
● Provider configuration
○ The provider defaults to
Elasticsearch Service, but
works with ECE as well
● If you use Elasticsearch
Service, all you need is an API
key
● For ECE, specify the ECE API
endpoint.
terraform {
required_version = ">= 0.12"
required_providers { # Our previously built provider
ec = {
source = "elastic/ec"
}
}
}
provider "ec" {
# This defaults to the ESS API endpoint if omitted.
endpoint = "https://api.elastic-cloud.com"
# Recommended authentication, required for ESS
apikey = "<an_api_key>"
# ECE users can use a user / password combination
username = "a_username"
password = "a_password"
# Optional fields: provider version
version = "~> 2.0"
}
Terraform Example
Deployment definition
resource "ec_deployment" "example_minimal" {
name = "my_example_deployment"
region = "us-east-1"
version = "7.9.1"
deployment_template_id = "aws-io-optimized-v2"
traffic_filter = [ec_traffic_filter.allow_all.id]
elasticsearch {
topology {
instance_configuration_id = "aws.data.highio.i3"
memory_per_node = "8g"
}
config {
user_settings_yaml = file("./es_settings.yml")
}
}
kibana {
topology {
instance_configuration_id = "aws.kibana.r5d"
memory_per_node = "1g"
}
}
}
● Elasticsearch topology section
determines nodes topology:
○ Node types
■ Data
■ Master
■ Ingest
■ ML
○ Memory per node
○ Instance Configuration
● Kibana, Enterprise Search,
APM supported
● Traffic filters
Terraform Example
Traffic Filters
● Supports both IP and VPC
● Supports multiple rule sets per
single resource
● Can be set to be applied
automatically to all
deployments
resource "ec_deployment_traffic_filter" "allow_all" {
name = "Allow All IP Addresses"
region = "us-east-1"
type = "ip"
rule {
source = "0.0.0.0/0"
}
}
Terraform Example
Init script
● “Null resource” executes a
local script (not related to the
ec provider)
● Template_file uses the values
generated by our created
ec_deployment resource, and
injects them into a simple bash
script
○ elastic-user
○ elastic-password
○ es-url
resource "null_resource" "bootstrap-elasticsearch" {
provisioner "local-exec" {
command =
data.template_file.elasticsearch-configuration.rendered
}
}
data template_file elasticsearch-configuration {
template = file(es_config.sh)
depends_on = [ec_deployment.example_minimal]
vars = {
elastic-user =
ec_deployment.example_minimal.elasticsearch_username
elastic-password =
ec_deployment.example_minimal.elasticsearch_password
es-url =
ec_deployment.example_minimal.elasticsearch[0].https_endpoint
}
}
Terraform Example
Demo Time!
Let’s run our example
terraform code!
24
Thank You!

Más contenido relacionado

La actualidad más candente

Free and open cloud security posture monitoring
Free and open cloud security posture monitoringFree and open cloud security posture monitoring
Free and open cloud security posture monitoringElasticsearch
 
Next-level integration with Spring Data Elasticsearch
Next-level integration with Spring Data ElasticsearchNext-level integration with Spring Data Elasticsearch
Next-level integration with Spring Data ElasticsearchElasticsearch
 
Using machine learning to detect DGA with >99.9% accuracy
Using machine learning to detect DGA with >99.9% accuracyUsing machine learning to detect DGA with >99.9% accuracy
Using machine learning to detect DGA with >99.9% accuracyElasticsearch
 
A new framework for alerts and actions in Kibana
A new framework for alerts and actions in KibanaA new framework for alerts and actions in Kibana
A new framework for alerts and actions in KibanaElasticsearch
 
Twenty years of Apache Lucene
Twenty years of Apache LuceneTwenty years of Apache Lucene
Twenty years of Apache LuceneElasticsearch
 
Making it personal: Tailoring content with signed search keys
Making it personal: Tailoring content with signed search keysMaking it personal: Tailoring content with signed search keys
Making it personal: Tailoring content with signed search keysElasticsearch
 
The importance of normalizing your security data to ECS
The importance of normalizing your security data to ECSThe importance of normalizing your security data to ECS
The importance of normalizing your security data to ECSElasticsearch
 
Cost-effective data storage with data tiers
Cost-effective data storage with data tiersCost-effective data storage with data tiers
Cost-effective data storage with data tiersElasticsearch
 
Building great search experiences
Building great search experiencesBuilding great search experiences
Building great search experiencesElasticsearch
 
The Elastic clients: Recent developments
The Elastic clients: Recent developmentsThe Elastic clients: Recent developments
The Elastic clients: Recent developmentsElasticsearch
 
Finding relevant results faster with Elasticsearch
Finding relevant results faster with ElasticsearchFinding relevant results faster with Elasticsearch
Finding relevant results faster with ElasticsearchElasticsearch
 
Mappy hour: Uncovering insights with Elastic Maps and location data
Mappy hour: Uncovering insights with Elastic Maps and location dataMappy hour: Uncovering insights with Elastic Maps and location data
Mappy hour: Uncovering insights with Elastic Maps and location dataElasticsearch
 
Securing the Elastic Stack for free
Securing the Elastic Stack for freeSecuring the Elastic Stack for free
Securing the Elastic Stack for freeElasticsearch
 
Elastic Security: Unified protection for everyone
Elastic Security: Unified protection for everyoneElastic Security: Unified protection for everyone
Elastic Security: Unified protection for everyoneElasticsearch
 
Hands-on with data visualization in Kibana
Hands-on with data visualization in KibanaHands-on with data visualization in Kibana
Hands-on with data visualization in KibanaElasticsearch
 
Better together: How the Elastic solutions work in tandem
Better together: How the Elastic solutions work in tandemBetter together: How the Elastic solutions work in tandem
Better together: How the Elastic solutions work in tandemElasticsearch
 
SIEM, malware protection, deep data visibility — for free
SIEM, malware protection, deep data visibility — for freeSIEM, malware protection, deep data visibility — for free
SIEM, malware protection, deep data visibility — for freeElasticsearch
 
Operationally useful anomaly detection systems
Operationally useful anomaly detection systemsOperationally useful anomaly detection systems
Operationally useful anomaly detection systemsElasticsearch
 
Opening keynote | Americas
Opening keynote | AmericasOpening keynote | Americas
Opening keynote | AmericasElasticsearch
 
Elastic Stack keynote
Elastic Stack keynoteElastic Stack keynote
Elastic Stack keynoteElasticsearch
 

La actualidad más candente (20)

Free and open cloud security posture monitoring
Free and open cloud security posture monitoringFree and open cloud security posture monitoring
Free and open cloud security posture monitoring
 
Next-level integration with Spring Data Elasticsearch
Next-level integration with Spring Data ElasticsearchNext-level integration with Spring Data Elasticsearch
Next-level integration with Spring Data Elasticsearch
 
Using machine learning to detect DGA with >99.9% accuracy
Using machine learning to detect DGA with >99.9% accuracyUsing machine learning to detect DGA with >99.9% accuracy
Using machine learning to detect DGA with >99.9% accuracy
 
A new framework for alerts and actions in Kibana
A new framework for alerts and actions in KibanaA new framework for alerts and actions in Kibana
A new framework for alerts and actions in Kibana
 
Twenty years of Apache Lucene
Twenty years of Apache LuceneTwenty years of Apache Lucene
Twenty years of Apache Lucene
 
Making it personal: Tailoring content with signed search keys
Making it personal: Tailoring content with signed search keysMaking it personal: Tailoring content with signed search keys
Making it personal: Tailoring content with signed search keys
 
The importance of normalizing your security data to ECS
The importance of normalizing your security data to ECSThe importance of normalizing your security data to ECS
The importance of normalizing your security data to ECS
 
Cost-effective data storage with data tiers
Cost-effective data storage with data tiersCost-effective data storage with data tiers
Cost-effective data storage with data tiers
 
Building great search experiences
Building great search experiencesBuilding great search experiences
Building great search experiences
 
The Elastic clients: Recent developments
The Elastic clients: Recent developmentsThe Elastic clients: Recent developments
The Elastic clients: Recent developments
 
Finding relevant results faster with Elasticsearch
Finding relevant results faster with ElasticsearchFinding relevant results faster with Elasticsearch
Finding relevant results faster with Elasticsearch
 
Mappy hour: Uncovering insights with Elastic Maps and location data
Mappy hour: Uncovering insights with Elastic Maps and location dataMappy hour: Uncovering insights with Elastic Maps and location data
Mappy hour: Uncovering insights with Elastic Maps and location data
 
Securing the Elastic Stack for free
Securing the Elastic Stack for freeSecuring the Elastic Stack for free
Securing the Elastic Stack for free
 
Elastic Security: Unified protection for everyone
Elastic Security: Unified protection for everyoneElastic Security: Unified protection for everyone
Elastic Security: Unified protection for everyone
 
Hands-on with data visualization in Kibana
Hands-on with data visualization in KibanaHands-on with data visualization in Kibana
Hands-on with data visualization in Kibana
 
Better together: How the Elastic solutions work in tandem
Better together: How the Elastic solutions work in tandemBetter together: How the Elastic solutions work in tandem
Better together: How the Elastic solutions work in tandem
 
SIEM, malware protection, deep data visibility — for free
SIEM, malware protection, deep data visibility — for freeSIEM, malware protection, deep data visibility — for free
SIEM, malware protection, deep data visibility — for free
 
Operationally useful anomaly detection systems
Operationally useful anomaly detection systemsOperationally useful anomaly detection systems
Operationally useful anomaly detection systems
 
Opening keynote | Americas
Opening keynote | AmericasOpening keynote | Americas
Opening keynote | Americas
 
Elastic Stack keynote
Elastic Stack keynoteElastic Stack keynote
Elastic Stack keynote
 

Similar a Automating the Elastic Stack

Public sector keynote
Public sector keynotePublic sector keynote
Public sector keynoteElasticsearch
 
Elastic Security under the hood
Elastic Security under the hoodElastic Security under the hood
Elastic Security under the hoodElasticsearch
 
Elastic, DevSecOps, and the DOD software factory
Elastic, DevSecOps, and the DOD software factoryElastic, DevSecOps, and the DOD software factory
Elastic, DevSecOps, and the DOD software factoryElasticsearch
 
From secure VPC links to SSO with Elastic Cloud
From secure VPC links to SSO with Elastic CloudFrom secure VPC links to SSO with Elastic Cloud
From secure VPC links to SSO with Elastic CloudElasticsearch
 
Get involved with the security community at Elastic
Get involved with the security community at ElasticGet involved with the security community at Elastic
Get involved with the security community at ElasticElasticsearch
 
Managing the Elastic Stack at Scale
Managing the Elastic Stack at ScaleManaging the Elastic Stack at Scale
Managing the Elastic Stack at ScaleElasticsearch
 
Elastic Cloud keynote
Elastic Cloud keynoteElastic Cloud keynote
Elastic Cloud keynoteElasticsearch
 
Elastic Cloud: The best way to experience everything Elastic
Elastic Cloud: The best way to experience everything ElasticElastic Cloud: The best way to experience everything Elastic
Elastic Cloud: The best way to experience everything ElasticElasticsearch
 
Breaking silos between DevOps and SecOps with Elastic
Breaking silos between DevOps and SecOps with ElasticBreaking silos between DevOps and SecOps with Elastic
Breaking silos between DevOps and SecOps with ElasticElasticsearch
 
Centralized logging in a changing environment at the UK’s DVLA
Centralized logging in a changing environment at the UK’s DVLACentralized logging in a changing environment at the UK’s DVLA
Centralized logging in a changing environment at the UK’s DVLAElasticsearch
 
Autoscaling: From zero to production seamlessly
Autoscaling: From zero to production seamlesslyAutoscaling: From zero to production seamlessly
Autoscaling: From zero to production seamlesslyElasticsearch
 
What's new at Elastic: Update on major initiatives and releases
What's new at Elastic: Update on major initiatives and releasesWhat's new at Elastic: Update on major initiatives and releases
What's new at Elastic: Update on major initiatives and releasesElasticsearch
 
Modernizing deployment in any environment with Elastic
Modernizing deployment in any environment with ElasticModernizing deployment in any environment with Elastic
Modernizing deployment in any environment with ElasticElasticsearch
 
Monitoring modern applications using Elastic
Monitoring modern applications using ElasticMonitoring modern applications using Elastic
Monitoring modern applications using ElasticElasticsearch
 
Elastic Observability keynote
Elastic Observability keynoteElastic Observability keynote
Elastic Observability keynoteElasticsearch
 
Observability at scale: Hear from the Elastic Cloud SRE team
Observability at scale: Hear from the Elastic Cloud SRE teamObservability at scale: Hear from the Elastic Cloud SRE team
Observability at scale: Hear from the Elastic Cloud SRE teamElasticsearch
 
Why you should use Elastic for infrastructure metrics
Why you should use Elastic for infrastructure metricsWhy you should use Elastic for infrastructure metrics
Why you should use Elastic for infrastructure metricsElasticsearch
 
Migrating to Elasticsearch Service on Elastic Cloud
Migrating to Elasticsearch Service on Elastic CloudMigrating to Elasticsearch Service on Elastic Cloud
Migrating to Elasticsearch Service on Elastic CloudElasticsearch
 
Salesforce1 Platform for programmers
Salesforce1 Platform for programmersSalesforce1 Platform for programmers
Salesforce1 Platform for programmersSalesforce Developers
 
Lightning Component - Components, Actions and Events
Lightning Component - Components, Actions and EventsLightning Component - Components, Actions and Events
Lightning Component - Components, Actions and EventsDurgesh Dhoot
 

Similar a Automating the Elastic Stack (20)

Public sector keynote
Public sector keynotePublic sector keynote
Public sector keynote
 
Elastic Security under the hood
Elastic Security under the hoodElastic Security under the hood
Elastic Security under the hood
 
Elastic, DevSecOps, and the DOD software factory
Elastic, DevSecOps, and the DOD software factoryElastic, DevSecOps, and the DOD software factory
Elastic, DevSecOps, and the DOD software factory
 
From secure VPC links to SSO with Elastic Cloud
From secure VPC links to SSO with Elastic CloudFrom secure VPC links to SSO with Elastic Cloud
From secure VPC links to SSO with Elastic Cloud
 
Get involved with the security community at Elastic
Get involved with the security community at ElasticGet involved with the security community at Elastic
Get involved with the security community at Elastic
 
Managing the Elastic Stack at Scale
Managing the Elastic Stack at ScaleManaging the Elastic Stack at Scale
Managing the Elastic Stack at Scale
 
Elastic Cloud keynote
Elastic Cloud keynoteElastic Cloud keynote
Elastic Cloud keynote
 
Elastic Cloud: The best way to experience everything Elastic
Elastic Cloud: The best way to experience everything ElasticElastic Cloud: The best way to experience everything Elastic
Elastic Cloud: The best way to experience everything Elastic
 
Breaking silos between DevOps and SecOps with Elastic
Breaking silos between DevOps and SecOps with ElasticBreaking silos between DevOps and SecOps with Elastic
Breaking silos between DevOps and SecOps with Elastic
 
Centralized logging in a changing environment at the UK’s DVLA
Centralized logging in a changing environment at the UK’s DVLACentralized logging in a changing environment at the UK’s DVLA
Centralized logging in a changing environment at the UK’s DVLA
 
Autoscaling: From zero to production seamlessly
Autoscaling: From zero to production seamlesslyAutoscaling: From zero to production seamlessly
Autoscaling: From zero to production seamlessly
 
What's new at Elastic: Update on major initiatives and releases
What's new at Elastic: Update on major initiatives and releasesWhat's new at Elastic: Update on major initiatives and releases
What's new at Elastic: Update on major initiatives and releases
 
Modernizing deployment in any environment with Elastic
Modernizing deployment in any environment with ElasticModernizing deployment in any environment with Elastic
Modernizing deployment in any environment with Elastic
 
Monitoring modern applications using Elastic
Monitoring modern applications using ElasticMonitoring modern applications using Elastic
Monitoring modern applications using Elastic
 
Elastic Observability keynote
Elastic Observability keynoteElastic Observability keynote
Elastic Observability keynote
 
Observability at scale: Hear from the Elastic Cloud SRE team
Observability at scale: Hear from the Elastic Cloud SRE teamObservability at scale: Hear from the Elastic Cloud SRE team
Observability at scale: Hear from the Elastic Cloud SRE team
 
Why you should use Elastic for infrastructure metrics
Why you should use Elastic for infrastructure metricsWhy you should use Elastic for infrastructure metrics
Why you should use Elastic for infrastructure metrics
 
Migrating to Elasticsearch Service on Elastic Cloud
Migrating to Elasticsearch Service on Elastic CloudMigrating to Elasticsearch Service on Elastic Cloud
Migrating to Elasticsearch Service on Elastic Cloud
 
Salesforce1 Platform for programmers
Salesforce1 Platform for programmersSalesforce1 Platform for programmers
Salesforce1 Platform for programmers
 
Lightning Component - Components, Actions and Events
Lightning Component - Components, Actions and EventsLightning Component - Components, Actions and Events
Lightning Component - Components, Actions and Events
 

Más de Elasticsearch

An introduction to Elasticsearch's advanced relevance ranking toolbox
An introduction to Elasticsearch's advanced relevance ranking toolboxAn introduction to Elasticsearch's advanced relevance ranking toolbox
An introduction to Elasticsearch's advanced relevance ranking toolboxElasticsearch
 
From MSP to MSSP using Elastic
From MSP to MSSP using ElasticFrom MSP to MSSP using Elastic
From MSP to MSSP using ElasticElasticsearch
 
Cómo crear excelentes experiencias de búsqueda en sitios web
Cómo crear excelentes experiencias de búsqueda en sitios webCómo crear excelentes experiencias de búsqueda en sitios web
Cómo crear excelentes experiencias de búsqueda en sitios webElasticsearch
 
Te damos la bienvenida a una nueva forma de realizar búsquedas
Te damos la bienvenida a una nueva forma de realizar búsquedas Te damos la bienvenida a una nueva forma de realizar búsquedas
Te damos la bienvenida a una nueva forma de realizar búsquedas Elasticsearch
 
Tirez pleinement parti d'Elastic grâce à Elastic Cloud
Tirez pleinement parti d'Elastic grâce à Elastic CloudTirez pleinement parti d'Elastic grâce à Elastic Cloud
Tirez pleinement parti d'Elastic grâce à Elastic CloudElasticsearch
 
Comment transformer vos données en informations exploitables
Comment transformer vos données en informations exploitablesComment transformer vos données en informations exploitables
Comment transformer vos données en informations exploitablesElasticsearch
 
Plongez au cœur de la recherche dans tous ses états.
Plongez au cœur de la recherche dans tous ses états.Plongez au cœur de la recherche dans tous ses états.
Plongez au cœur de la recherche dans tous ses états.Elasticsearch
 
Modernising One Legal Se@rch with Elastic Enterprise Search [Customer Story]
Modernising One Legal Se@rch with Elastic Enterprise Search [Customer Story]Modernising One Legal Se@rch with Elastic Enterprise Search [Customer Story]
Modernising One Legal Se@rch with Elastic Enterprise Search [Customer Story]Elasticsearch
 
An introduction to Elasticsearch's advanced relevance ranking toolbox
An introduction to Elasticsearch's advanced relevance ranking toolboxAn introduction to Elasticsearch's advanced relevance ranking toolbox
An introduction to Elasticsearch's advanced relevance ranking toolboxElasticsearch
 
Welcome to a new state of find
Welcome to a new state of findWelcome to a new state of find
Welcome to a new state of findElasticsearch
 
Building great website search experiences
Building great website search experiencesBuilding great website search experiences
Building great website search experiencesElasticsearch
 
Keynote: Harnessing the power of Elasticsearch for simplified search
Keynote: Harnessing the power of Elasticsearch for simplified searchKeynote: Harnessing the power of Elasticsearch for simplified search
Keynote: Harnessing the power of Elasticsearch for simplified searchElasticsearch
 
Cómo transformar los datos en análisis con los que tomar decisiones
Cómo transformar los datos en análisis con los que tomar decisionesCómo transformar los datos en análisis con los que tomar decisiones
Cómo transformar los datos en análisis con los que tomar decisionesElasticsearch
 
Explore relève les défis Big Data avec Elastic Cloud
Explore relève les défis Big Data avec Elastic Cloud Explore relève les défis Big Data avec Elastic Cloud
Explore relève les défis Big Data avec Elastic Cloud Elasticsearch
 
Comment transformer vos données en informations exploitables
Comment transformer vos données en informations exploitablesComment transformer vos données en informations exploitables
Comment transformer vos données en informations exploitablesElasticsearch
 
Transforming data into actionable insights
Transforming data into actionable insightsTransforming data into actionable insights
Transforming data into actionable insightsElasticsearch
 
Opening Keynote: Why Elastic?
Opening Keynote: Why Elastic?Opening Keynote: Why Elastic?
Opening Keynote: Why Elastic?Elasticsearch
 
Empowering agencies using Elastic as a Service inside Government
Empowering agencies using Elastic as a Service inside GovernmentEmpowering agencies using Elastic as a Service inside Government
Empowering agencies using Elastic as a Service inside GovernmentElasticsearch
 
The opportunities and challenges of data for public good
The opportunities and challenges of data for public goodThe opportunities and challenges of data for public good
The opportunities and challenges of data for public goodElasticsearch
 
Enterprise search and unstructured data with CGI and Elastic
Enterprise search and unstructured data with CGI and ElasticEnterprise search and unstructured data with CGI and Elastic
Enterprise search and unstructured data with CGI and ElasticElasticsearch
 

Más de Elasticsearch (20)

An introduction to Elasticsearch's advanced relevance ranking toolbox
An introduction to Elasticsearch's advanced relevance ranking toolboxAn introduction to Elasticsearch's advanced relevance ranking toolbox
An introduction to Elasticsearch's advanced relevance ranking toolbox
 
From MSP to MSSP using Elastic
From MSP to MSSP using ElasticFrom MSP to MSSP using Elastic
From MSP to MSSP using Elastic
 
Cómo crear excelentes experiencias de búsqueda en sitios web
Cómo crear excelentes experiencias de búsqueda en sitios webCómo crear excelentes experiencias de búsqueda en sitios web
Cómo crear excelentes experiencias de búsqueda en sitios web
 
Te damos la bienvenida a una nueva forma de realizar búsquedas
Te damos la bienvenida a una nueva forma de realizar búsquedas Te damos la bienvenida a una nueva forma de realizar búsquedas
Te damos la bienvenida a una nueva forma de realizar búsquedas
 
Tirez pleinement parti d'Elastic grâce à Elastic Cloud
Tirez pleinement parti d'Elastic grâce à Elastic CloudTirez pleinement parti d'Elastic grâce à Elastic Cloud
Tirez pleinement parti d'Elastic grâce à Elastic Cloud
 
Comment transformer vos données en informations exploitables
Comment transformer vos données en informations exploitablesComment transformer vos données en informations exploitables
Comment transformer vos données en informations exploitables
 
Plongez au cœur de la recherche dans tous ses états.
Plongez au cœur de la recherche dans tous ses états.Plongez au cœur de la recherche dans tous ses états.
Plongez au cœur de la recherche dans tous ses états.
 
Modernising One Legal Se@rch with Elastic Enterprise Search [Customer Story]
Modernising One Legal Se@rch with Elastic Enterprise Search [Customer Story]Modernising One Legal Se@rch with Elastic Enterprise Search [Customer Story]
Modernising One Legal Se@rch with Elastic Enterprise Search [Customer Story]
 
An introduction to Elasticsearch's advanced relevance ranking toolbox
An introduction to Elasticsearch's advanced relevance ranking toolboxAn introduction to Elasticsearch's advanced relevance ranking toolbox
An introduction to Elasticsearch's advanced relevance ranking toolbox
 
Welcome to a new state of find
Welcome to a new state of findWelcome to a new state of find
Welcome to a new state of find
 
Building great website search experiences
Building great website search experiencesBuilding great website search experiences
Building great website search experiences
 
Keynote: Harnessing the power of Elasticsearch for simplified search
Keynote: Harnessing the power of Elasticsearch for simplified searchKeynote: Harnessing the power of Elasticsearch for simplified search
Keynote: Harnessing the power of Elasticsearch for simplified search
 
Cómo transformar los datos en análisis con los que tomar decisiones
Cómo transformar los datos en análisis con los que tomar decisionesCómo transformar los datos en análisis con los que tomar decisiones
Cómo transformar los datos en análisis con los que tomar decisiones
 
Explore relève les défis Big Data avec Elastic Cloud
Explore relève les défis Big Data avec Elastic Cloud Explore relève les défis Big Data avec Elastic Cloud
Explore relève les défis Big Data avec Elastic Cloud
 
Comment transformer vos données en informations exploitables
Comment transformer vos données en informations exploitablesComment transformer vos données en informations exploitables
Comment transformer vos données en informations exploitables
 
Transforming data into actionable insights
Transforming data into actionable insightsTransforming data into actionable insights
Transforming data into actionable insights
 
Opening Keynote: Why Elastic?
Opening Keynote: Why Elastic?Opening Keynote: Why Elastic?
Opening Keynote: Why Elastic?
 
Empowering agencies using Elastic as a Service inside Government
Empowering agencies using Elastic as a Service inside GovernmentEmpowering agencies using Elastic as a Service inside Government
Empowering agencies using Elastic as a Service inside Government
 
The opportunities and challenges of data for public good
The opportunities and challenges of data for public goodThe opportunities and challenges of data for public good
The opportunities and challenges of data for public good
 
Enterprise search and unstructured data with CGI and Elastic
Enterprise search and unstructured data with CGI and ElasticEnterprise search and unstructured data with CGI and Elastic
Enterprise search and unstructured data with CGI and Elastic
 

Último

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 

Último (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 

Automating the Elastic Stack

  • 1. 1 Automating Elastic Stack Aravind Putrevu, Developer Advocate Omer Kushmaro, Product Manager
  • 2. 2 This presentation and the accompanying oral presentation contain forward-looking statements, including statements concerning plans for future offerings; the expected strength, performance or benefits of our offerings; and our future operations and expected performance. These forward-looking statements are subject to the safe harbor provisions under the Private Securities Litigation Reform Act of 1995. Our expectations and beliefs in light of currently available information regarding these matters may not materialize. Actual outcomes and results may differ materially from those contemplated by these forward-looking statements due to uncertainties, risks, and changes in circumstances, including, but not limited to those related to: the impact of the COVID-19 pandemic on our business and our customers and partners; our ability to continue to deliver and improve our offerings and successfully develop new offerings, including security-related product offerings and SaaS offerings; customer acceptance and purchase of our existing offerings and new offerings, including the expansion and adoption of our SaaS offerings; our ability to realize value from investments in the business, including R&D investments; our ability to maintain and expand our user and customer base; our international expansion strategy; our ability to successfully execute our go-to-market strategy and expand in our existing markets and into new markets, and our ability to forecast customer retention and expansion; and general market, political, economic and business conditions. Additional risks and uncertainties that could cause actual outcomes and results to differ materially are included in our filings with the Securities and Exchange Commission (the “SEC”), including our Annual Report on Form 10-K for the most recent fiscal year, our quarterly report on Form 10-Q for the most recent fiscal quarter, and any subsequent reports filed with the SEC. SEC filings are available on the Investor Relations section of Elastic’s website at ir.elastic.co and the SEC’s website at www.sec.gov. Any features or functions of services or products referenced in this presentation, or in any presentations, press releases or public statements, which are not currently available or not currently available as a general availability release, may not be delivered on time or at all. The development, release, and timing of any features or functionality described for our products remains at our sole discretion. Customers who purchase our products and services should make the purchase decisions based upon services and product features and functions that are currently available. All statements are made only as of the date of the presentation, and Elastic assumes no obligation to, and does not currently intend to, update any forward-looking statements or statements relating to features or functions of services or products, except as required by law. Forward-Looking Statements
  • 3. What’s in the API toolbox? Agenda What we’ll discuss Programmatic Use cases 3 Examples4 Elastic APIs2 1
  • 4. Agenda What we’ll discuss Programmatic Use cases1 What’s in the API toolbox?3 Examples4 Elastic APIs2
  • 5. What’s in the API toolbox? Agenda What we’ll discuss Programmatic Use cases1 3 Examples4 Elastic APIs2
  • 6. Examples Elastic APIs Agenda What we’ll discuss Programmatic Use cases1 What’s in the API toolbox?3 4 2
  • 8. Programmatic Use cases ● Spinning up cluster with desired config for a test suite. ● Pre-creating indices, index templates, ILM policies. ● Creating users, roles, doc level permissions. ● For ex: An eCommerce WebApp with ES as their Search & Analytics data store, can test their App by spinning up ES with desired config and state. Continuous Integration/Continuous Deployment
  • 10. What’s in the API box? Elastic APIs: Cloud & Stack • Deployments • Add Resources • Create/Update/Delete • Search • Monitor / Log • Traffic Filters • Extensions Elastic Cloud • Indices • Mapping • Rollup • Security • Search Elastic Stack
  • 11. 11 What’s in the API toolbox?
  • 12. What’s in the API box? Elastic Cloud on Kubernetes ● Define & Deploy stack deployments with a simple yaml file ● Pre-define applicative users ● Pre-defined CCS/CCR
  • 13. What’s in the API box? Command Line: ecctl Initializing the cli $> ecctl deployment create The basics $> ecctl deployment create --name my-deployment --es-node-topology '{"size": "1g", "zone_count": 2, "node_type": "data"}' --es-node-topology '{"size": "1g", "zone_count": 1, "node_type": "ml"}' Customizing a deployment $> ecctl init ● Great for bash friendly systems ● Easy to operate ● Works with: ○ Elasticsearch Service ○ Elastic Cloud Enterprise ● Open Sourced ○ elastic/ecctl
  • 14. What’s in the API box? Cloud SDK public static DeploymentCreateResponse createESSCluster() throws ApiException { ApiClient essClient = new ApiClient(); essClient.setApiKey(apiKey); Configuration configuration = new Configuration(); configuration.setDefaultApiClient(essClient); DeploymentsApi deploymentsApi = new DeploymentsApi(); DeploymentCreateRequest deploymentCreateRequest = new DeploymentCreateRequest(); deploymentCreateRequest.setName("enterprise-search"); deploymentCreateRequest.setResources(getDeploymentCreateResources() ); return deploymentsApi.createDeployment(deploymentCreateRequest,"test",true ); } ● An Open API Spec based SDK Available SDKs ● elastic/cloud-sdk-go ● Java SDK
  • 15. What’s in the API box? Coming soon: Terraform resource "ec_deployment" "example_minimal" { name = "my_example_deployment" # Optional region = "us-east-1" version = "7.8.0" deployment_template_id = "aws-io-optimized" elasticsearch { topology { instance_configuration_id = "aws.data.highio.i3" } } kibana { topology { instance_configuration_id = "aws.kibana.r4" } } } ● An official terraform provider ● Still in early development stages ● Multi-Cloud enabled ● Enables you to manage Infrastructure as code Open Sourced - elastic/terraform-provider-ec
  • 17. Elastic Cloud Control $ecctl # Simply install using brew on macOS $> brew tap elastic/tap $> brew install elastic/tap/ecctl # initialize by providing authentication info $> ecctl init # list existing deployments $> ecctl deployment list # Create deployment $> ecctl deployment create --name elasticon --kibana-size 2g --apm --apm-size 0.5g # Delete deployment $> ecctl deployment shutdown $DEPLOYMENT_ID ● Installation ○ Using homebrew for macOS ● Initialize using Elastic Cloud API Key. ● Create/List/Delete deployments. ● Github: elastic/ecctl
  • 18. Terraform Example Creating a deployment Step-by-Step ● Clone the git repository ○ Soon to be available in Hashicorp’s registry ● Build & set up the provider ● Initialize terraform ● Apply the configuration ● Auto-run a script to pre-create indices ● What configuration will we be applying? # Clone the repository locally $> git clone https://github.com/elastic/terraform-provider-ec.git # build the provider, and install it locally $> make install # Initialize terraform $> terraform init # Apply configuration $> terraform apply
  • 19. Terraform Example Provider & Terraform configuration ● Provider configuration ○ The provider defaults to Elasticsearch Service, but works with ECE as well ● If you use Elasticsearch Service, all you need is an API key ● For ECE, specify the ECE API endpoint. terraform { required_version = ">= 0.12" required_providers { # Our previously built provider ec = { source = "elastic/ec" } } } provider "ec" { # This defaults to the ESS API endpoint if omitted. endpoint = "https://api.elastic-cloud.com" # Recommended authentication, required for ESS apikey = "<an_api_key>" # ECE users can use a user / password combination username = "a_username" password = "a_password" # Optional fields: provider version version = "~> 2.0" }
  • 20. Terraform Example Deployment definition resource "ec_deployment" "example_minimal" { name = "my_example_deployment" region = "us-east-1" version = "7.9.1" deployment_template_id = "aws-io-optimized-v2" traffic_filter = [ec_traffic_filter.allow_all.id] elasticsearch { topology { instance_configuration_id = "aws.data.highio.i3" memory_per_node = "8g" } config { user_settings_yaml = file("./es_settings.yml") } } kibana { topology { instance_configuration_id = "aws.kibana.r5d" memory_per_node = "1g" } } } ● Elasticsearch topology section determines nodes topology: ○ Node types ■ Data ■ Master ■ Ingest ■ ML ○ Memory per node ○ Instance Configuration ● Kibana, Enterprise Search, APM supported ● Traffic filters
  • 21. Terraform Example Traffic Filters ● Supports both IP and VPC ● Supports multiple rule sets per single resource ● Can be set to be applied automatically to all deployments resource "ec_deployment_traffic_filter" "allow_all" { name = "Allow All IP Addresses" region = "us-east-1" type = "ip" rule { source = "0.0.0.0/0" } }
  • 22. Terraform Example Init script ● “Null resource” executes a local script (not related to the ec provider) ● Template_file uses the values generated by our created ec_deployment resource, and injects them into a simple bash script ○ elastic-user ○ elastic-password ○ es-url resource "null_resource" "bootstrap-elasticsearch" { provisioner "local-exec" { command = data.template_file.elasticsearch-configuration.rendered } } data template_file elasticsearch-configuration { template = file(es_config.sh) depends_on = [ec_deployment.example_minimal] vars = { elastic-user = ec_deployment.example_minimal.elasticsearch_username elastic-password = ec_deployment.example_minimal.elasticsearch_password es-url = ec_deployment.example_minimal.elasticsearch[0].https_endpoint } }
  • 23. Terraform Example Demo Time! Let’s run our example terraform code!