'Serverless' เหมือนกับหลาย ๆ สิ่งในพื้นที่ของเรากำลังกลายเป็นคำที่ใช้บ่อยเกินไป แต่โดยทั่วไปแล้วมันหมายถึง "การทำงานตามหน้าที่สถาปัตยกรรมของเราไม่ได้ขึ้นอยู่กับการจัดสรรหรือการบำรุงรักษาเซิร์ฟเวอร์อย่างต่อเนื่อง"
อินสแตนซ์แรกที่นึกถึงคือแอพพลิเคชั่นจาวาสคริปต์หน้าเดียวที่ใช้ที่จัดเก็บในตัวเครื่องและเก็บไว้ในบางอย่างเช่น Amazon S # หรือ Github Pages (หรือไซต์คงที่ - เป็นเพียงตัวอย่างทั่วไป) ลองนึกภาพบางสิ่งเช่น 'สิ่งที่ต้องทำ' หรือ 'ทำให้แอพพลิเคชั่นเสร็จสิ้น' ซึ่งทำงานในเบราว์เซอร์ของคุณ เบราว์เซอร์ของคุณให้บริการเช่น S3 เพื่อดาวน์โหลดรหัสและรายการที่คุณจัดเก็บจะถูกเก็บไว้ในที่จัดเก็บในเบราว์เซอร์ของคุณ ไม่มีเซิร์ฟเวอร์ที่คุณบำรุงรักษาสำหรับสิ่งนี้
อินสแตนซ์ที่สองและมีความซับซ้อนขึ้นเล็กน้อย (และเป็นที่นิยมใช้คำว่า 'serverless') ใช้บริการเช่น AWS Lambda ให้ฉันอธิบายสิ่งนี้โดยนำเสนอปัญหาที่แก้ได้:
หลายครั้งในอาชีพการงานของฉันฉันได้แก้ปัญหาทางธุรกิจสำหรับลูกค้าที่มีรหัสทับทิมน้อยกว่าเล็กน้อยซึ่งทำการแยก, แปลง, และโหลดเป็นระยะ ๆ เมื่อแก้ไขแล้วฉันจะทำให้ cron เป็นอัตโนมัติ จากนั้นปัญหาจะกลายเป็น 'ฉันจะโฮสต์สิ่งนี้ที่ทำงานหนึ่งครั้งทุกชั่วโมงหรือไม่' สำหรับลูกค้าบางรายเราจะตั้งเซิร์ฟเวอร์ในโครงสร้างพื้นฐานที่มีอยู่ สำหรับคนอื่นเราจะตั้งค่าอินสแตนซ์ EC2 แม้ว่าจะไม่ได้ใช้งาน 99% ของเวลา ในสถานการณ์เหล่านี้มีเซิร์ฟเวอร์ที่ต้องการการเตรียมการแก้ไขการตรวจสอบการอัพเดทและอื่น ๆ
ด้วย Amazon แลมบ์ดาฉันสามารถทำภารกิจคราดนั้นและเรียกใช้บริการของพวกเขาในฐานะ ฉันยังสามารถกำหนดเวลาได้ ลูกค้าจะไม่ต้องการโครงสร้างพื้นฐานอีกต่อไปสำหรับสิ่งที่ทำได้ง่ายๆครั้งละหนึ่งชั่วโมง
ด้วย 'serverless' ยังคงมีเซิร์ฟเวอร์เหมือนกับ 'cloud' ยังมีคอมพิวเตอร์อยู่ มีเพียงระดับของความเป็นนามธรรมอยู่ด้านบนของสิ่งที่ต้องรับผิดชอบต่อสิ่งแวดล้อมสำหรับคุณ