มารู้จักกับ 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

พบ 47 หัวข้อสัมมนาด้าน Cybersecurity และ Data Privacy ในงาน NCSA Thailand National Cyber Week 2023 วันที่ 17 – 18 กุมภาพันธ์ ณ สามย่านมิตรทาวน์

สำนักงานคณะกรรมการการรักษาความมั่นคงปลอดภัยไซเบอร์แห่งชาติ (สกมช.) ขอเชิญเหล่าผู้บริหารและผู้ปฏิบัติงานด้าน Cybersecurity รวมถึงนักเรียนนักศึกษาและประชาชนที่สนใจ เข้าร่วมสัมมนาและฟังบรรยายในงาน Cybersecurity Expo ระดับชาติ “Thailand National Cyber Week 2023” เพื่อแลกเปลี่ยนความรู้และอัปเดตเทรนด์ด้าน …

รายงาน Global Digtial 2023 ที่คนไทยเป็นอันดับต้น ๆ ในหลายด้าน แล้วเราควรวางแผนลงทุนไอทีอย่างไร

ทุก ๆ ปี We are social ซึ่งเป็นเอเจนซีทางด้านโซเชียลมีเดีย จะทำรายงานประจำเกี่ยวกับสรุปสถิติการใช้เทคโนโลยีดิจิทัลทั่วโลก โดยรวบรวมข้อมูลจากแหล่งต่าง ๆ ทั้งอัตราการใช้อินเทอร์เน็ต อุปกรณ์ที่ผู้ใช้ใช้เพื่อเข้าถึงเนื้อหาและบริการดิจิทัล พฤติกรรมการใช้อินเทอร์เน็ต การใช้สื่อสังคมออนไลน์ การใช้แอพพลิเคชันต่าง …