Screen Shot 2558-01-17 at 10.06.18 PM
ในวันที่ 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 ที่ต้องการติดตั้ง ดังรูป
Screen Shot 2558-01-17 at 9.33.04 PM

2. จากนั้นทำการ Deploy Elasticsearch เพื่อใช้งานดังรูป
Screen Shot 2558-01-17 at 9.32.21 PM

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

Screen Shot 2558-01-17 at 9.34.19 PM

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

  • ชนิดของ Harddisk
  • ขนาดของ Harddisk
  • ชื่อ cluster

Screen Shot 2558-01-17 at 9.35.35 PM

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

Screen Shot 2558-01-17 at 9.38.37 PM

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

Screen Shot 2558-01-17 at 9.43.31 PM

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

ผลที่ได้คือ

Screen Shot 2558-01-17 at 9.49.49 PM

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

ปล. ในช่วงทดลองใช้ทาง Google ให้เงินเรามา 300$ ภายใน 60 วันนะครับ ลองใช้ดูขำๆ กันดู