[Guest Post] รู้จักกับ Microservices โดย VMware

ปัจจุบันเราไม่สามารถปฏิเสธได้ว่าเทคโนโลยีเป็นส่วนสำคัญที่ทำให้หลายๆองค์กรเติบโต การเลือกใช้เทคโนโลยีต่างๆในการพัฒนา application จึงมีความสำคัญต่อการเติบโตของธุรกิจ เมื่อความต้องการของผู้ใช้งานและธุรกิจเปลี่ยนไป องค์กรจึงออกแผนกลยุทธ์เพื่อตอบโจทย์ความต้องการนั้นๆ องค์กรที่สามารถพัฒนา application ที่ตอบโจทย์ความต้องการของผู้ใช้ออกสู่ตลาดได้อย่างรวดเร็วด้วยกลยุทธ์การตลาดที่แก้ไขปัญหาอย่างถูกจุด จะทำให้ได้เปรียบองค์กรอื่นๆที่ไม่สามารถพัฒนา application ตามกลยุทธ์ที่วางไว้ออกสู่ตลาดได้อย่างทันท่วงที

Microservices คืออะไร

Microservices คือ สถาปัตยกรรมการออกแบบ application เป็น service ขนาดย่อย ซึ่งมีคุณสมบัติหลัก คือ Loosely coupled และ bounded contexts ซึ่งหมายความว่า แต่ละ service จะไม่ขึ้นกับ service อื่นๆรอบข้าง และ ประกอบไปด้วยการพัฒนา service ที่เป็นส่วนหนึ่งของ application ขนาดใหญ่ เมื่อมีการพัฒนา application ในรูปแบบของ microservices ทีมผู้พัฒนา application (developer) แต่ละทีมจะสามารถใช้เทคโนโลยี และ framework รวมถึงภาษาในการพัฒนา application  ตามที่ตนเองถนัดได้ ขั้นตอนการทำงานต่างๆรวมไปถึงการหาจุดที่มีปัญหาจะสามารถทำได้ง่ายขึ้นและรวดเร็ว ดังนั้นการพัฒนา features ต่างๆเพื่อตอบโจทย์ความต้องการของลูกค้าและตลาด จะสามารถส่งมอบให้ผู้ใช้งานได้เข้ามาใช้งานได้อย่างรวดเร็วกว่าการพัฒนา application แบบ monolith

คุณสมบัติของ microservice มีดังนี้

  • Stand alone

Service แยกออกจากกันทำให้สามารถ deploy และ scale เพื่อรองรับ user, workload จำนวนมากได้ง่าย

  • ขนาดเล็ก

Application แบ่งออกเป็น service ขนาดเล็กที่แยกออกจากกัน

  • มีที่เก็บข้อมูลของตัวเอง

แต่ละ service มี database เป็นของตัวเอง ทำให้ทำงานแยกกันได้อย่างแท้จริง

Why microservices?

1.) ทีมสามารถตอบโจทย์ความต้องการของลูกค้าได้อย่างรวดเร็ว

ไม่ติดปัญหาในเรื่องของการ release application ที่มีขนาดใหญ่ (monolith architecture)

2.) ทีมสามารถทำงานร่วมกันได้อย่างมีประสิทธิภาพ

มีการใช้หลักการของ Agile และ DevOps ทำให้พัฒนา application ร่วมกันได้อย่างดี

3.) Scalability and Reliability

Scale เพื่อรองรับ User และ Workload จำนวนมากได้ หาก service ใดมีปัญหาจะไม่ส่งผลกระทบต่ออีก service นึง

Microservices vs. Traditional Architecture

Microservices ArchitectureTraditional Architecture (Monolith)
Single focus Service ถูกสร้างขึ้นมาเพื่อจุดประสงค์เดียวในการทำงานนั้นๆ เช่น payment service, catalog serviceWide focus
Software packaged ถูกรวมเข้าด้วยกันเพื่อทำงานที่มีจุดประสงค์ที่หลากหลาย ทำให้โค้ดมี dependencies ต่อกัน จัดการได้ยาก
Continuously delivered
มีการ deploy application ผ่าน CI/CD pipeline ได้แบบอัตโนมัติ ทำให้ deploy ได้รวดเร็ว ตอบโจทย์ business
Scheduled delivered
Deploy application ตามกำหนดการที่ตั้งขึ้น ส่วนใหญ่จะ deploy เป็น quarterly หรือ annually
Independent teams responsible for each service
แต่ละทีมรับผิดชอบในการพัฒนา service ของตัวเอง
Has many teams
ทีม dev พัฒนาในส่วนของ application เดียวกัน หลังจากนั้นส่งต่อให้ทีม operation ทำหน้าที่ในการ maintain
Design patterns
Microservice architecture มีการใช้ service discovery, network routing, failure detection และ logging
Siloed tools and processes
Focused แต่ในส่วน development stages, QA และการ release ขึ้น production

