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

VMware Cloud Disaster Recovery (VCDR): ทางเลือกในการวางระบบ DR ที่รวดเร็วและง่ายดาย พร้อมให้บริการแล้วโดย Yip In Tsoi

เพื่อช่วยให้ธุรกิจไทยสามารถออกแบบ วางระบบ และใช้งานระบบ Disaster Recovery หรือ DR ได้อย่างมีประสิทธิภาพและง่ายดาย VMware และ Yip In Tsoi จึงร่วมมือกันเพื่อนำเสนอโซลูชัน VMware Cloud Disaster Recovery ซึ่งเป็นบริการ Cloud DR ในแบบ SaaS ที่ใช้งานได้ง่าย คิดค่าใช้จ่ายตามการใช้งานจริง และรองรับระบบได้ทุกขนาด ทำให้ไม่ว่าจะเป็นธุรกิจขนาดเล็กหรือองค์กรขนาดใหญ่ที่ใช้งาน VMware อยู่ก็สามารถทำ DR ได้อย่างง่ายดายในเวลาอันรวดเร็ว

แจกฟรี Ebook ‘Linux Security Fundamentals’

สำหรับผู้ดูแลระบบหรือผู้สนใจเรื่องของ Linux Security วันนี้เรามี Ebook ดีๆมาแจกกัน