CDIC 2023

มารู้จักกับ Service Mesh กันเถอะ!

หลายคนคงเคยได้ยินคำว่า ‘Service Mesh’ มาบ้างแล้ว แต่ความหมายจริงๆ และประโยชน์ของสิ่งนี้คืออะไรกันแน่ มาหาคำตอบกันในบทความนี้ได้เลยครับ

ในการทำงานของแอปพลิเคชันประเภท Microservices นั้นต้องการ Network Infrastructure ที่ตอบสนองได้อย่างรวดเร็วและน่าเชื่อถือ นอกจากนี้ทีม DevOps เองก็ต้องการความคล่องตัวและไม่อยากพึ่งพาทีม Network ของดาต้าเซนเตอร์ซึ่งจะขัดแย้งการทำงานของพวกเขา อย่างไรก็ดีคอนเซปต์ Microservices ยังพัวพันกับ Service มากมายแม้จากแอปพลิเคชันตัวเดียวหรือมีการเรียก Service ข้ามจากแอปอื่น ทั้งนี้แอปที่อยู่ใน Container ยังสามารถย้ายข้ามเซิร์ฟเวอร์ไปมาได้ตลอดเวลา ไม่เพียงเท่านั้นการสื่อสารผ่าน API ก็เกิดขึ้นบ่อยและสร้างแบนวิธด์ไม่น้อย ด้วยเหตุนี้เองการสื่อสารของ Microservices จึงควรมี Latency ต่ำ, น่าเชื่อถือ, มั่นคงปลอดภัย และตอบสนองได้รวดเร็วนั่นเอง ด้วยเหตุนี้เองจึงนำไปสู่เรื่องราวของ Service Mesh

Service Mesh คืออะไรกันแน่?

Service Mesh เป็นเลเยอร์หนึ่งที่ช่วยจัดการการสื่อสารระดับเครือข่ายระหว่าง API Service ในแอปพลิเคชัน โดยเลเยอร์ตรงนี้ก็คือซอฟต์แวร์นั่นเอง สำหรับการ Implement เทคโนโลยี Service Mesh จะมีการใช้ Proxy Instance (Sidecar) มาคอยทำหน้าที่ Route หรือเป็น Proxy ให้ Container หรือกล่าวคือการมาคั่นเพื่อจัดการทราฟฟิคที่วิ่งเข้า/ออกจาก Instance หรือ Pod นั้นๆ นอกจากนี้ยังมีการแบ่งระดับเป็นส่วนตัวควบคุม (Controller) มาให้บริการ API, CLI และ GUI ในการบริหารจัดการแอปได้ ส่วน Data Plan จะคอยบริหารจัดการทราฟฟิคระหว่าง Instance ภายในตามรูปประกอบด้านล่าง

credit : nginx

ความสามารถของ Service Mesh และการนำไปใช้จริงในดาต้าเซนเตอร์

Service Mesh มักจะนำเสนอความสามารถหลักๆ ไว้ดังนี้

  • Load Balancing
  • Authentication
  • Authorization
  • Encryption
  • Service Discovery (ทำ DNS Lookup เพื่อดูสถานะของ Service)
  • Observability
  • Traceability

การประยุกต์ใช้งาน Service Mesh นั้นมีความสำคัญกับการทำ Microservices ไม่น้อย แต่ก็ค่อนข้างยุ่งยากเช่นกัน เพราะองค์กรจะต้องผนวกเทคโนโลยีนี้เข้ากับระบบ Automation ที่ช่วยบริหารจัดการ Infrastructure ให้ได้ อีกทั้งจะต้องพิจารณาก่อนว่ามีคลาวด์ใด Open Source ใด หรือสนใจเรื่อง Option อะไรของ Service Mesh อย่างไร เพราะผู้ใช้งานสามารถเลือกเอาแค่ที่สนใจไปใช้ได้

คำว่า Service Mesh เป็นเพียงคำเรียกเทคโนโลยีเท่านั้นแต่ผลิตภัณฑ์ที่เกิดขึ้นจริงในท้องตลาดที่มักได้ยินก็คือ Istio ซึ่งเป็น Open Source จากการสนับสนุนของ Google, IBM และ Lyft (ในมุมกลับคือ Istio รองรับ Container Orchestrator เพียงตัวเดียวก็คือ Kubernetes) แต่อันที่จริงแล้วก็มีโปรเจ็ค Open Source อื่นของ Service Mesh เช่น Linkerd, HAProxy, Envoy,Buoyant, HashiCorp, Solo.io และอีกมากมาย อย่าง Azure Service Fabric ก็มีการนำเสนอฟังก์ชันคล้ายกับ Service Mesh ใน Application Framework ด้วยเช่นกัน

ที่มา : https://www.networkworld.com/article/3584758/what-is-a-service-mesh-what-it-means-to-data-center-networking.html และ https://www.nginx.com/blog/what-is-a-service-mesh/


About nattakon

จบการศึกษา ปริญญาตรีและโท สาขาวิศวกรรมคอมพิวเตอร์ KMITL เคยทำงานด้าน Engineer/Presale ดูแลผลิตภัณฑ์ด้าน Network Security และ Public Cloud ในประเทศ ปัจจุบันเป็นนักเขียน Full-time ที่ TechTalkThai

Check Also

5 เครื่องมือโอเพ่นซอร์สสแกนหาช่องโหว่

หลายท่านอาจคงมีเครื่องมือการสแกนหาช่องโหว่อยู่แล้วในมุมมองต่างๆ แต่ในบทความนี้เราขอพาทุกท่านไปรู้จักกับ 5 เครื่องมือฟรี ที่ช่วยตอบโจทย์การค้นหาช่องโหว่

เดลล์ เทคโนโลยีส์ เปิดตัว Dell APEX Cloud Platform for Microsoft Azure ส่งมอบนวัตกรรมไฮบริดคลาวด์สำหรับองค์กร [Guest Post]

เดลล์ เทคโนโลยีส์ ประกาศความพร้อมของ Dell APEX Cloud Platform for Microsoft ระบบเทิร์นคีย์แบบบูรณาการที่ได้รับการพัฒนาขึ้นด้วยความร่วมมือกับไมโครซอฟท์ เพื่อเสริมเพิ่มเติมประสบการณ์ Microsoft Azure ไฮบริดคลาวด์ ไปยังสภาพแวดล้อมของดาต้าเซ็นเตอร์และระบบเอดจ์ปลายทาง