สถาปัตยกรรมที่มุ่งเน้นบริการคืออะไร

สถาปัตยกรรมที่มุ่งเน้นบริการ (SOA) เป็นวิธีการพัฒนาซอฟต์แวร์ที่ใช้ส่วนประกอบซอฟต์แวร์ที่เรียกว่าการบริการเพื่อสร้างแอปพลิเคชันสำหรับธุรกิจ บริการแต่ละอย่างเพิ่มขีดความสามารถทางธุรกิจ และยังสามารถสื่อสารระหว่างกันทั่วทั้งแพลตฟอร์มในภาษาต่างๆ นักพัฒนาใช้ SOA เพื่อนำการบริการจากระบบอื่นมาใช้ซ้ำ หรือรวบรวมการบริการอิสระหลายๆ บริการ เพื่อการดำเนินงานที่ซับซ้อน

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

สถาปัตยกรรมที่มุ่งเน้นบริการมีประโยชน์อย่างไร

สถาปัตยกรรมที่มุ่งเน้นบริการ (SOA) มีประโยชน์มากกว่าสถาปัตยกรรมทั่วไปแบบดั้งเดิมซึ่งกระบวนการทั้งหมดทำงานเป็นหน่วยเดียว ประโยชน์ที่สำคัญบางประการของ SOA ได้แก่

ออกสู่ตลาดได้เร็วขึ้น

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

การบำรุงรักษาอย่างมีประสิทธิภาพ

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

สามารถปรับใช้ได้มากกว่า

SOA สามารถปรับให้เข้ากับความก้าวหน้าทางเทคโนโลยีได้มากกว่า คุณสามารถปรับปรุงแอปพลิเคชันของคุณให้ทันสมัยได้อย่างมีประสิทธิภาพและคุ้มค่า ตัวอย่างเช่น องค์กรด้านการดูแลสุขภาพสามารถใช้ฟังก์ชันการทำงานของระบบบันทึกข้อมูลสุขภาพอิเล็กทรอนิกส์แบบเก่าในแอปพลิเคชันบนระบบคลาวด์ที่ใหม่กว่า

 

หลักการพื้นฐานของสถาปัตยกรรมที่มุ่งเน้นบริการคืออะไร

ไม่มีแนวทางมาตรฐานที่ชัดเจนสำหรับการนำสถาปัตยกรรมที่มุ่งเน้นบริการ (SOA) ไปใช้งาน อย่างไรก็ตาม ก็มีหลักการพื้นฐานบางอย่างในการใช้งาน SOA

ความสามารถในการทำงานร่วมกัน

แต่ละบริการใน SOA จะมีเอกสารคำอธิบายที่ระบุการทำงานของบริการและข้อกำหนดและเงื่อนไขที่เกี่ยวข้อง ระบบไคลเอ็นต์ใดๆ ก็สามารถเรียกใช้บริการได้ โดยไม่ต้องคำนึงถึงแพลตฟอร์มพื้นฐานหรือภาษาโปรแกรม ตัวอย่างเช่น กระบวนการทางธุรกิจสามารถใช้บริการที่เขียนได้ทั้งในภาษา C# และ Python เนื่องจากไม่มีการโต้ตอบโดยตรง การเปลี่ยนแปลงในบริการหนึ่งๆ จึงไม่ส่งผลต่อส่วนประกอบอื่นๆ ที่ใช้บริการ

การเชื่อมโยงแบบ Loose Coupling

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

การกำหนดสาระสำคัญ

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

ส่วนประกอบ

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

สถาปัตยกรรมที่มุ่งเน้นบริการประกอบดัวยอะไรบ้าง

สถาปัตยกรรมที่มุ่งเน้นบริการ (SOA) ประกอบด้วยสี่องค์ประกอบหลักๆ

บริการ

บริการเป็นบล็อกการสร้างพื้นฐานของ SOA ซึ่งสามารถเป็นแบบส่วนตัว ใช้ได้เฉพาะกับผู้ใช้ภายในขององค์กรหรือสาธารณะ ทุกคนเข้าถึงได้ทางอินเทอร์เน็ต แต่ละบริการมีคุณสมบัติหลักสามประการ

การใช้งานบริการ
การใช้งานบริการคือโค้ดที่สร้างตรรกะสำหรับการดำเนินการบริการโดยเฉพาะ เช่น การตรวจสอบผู้ใช้หรือการคำนวณบิล

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

ผู้ให้บริการ

ผู้ให้บริการสร้าง บำรุงรักษา และให้บริการอย่างน้อยหนึ่งบริการที่ผู้อื่นสามารถใช้ได้ องค์กรสามารถสร้างบริการของตนเอง หรือซื้อจากผู้ให้บริการบุคคลที่สามก็ได้

ผู้ใช้บริการ

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

รีจิสทรีบริการ

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

สถาปัตยกรรมที่มุ่งเน้นบริการทำงานอย่างไร

ในสถาปัตยกรรมที่มุ่งเน้นบริการ (SOA) บริการจะทำงานโดยอิสระ และให้ฟังก์ชันการทำงานหรือการแลกเปลี่ยนข้อมูลแก่ผู้บริโภค ผู้บริโภคร้องขอข้อมูลและส่งข้อมูลอินพุดเข้าไปยังบริการ บริการทำการประมวลผลข้อมูล ทำงานให้สำเร็จ และส่งการตอบกลับ ตัวอย่างเช่น หากแอปพลิเคชันใช้บริการการให้สิทธิ์ มันจะให้บริการชื่อผู้ใช้และรหัสผ่าน บริการจะตรวจสอบชื่อผู้ใช้ รหัสผ่านและส่งคืนการตอบกลับที่เหมาะสม

