Serverless คืออะไร?

เผยแพร่แล้ว: 2022-02-15

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

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

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

ในบทความนี้
  • ความแตกต่างระหว่างแบ็กเอนด์และฟรอนท์เอนด์
  • ประเภทของบริการแบ็กเอนด์
  • ข้อดี
  • การเปรียบเทียบการประมวลผลแบบไร้เซิร์ฟเวอร์
  • อนาคต

ความแตกต่างระหว่างส่วนหลังและส่วนหน้า?

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

หากเราใช้ตัวอย่างของเว็บไซต์ ส่วนหน้าจะขอข้อมูลเว็บไซต์จากส่วนหลังและส่วนหลังจะตอบสนองต่อคำขอและส่งข้อมูลไปยังส่วนหน้า

ประเภทของบริการแบ็กเอนด์ที่ให้บริการโดยการประมวลผลแบบไร้เซิร์ฟเวอร์

ผู้ให้บริการการประมวลผลแบบไร้เซิร์ฟเวอร์ส่วนใหญ่ให้บริการฐานข้อมูลและบริการจัดเก็บข้อมูล บางส่วนยังมีแพลตฟอร์ม Function-as-a-service; Cloudflare Workers เป็นตัวอย่างของสิ่งเดียวกัน แนวคิด FaaS ช่วยให้นักพัฒนาสามารถพัฒนาและเรียกใช้โค้ดส่วนเล็กๆ บนขอบเครือข่ายได้ การใช้วิธีการ FaaS นักพัฒนาสามารถสร้างสถาปัตยกรรมที่ทำให้ codebase ทั้งหมดสามารถปรับขนาดได้อย่างมาก และส่วนที่ดีที่สุดคือ – นักพัฒนาไม่จำเป็นต้องใช้ทรัพยากรของพวกเขาในแบ็กเอนด์

ข้อดีของการประมวลผลแบบไร้เซิร์ฟเวอร์

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

ข้อดีเหล่านี้มีดังนี้:

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

การเปรียบเทียบการประมวลผลแบบไร้เซิร์ฟเวอร์กับแบ็กเอนด์คลาวด์รุ่นอื่นๆ

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

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

Platform-as-a-service (PaaS): นี่คือโมเดลที่นักพัฒนาใช้ส่วนประกอบทั้งหมดของแอปพลิเคชันจากผู้ให้บริการระบบคลาวด์ เพื่อพัฒนาและปรับใช้แอปพลิเคชันบนเซิร์ฟเวอร์คลาวด์ของผู้ขาย อย่างไรก็ตาม ข้อเสียเปรียบที่สำคัญคือแอปพลิเคชัน PaaS ไม่สามารถขยายขนาดได้ง่ายเหมือนแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ อีกปัจจัยหนึ่งคือแอปพลิเคชัน PaaS ไม่ทำงานบนขอบและมีความล่าช้าที่เห็นได้ชัดเจนเมื่อเริ่มต้นแอปพลิเคชัน

Infrastructure-as-a-service (IaaS): โดยพื้นฐานแล้วมันเป็นคำศัพท์ที่ใช้ค่อนข้างสลับกันได้กับการคำนวณแบบไร้เซิร์ฟเวอร์ แต่คำศัพท์ทั้งสองนั้นไม่ได้มีความหมายเหมือนกันไม่ว่าด้วยวิธีใด IaaS เป็นคำที่ใช้สำหรับผู้ให้บริการโครงสร้างพื้นฐานที่โฮสต์แอปพลิเคชันของลูกค้าในนามของพวกเขา

อนาคตของการประมวลผลแบบไร้เซิร์ฟเวอร์

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

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

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

ความคิดสุดท้าย

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

แหล่งข้อมูลที่เป็นประโยชน์อื่นๆ:

การโจมตีช่องโหว่ของเว็บเซิร์ฟเวอร์: วิธีปกป้ององค์กรของคุณ

บล็อกข้อความเซิร์ฟเวอร์คืออะไรและทำงานอย่างไร

เว็บแอปพลิเคชัน – ทุกสิ่งที่คุณจำเป็นต้องรู้

Edge Computing คืออะไร? – สิ่งที่คุณต้องรู้