Building a Search Engine on GKE Aravind Putrevu @aravindputrevu | aravind.dev 1

{ “name”: “Aravind Putrevu”, “title”: “Developer Advocate”, “company”: “Elastic”, “personal_website”: “aravind.dev”, “social_media”: { “twitter”: “@aravindputrevu”, “linkedin”: “Aravind Putrevu” } } 2

Search is a constant/foundation 3

4

5

6

7

Users across various industries, segments, and geographies TECHNOLOGY 8 FINANCE TELCO CONSUMER HEALTHCARE PUBLIC SECTOR AUTOMOTIVE / TRANSPORTATION RETAIL

Search is a constant/foundation

Elastic Stack aka ELK 10

Elastic Stack SOLUTIONS Kibana Visualize & Manage Elasticsearch Store, Search, & Analyze Elastic Stack Beats SaaS Elastic cloud 11 Logstash SELF-MANAGED Elastic cloud Enterprise Standalone Ingest

Elasticsearch Heart of the Elastic Stack Distributed, Scalable High-availability Multi-tenancy Developer Friendly Real-time, Full-text Search Aggregations 1 2

apps meta content Index

apps meta content Shards

Deploying Search… 15

Where to deploy? Self-managed 16 Cloud Infra Managed Service

17

$> docker pull elasticsearch 18

19

20 ● Open-sourced by Google ● Undisputed leader in Container Orchestration ● Go to platform for Microservices based architecture ● Google’s Kubernetes Engine

Kubernetes architecture etcd apiserver apiserver apiserver Controllers Controllers Controllers controllers user kubelet Node 21 kubelet Node kubelet Node

22

github.com/elastic/cloud-on-k8s 23

● Custom Resources Definitions (CRD) ○ Elastic Cloud on Kubernetes 24 Elasticsearch, Kibana, APM ● A set of controllers ● Automate Tasks ○ Generate TLS certificates ○ Create Secrets holding configuration & certs ○ Create a Service to access the cluster ○ Create ES users

Few Commands $> kubectl apply -f https://download.elastic.co/downloads/eck/0.9.0/all-in-one.yaml $> cat <<EOF | kubectl apply -f apiVersion: elasticsearch.k8s.elastic.co/v1alpha1 kind: Elasticsearch metadata: name: quickstart spec: version: 7.2.0 nodes: - nodeCount: 1 config: node.master: true node.data: true node.ingest: true EOF 25

26

Questions? 27

ela.st/eck-gke 28