Serverless Vs Microservices – สถาปัตยกรรมใดที่ธุรกิจควรเลือก?

เผยแพร่แล้ว: 2022-05-31

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

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

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

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

เพื่อให้เข้าใจความแตกต่างระหว่างสองสิ่งนี้ สิ่งสำคัญคือต้องเข้าใจว่าสถาปัตยกรรมไร้เซิร์ฟเวอร์คืออะไรและสถาปัตยกรรมไมโครเซอร์วิสคืออะไร

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

What is a Microservice?

Microservice เป็นรูปแบบสถาปัตยกรรม ของการแบ่งแอปพลิเคชันออกเป็นแอปพลิเคชันหรือบริการที่มีขนาดเล็กลง จึงเป็นที่มาของชื่อ นี่คือสิ่งที่ตรงกันข้ามกับสถาปัตยกรรมเสาหินที่เอนทิตีเดียวมีฟังก์ชันทั้งหมด

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

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

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

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

ประเภทของไมโครเซอร์วิส

  • ไมโครเซอร์วิสไร้สัญชาติ

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

  • Stateful Microservices

ไมโครเซอร์วิสประเภทนี้จะเก็บรักษาบันทึกในฐานข้อมูลเสมอซึ่งทำให้ผู้ใช้เขียนโค้ดได้อย่างมีประสิทธิภาพได้ง่ายขึ้น ข้อมูลดังกล่าวควรเก็บไว้ภายนอกในการจัดเก็บข้อมูล เช่น RDBMS, ฐานข้อมูล noSQL เป็นต้น

[อ่านเพิ่มเติม: Microservices กับสถาปัตยกรรมเสาหิน: อันไหนที่เหมาะกับการเริ่มต้น? ]

สถาปัตยกรรมไร้เซิร์ฟเวอร์คืออะไร?

Serverless Architecture

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

โดยสรุปแล้ว นักพัฒนาเพียงแค่ต้องมุ่งเน้นที่การเขียนโค้ด ผู้ให้บริการจะดูแลทุกอย่างอย่างอื่นตั้งแต่แพตช์ความปลอดภัยไปจนถึงการทำโหลดบาลานซ์ การจัดการความจุ การปรับขนาด การบันทึก และการตรวจสอบ แพลตฟอร์มของบริษัทอื่นที่ได้รับความนิยมบางส่วน ได้แก่ สถาปัตยกรรมไร้เซิร์ฟเวอร์ AWS Lamba สถาปัตยกรรม Microsoft Azure และ Google Cloud

สถาปัตยกรรมแบบไร้เซิร์ฟเวอร์ทำงานในสองมุมมองที่แตกต่างกัน –

  • ฟังก์ชันเป็นบริการ (FaaS)

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

  • แบ็กเอนด์เป็นบริการ (BaaS)

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

เพื่อความสะดวกในการทำความเข้าใจ โปรดดูตารางด้านล่างเพื่อดูว่าโครงสร้างพื้นฐานแบบไม่มีเซิร์ฟเวอร์คืออะไรและโครงสร้างพื้นฐานของไมโครเซอร์วิสคืออะไร

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

ความแตกต่างหลักคือ – microservices เป็นเทคนิคในการออกแบบแอปพลิเคชัน ในขณะที่เซิร์ฟเวอร์ไร้เซิร์ฟเวอร์เป็นสถาปัตยกรรมที่ใช้เรียกใช้บางส่วนหรือแอปพลิเคชันทั้งหมด Microservices สามารถโฮสต์บนสถาปัตยกรรมแบบไร้เซิร์ฟเวอร์

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

explore our services

บทบาทและทรัพยากรที่จำเป็นสำหรับ Serverless เทียบกับ Microservices

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

ในการพัฒนาแอปพลิเคชัน คุณต้องมีทีมนักพัฒนาและผู้ทดสอบที่มีความเข้าใจที่ชัดเจนเกี่ยวกับสถาปัตยกรรมไมโครเซอร์วิส Microservices ไม่ใช่ภาษาเฉพาะและสามารถสร้างขึ้นในภาษาของซอฟต์แวร์ใดก็ได้ ต้องบอกว่า เทคโนโลยีที่ใช้บ่อยที่สุดคือ JS/TypeScript, Java, .NET และ Python ทีมนักพัฒนาขนาดเล็กที่ทำงานข้ามสายงานทำงานร่วมกันได้ดียิ่งขึ้น

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

ในการใช้สถาปัตยกรรมแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ คุณต้องค้นหาผู้ให้บริการที่ดี เช่น AWS Lambda, Microsoft Azure Function, Google Cloud Functions และ Cloudflare Workers นอกจากนี้ คุณต้องเลือกระหว่าง FaaS และ BaaS เพื่อเขียนฟังก์ชันทั้งหมดและทริกเกอร์

ทีมพัฒนาต้องมีพื้นฐานที่แข็งแกร่งในการทำงานกับผู้ให้บริการที่คุณเลือก นักพัฒนาควรมีความเชี่ยวชาญอย่างถี่ถ้วนด้วย ทักษะ JavaScript หรือ Python

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

การรวม Serverless และ Microservices

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