เมื่อไหร่ควรเปลี่ยนไปพัฒนา application แบบ microservices

  1. Application มีการเปลี่ยนแปลงบ่อย และต้องการที่จะ release ให้รวดเร็ว
  2. ต้องการ scale เพื่อรองรับ user/workload จำนวนมาก
  3. แต่ละทีมที่พัฒนา service ต้องการใช้ technology ที่แตกต่างกันในการพัฒนา application

References: https://tanzu.vmware.com/microservices

Learn more:

Build Apps and Microservices:

https://www.vmware.com/cloud-solutions/app-modernization/cloud-native-apps.html

Evolve Existing Apps:

https://www.vmware.com/cloud-solutions/app-modernization/existing-apps.html

Cloud Transformation – A Three-Part Story:

https://blogs.vmware.com/vsphere/2021/06/cloud-transformation-a-three-part-story.html

Author:

Chutima Kitcharoenpaisan

Associate Solution Engineer

VMware Thailand

About nattakon

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

Check Also

จีเอเบิล ชี้ 3 Mega Trend ไอที เปลี่ยนโฉมธุรกิจองค์กรไทย พร้อมเป็น Tech Enabler ขับเคลื่อนองค์กรสู่อนาคต [PR]

ในยุคที่ธุรกิจองค์กรแข่งขันกันด้วยความเร็ว เพื่อให้ได้ผลลัพธ์และผลกำไรที่มากขึ้น การลดต้นทุนและการเพิ่มประสิทธิภาพในการทำงานที่เพิ่มขึ้น เป็นสิ่งที่เจ้าของธุรกิจรวมถึงผู้บริหารระดับสูงในธุรกิจองค์กรต่างๆ กำลังมองหา เพราะการดำเนินธุรกิจองค์กรในสถานการณ์ปัจจุบัน จำเป็นอย่างยิ่งที่จะต้องสร้าง Competitive Advantage เพื่อเป็นฐานในการสร้างการเติบโตอย่างยั่งยืน ซึ่งแน่นอนว่าอาวุธที่เป็นฟันเฟืองสำคัญในการผลักดันให้เกิดการเติบโตอย่างยั่งยืน นอกจากการพัฒนาคนในองค์กรให้เรียนรู้ทักษะด้านเทคโนโลยีอยู่เสมอ การเลือกใช้เทคโนโลยีที่ตรงกับกระแสทิศทางเทรนด์ได้อย่างถูกต้องเหมาะสมและตอบโจทย์ในการสร้างผลกำไรของแต่ละธุรกิจองค์กรในทุกภาคอุตสาหกรรมก็เป็นหัวใจสำคัญไม่แพ้กัน

อาลีบาบา คลาวด์ เปิด ดาต้าเซ็นเตอร์ แห่งที่สองในประเทศไทยมาพร้อมกลุ่มผลิตภัณฑ์หลากหลายเพื่อรองรับ Generative AI และโซลูชันเฉพาะทางสำหรับแต่ละอุตสาหกรรม [PR]

อาลีบาบา คลาวด์ ธุรกิจด้านเทคโนโลยีดิจิทัลและหน่วยงานหลักด้านอินเทลลิเจนซ์ของอาลีบาบา กรุ๊ป ประกาศเปิดตัวดาต้าเซ็นเตอร์แห่งที่สองในประเทศไทย มุ่งเพิ่มสมรรถนะในการตอบสนองความต้องการบริการคลาวด์คอมพิวติ้งที่เพิ่มขึ้นในประเทศไทย โดยเฉพาะเพื่อรองรับแอปพลิเคชัน generative AI และสนับสนุนนโยบายของรัฐบาลไทยที่มุ่งส่งเสริมนวัตกรรมดิจิทัลและการพัฒนาเทคโนโลยีที่นำสู่ความยั่งยืน