โปรโตคอลการสื่อสาร

บริการจะสื่อสารโดยใช้กฎที่กำหนดไว้ ซึ่งกำหนดการรับส่งข้อมูลผ่านเครือข่าย กฎต่างๆ เหล่านี้เรียกว่าโปรโตคอลการสื่อสาร โปรโตคอลมาตรฐานบางตัวในการใช้ SOA มีดังต่อไปนี้

• Simple Object Access Protocol (SOAP)
* RESTful HTTP
• Apache Thrift
• Apache ActiveMQ
• Java Message Service (JMS)

คุณยังสามารถใช้โปรโตคอลได้มากกว่าหนึ่งโปรโตคอลในการใช้งาน SOA ของคุณ

ESB ในสถาปัตยกรรมที่มุ่งเน้นบริการคืออะไร

Enterprise Service Bus (ESB) เป็นซอฟต์แวร์ที่คุณสามารถใช้เมื่อสื่อสารกับระบบที่มีบริการหลายอย่าง มันสร้างการสื่อสารระหว่างบริการและผู้ใช้บริการไม่ว่าจะเป็นเทคโนโลยีอะไรก็ตาม  

ประโยชน์ของ ESB

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

ข้อจำกัดในการใช้งานสถาปัตยกรรมที่มุ่งเน้นบริการมีอะไรบ้าง

มีความสามารถจำกัดในการเพิ่มทรัพยากร

ความสามารถในการเพิ่มทรัพยากรของระบบได้รับผลกระทบอย่างมากเมื่อบริการใช้ทรัพยากรร่วมกันและจำเป็นต้องประสานงานเพื่อดำเนินการฟังก์ชันต่างๆ ของมัน 

มีการพึ่งพาระหว่างกันมากขึ้น

ระบบสถาปัตยกรรมที่มุ่งเน้นบริการ (SOA) อาจมีความซับซ้อนมากขึ้นเมื่อเวลาผ่านไป และเพิ่มการพึ่งพาระหว่างกันระหว่างบริการต่างๆ การแก้ไขหรือการแก้จุดบกพร่องอาจทำได้ยากหากมีบริการต่างๆ ที่เรียกวนต่อๆ กัน ทรัพยากรที่ใช้ร่วมกัน เช่น ฐานข้อมูลแบบรวมศูนย์ สามารถทำให้ระบบช้าลงได้เช่นกัน

จุดบกพร่องจุดเดียว

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

ไมโครเซอร์วิสคืออะไร

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

รูปแบบสถาปัตยกรรมไมโครเซอร์วิสเหมาะที่สุดสำหรับสภาพแวดล้อมการประมวลผลบนคลาวด์สมัยใหม่ พวกมันมักจะทำงานในคอนเทนเนอร์—หน่วยซอฟต์แวร์อิสระซึ่งเป็นชุดโค้ดที่มีการขึ้นต่อกันทั้งหมด

ประโยชน์ของไมโครเซอร์วิส

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

SOA เทียบกับ ไมโครเซอร์วิส

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

AWS ช่วยคุณใช้งานไมโครเซอร์วิสได้อย่างไร

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

• สร้าง แยก และเรียกใช้ไมโครเซอร์วิสที่ปลอดภัยในคอนเทนเนอร์ที่มีการจัดการเพื่อลดความซับซ้อนของการดำเนินงานและลดค่าใช้จ่ายในการจัดการ
• ใช้AWS Lambdaเพื่อเรียกใช้ไมโครเซอร์วิสของคุณโดยไม่ต้องเตรียมการหรือจัดการเซิร์ฟเวอร์
• เลือกจากฐานข้อมูลของ AWS เชิงสัมพันธ์ที่สร้างขึ้น และฐานข้อมูลที่เป็นอิสระรวม 15 ฐานข้อมูลเพื่อรองรับสถาปัตยกรรมไมโครเซอร์วิส
• ตรวจสอบและควบคุมไมโครเซอร์วิสที่ทำงานบน AWS ได้อย่างง่ายดายด้วยAWS App Mesh
• ตรวจสอบและแก้ไขปัญหาการโต้ตอบไมโครเซอร์วิสที่ซับซ้อนด้วยAWS X-Ray

ไมโครเซอร์วิสบน AWS ช่วยให้คุณสร้างนวัตกรรมได้เร็วขึ้น ลดความเสี่ยง เร่งเวลาออกสู่ตลาด และลดต้นทุนรวมของกรรมสิทธิ์ทั้งหมด เริ่มต้นใช้งาน SOA และไมโครเซอร์วิสบน AWS ด้วยการสร้างบัญชี AWSวันนี้

ขั้นตอนต่อไปบน AWS

ดูแหล่งข้อมูลที่เกี่ยวกับผลิตภัณฑ์เพิ่มเติม
เรียนรู้เพิ่มเติมเกี่ยวกับสถาปัตยกรรมที่มุ่งเน้นบริการ 
ลงชื่อสมัครใช้บัญชีฟรี

รับสิทธิ์การเข้าถึง AWS Free Tier ได้ทันที 

ลงชื่อสมัครใช้งาน 
เริ่มต้นการสร้างใน Console

เริ่มต้นสร้างด้วย AWS ใน AWS Management Console

ลงชื่อเข้าใช้