ด้วยการปฏิบัติตามแนวทางที่กล่าวถึงด้านล่าง ทีมพัฒนาสามารถเชื่อมช่องว่างและรวมสถาปัตยกรรมไมโครเซอร์วิสกับสถาปัตยกรรมแบบไร้เซิร์ฟเวอร์

  • เพื่อให้ไมโครเซอร์วิสเป็นแบบไร้เซิร์ฟเวอร์ ควรทริกเกอร์เหตุการณ์ ไมโครเซอร์วิสควรตอบสนองต่อเงื่อนไขเฉพาะและการดำเนินการของผู้ใช้เพื่อให้ทำงานเป็นฟังก์ชัน
  • ด้วยการใช้ Logic Apps (Microsoft) หรือ Step Functions ( Amazon) ทริกเกอร์สามารถกำหนดให้กับไมโครเซอร์วิส และสามารถรวมฟังก์ชันต่างๆ เข้าด้วยกันเป็นบริการได้ สิ่งนี้จะเพิ่มความเป็นไปได้ในการรวมเข้าด้วยกัน
  • การพัฒนาฟังก์ชันแบบไร้เซิร์ฟเวอร์ขึ้นอยู่กับที่เก็บข้อมูลบนคลาวด์และการประมวลผล ดังนั้น การย้ายไปยังโครงสร้างพื้นฐานระบบคลาวด์จึงเป็นสิ่งสำคัญ เพื่อให้คุณสามารถใช้หลักการบางอย่างจากสถาปัตยกรรมแบบไร้เซิร์ฟเวอร์ได้

พูดคุยกับผู้เชี่ยวชาญของเรา

ตัวอย่างในโลกแห่งความเป็นจริง

จากความแตกต่างข้างต้นและวิธีการทางสถาปัตยกรรม ให้เราสำรวจตัวอย่างการใช้งานจริงของสถาปัตยกรรมทั้งสองที่อาจช่วยคุณใน การเลือกสถาปัตยกรรมที่เหมาะสมสำหรับธุรกิจของ คุณ

ตัวอย่างสถาปัตยกรรมไมโครเซอร์วิสในโลกแห่งความเป็นจริง

Microservices architecture real-world examples

1. Netflix – Netflix เป็นหนึ่งในองค์กรแรกๆ ที่นำไมโครเซอร์วิส คลาวด์คอมพิวติ้ง หรือไมโครเซอร์วิสแบบไร้เซิร์ฟเวอร์มาใช้ในการบำรุงรักษาเซิร์ฟเวอร์ ความน่าเชื่อถือ และอัลกอริทึมสำหรับการแนะนำการแสดง

2. Amazon – ด้วยการเติบโตแบบทวีคูณ จึงมีการแนะนำบริการที่หลากหลาย อย่างไรก็ตาม ในขั้นต้น บริษัทได้ติดตามสถาปัตยกรรมเสาหินที่มีราคาแพง จากนั้นบริษัทได้สร้างแอปพลิเคชันขึ้นใหม่เป็นไมโครเซอร์วิส

3. Uber – กระบวนการทางธุรกิจทั้งหมดได้รับการจัดการผ่านสถาปัตยกรรมไมโครเซอร์วิส เช่น การจัดการผู้โดยสาร การเรียกเก็บเงิน การแจ้งเตือน และอื่นๆ อีกมากมาย

ตัวอย่างสถาปัตยกรรมแบบไร้เซิร์ฟเวอร์ในโลกแห่งความเป็นจริง

Serverless architecture real-world examples

1. Nordstorm – เว็บไซต์ช็อปปิ้งสร้างเฟรมเวิร์กของตนเองโดยใช้สถาปัตยกรรมแบบไร้เซิร์ฟเวอร์ เว็บไซต์ของพวกเขาใช้เซิร์ฟเวอร์แบบไร้เซิร์ฟเวอร์เพื่อสร้างแอปพลิเคชันตามเหตุการณ์และเพิ่มคุณสมบัติเพิ่มเติม

2. Codepen - เป็นแพลตฟอร์มการพัฒนาทางสังคมสำหรับนักพัฒนาและนักออกแบบส่วนหน้าเพื่อช่วยสร้างเว็บไซต์ที่ดำเนินการโดยทีม DevOps คนเดียวเนื่องจากเซิร์ฟเวอร์ไม่ทำหน้าที่ส่วนที่เหลือ

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

Appinventiv สามารถช่วยในการตัดสินใจที่ถูกต้องสำหรับ Serverless vs Microservices ได้อย่างไร

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

ตัวอย่างเช่น เราประสบความสำเร็จในการสร้าง แพลตฟอร์ม การวิเคราะห์ข้อมูลที่ มีลูกค้าเป็นศูนย์กลาง สำหรับบริษัทโทรคมนาคมรายใหญ่ที่สุดแห่งหนึ่งในสหรัฐฯ ด้วยการใช้ประโยชน์จาก Business Intelligence เราสามารถรับรองความพร้อมใช้งานของข้อมูล 100% กับทุกแผนกของบริษัทในแบบเรียลไทม์

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

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

ประเด็นที่สำคัญ

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

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

คำถามที่พบบ่อย

ถาม: serverless และ microservices สามารถทำงานร่วมกันได้หรือไม่?

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

ถาม เมื่อใดที่คุณไม่ควรใช้สถาปัตยกรรมไมโครเซอร์วิส

A. ต้องไม่ใช้สถาปัตยกรรมไมโครเซอร์วิสเมื่อ:

  • โดเมนที่กำหนดไม่ชัดเจนหรือไม่แน่นอน
  • ไม่รับประกันประสิทธิภาพที่ดีขึ้น
  • ขนาดโปรแกรมเล็กเกินไป

ถาม: คุณควรใช้สถาปัตยกรรมไมโครเซอร์วิสเมื่อใด

A. Microservices มีประโยชน์เมื่อจำเป็นต้องพัฒนาแอพพลิเคชั่นขนาดใหญ่ที่สามารถจ่ายค่าใช้จ่ายล่วงหน้าได้ การใช้งานที่มีขนาดเล็กและน้ำหนักเบาสามารถรักษาไว้เป็นสถาปัตยกรรมแบบเสาหินได้

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