
ในวันที่ 12 มกราคม 2015 ทาง Google Cloud Platform
ได้เปิดความสามารถใหม่ออกมา นั่นก็คือ Click to deploy Elasticsearch
ซึ่งทำงานบน Google Compute Engine นั่นเอง
โดยสามารถทำการติดตั้งได้อย่างง่ายดาย
มาดูกันหน่อยว่ามันง่ายจริงไหม ?
คร่าวๆ กับ Elasticsearch
ในช่วงไม่กี่ปีที่ผ่านมา Elasticsearch ถูก download ไปใช้งานมากกว่า 10 ล้านครั้ง
มันถูกสร้างขึ้นมาเพื่อตอบโจทย์ความต้องการในเรื่องของ
- การค้นหาข้อมูลที่มีขนาดใหญ่
- การวิเคราะห์ข้อมูลที่มีขนาดใหญ่
สามารถดู case study ระบบที่นำ Elasticsearch ไปใช้งานได้
ตัวอย่างเช่น
- Github ใช้สำหรับเก็บข้อมูล sourcecode สำหรับการค้นหากว่า 2 พันล้านเอกสาร
- Soundcloud ใช้เก็บข้อมูลการใช้งานของสมาชิกกว่า 40 ล้านคน
แต่ถ้าคุณยังไม่เคยรู้จัก Elasticsearch เลย
ก็ควรทำความรู้จักบ้างนะ เช่น
- สร้างอยู่บน Apache Lucene
- ออกแบบมาเพื่อทำงานบนระบบ Cloud นั่นคือเรื่อง cluster และการ discovery และ high availability มันทำได้ง่ายมาก
- ใช้ JSON over HTTP เป็นรูปแบบข้อมูลที่เรียบง่าย และนักพัฒนาชอบมากกว่า XML เยอะเลย
ยังไม่พอมันยังมีระบบอื่นๆ ที่เกี่ยวข้องอีกเช่น
- Logstash สำหรับการประมวลผล และ วิเคราะห์ข้อมูลพวก log ต่างๆ
- Kibana สำหรับการแสดงผลข้อมูลแบบ Visualization อย่างง่าย
โดยเมื่อนำทั้ง Elasticsearch, Logstash และ Kibana มารวมกัน
จึงเรียกมันว่า ELK Stack นั่นเอง
กลับมาที่การใช้งาน Elasticsearch บน Google Compute Engine กันบ้าง
มีขั้นตอนการใช้งานดังนี้
1. ทำการใช้งาน Elasticseach click-to-deploy ใน Google Developers Console
แล้วทำการเลือก Project ที่ต้องการติดตั้ง ดังรูป

2. จากนั้นทำการ Deploy Elasticsearch เพื่อใช้งานดังรูป

3. ทำการเลือก spec ต่างๆ ของ Elasticsearch Cluster ซะ
ผมเลือกไป 3 node ใน cluster นี้

ในส่วนของ Advanced options นั้นก็ให้กำหนดค่าต่างๆ ของ cluster ดังนี้
- ชนิดของ Harddisk
- ขนาดของ Harddisk
- ชื่อ cluster

4. จากนั้นทำการกดปุ่ม Deploy cluster ก็เริ่มการติดตั้งระบบ Elasticseach ดังรูป

5. เมื่อทำการ Deploy เสร็จแล้ว เราสามารถดูข้อมูลต่างๆ ได้ดังนี้

6. ทำการทดลองใช้งานผ่าน ssh ดังนี้
$gcloud compute --project "up1" ssh --zone "asia-east1-a" "elasticsearch-tk6g"
สิ่งที่ต้องใส่มาก็คือ
- ชื่อ project
- ชื่อ zone ของ server
- ชื่อ instance ของ Elasticsearch
7. ทำการทดสอบดูสถานะของ Elasticsearch server ด้วยคำสั่ง
$curl -XGET http://localhost:9200
ผลที่ได้คือ

เพียงเท่านี้
เราก็ทำการติดตั้ง Elasticsearch บน Google Compute Engine เรียบร้อยครับ
ต่อจากนั้นคือการนำข้อมูลเข้าไปเพื่อค้นหา และ วิเคราะห์แล้วครับ
ง่ายจริงๆ
ปล. ในช่วงทดลองใช้ทาง Google ให้เงินเรามา 300$ ภายใน 60 วันนะครับ ลองใช้ดูขำๆ กันดู