กลับไปหน้าบทความ

อ่าน 6 นาที

การปรับขนาดอัตโนมัติ

การปรับขนาดอัตโนมัติ (Autoscaling ) (หรือเขียนว่าauto scaling , auto-scalingหรือautomatic...

การปรับขนาดอัตโนมัติ

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

ข้อดี

การปรับขนาดอัตโนมัติมีข้อดีดังต่อไปนี้:

  • สำหรับบริษัทที่ดำเนินการโครงสร้างพื้นฐาน เว็บเซิร์ฟเวอร์ของตนเองการปรับขนาดอัตโนมัติโดยทั่วไปหมายถึงการอนุญาตให้เซิร์ฟเวอร์บางส่วนเข้าสู่โหมดพักการทำงานในช่วงเวลาที่มีภาระงานต่ำ ซึ่งจะช่วยประหยัดค่าไฟฟ้า (รวมถึงค่าน้ำหากมีการใช้น้ำเพื่อระบายความร้อนให้กับเครื่อง) [ 3 ]
  • สำหรับบริษัทที่ใช้โครงสร้างพื้นฐานที่โฮสต์บนคลาวด์ การปรับขนาดอัตโนมัติอาจหมายถึงค่าใช้จ่ายที่ลดลง เนื่องจากผู้ให้บริการคลาวด์ส่วนใหญ่คิดค่าบริการตามการใช้งานทั้งหมด ไม่ใช่ตามความจุสูงสุด[ 4 ]
  • แม้แต่สำหรับบริษัทที่ไม่สามารถลดความจุการประมวลผลโดยรวมที่ใช้งานอยู่หรือจ่ายในเวลาใดเวลาหนึ่งได้ การปรับขนาดอัตโนมัติก็สามารถช่วยได้โดยการอนุญาตให้บริษัทเรียกใช้เวิร์กโหลดที่ไม่ไวต่อเวลามากนักบนเครื่องที่ว่างจากการปรับขนาดอัตโนมัติในช่วงเวลาที่มีปริมาณการใช้งานต่ำ[ 5 ]
  • โซลูชันการปรับขนาดอัตโนมัติ เช่น โซลูชันที่ Amazon Web Services นำเสนอ ยังสามารถดูแลการแทนที่อินสแตนซ์ที่ไม่สมบูรณ์ และด้วยเหตุนี้จึงสามารถป้องกันความล้มเหลวของฮาร์ดแวร์ เครือข่าย และแอปพลิเคชันได้ในระดับหนึ่ง[ 6 ]
  • การปรับขนาดอัตโนมัติสามารถมอบเวลาการทำงานที่ต่อเนื่องและพร้อมใช้งานมากขึ้นในกรณีที่ปริมาณงานการผลิตมีความผันแปรและคาดเดาไม่ได้

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

ศัพท์เฉพาะ

ในรายการด้านล่าง เราใช้คำศัพท์ที่ใช้โดยAmazon Web Services (AWS) [ 8 ]อย่างไรก็ตาม มีการระบุชื่อทางเลือก และไม่ได้ใช้คำศัพท์เฉพาะสำหรับชื่อบริการของ Amazon

ชื่อ (ใช้ใน AWS [ 8 ]เว้นแต่จะระบุไว้เป็นอย่างอื่น)ความหมายชื่อทางเลือก (ใช้ใน Google Cloud Platform, [ 9 ] Microsoft Azure, [ 10 ]หรือแพลตฟอร์มอื่นๆ)
ตัวอย่างเซิร์ฟเวอร์หรือเครื่องเดียวที่เป็นส่วนหนึ่งของกลุ่มเครื่องที่อยู่ภายใต้การปรับขนาดอัตโนมัติ
กลุ่มการปรับขนาดอัตโนมัติกลุ่มของอินสแตนซ์ที่อยู่ภายใต้การปรับขนาดอัตโนมัติ พร้อมด้วยนโยบายและข้อมูลสถานะที่เกี่ยวข้องทั้งหมดกลุ่มอินสแตนซ์ที่จัดการ (Google Cloud Platform)
ขนาดจำนวนอินสแตนซ์ที่อยู่ในกลุ่มการปรับขนาดอัตโนมัติในปัจจุบัน
ความจุที่ต้องการ (หรือขนาดที่ต้องการ)จำนวนอินสแตนซ์ที่กลุ่มออโต้สเกลลิ่งควรมี ณ เวลาใดเวลาหนึ่ง หากขนาดเล็กกว่าขนาดที่ต้องการ กลุ่มออโต้สเกลลิ่งจะพยายามสร้าง (จัดเตรียมและเชื่อมต่อ) อินสแตนซ์ใหม่ หากขนาดใหญ่กว่าขนาดที่ต้องการ กลุ่มออโต้สเกลลิ่งจะพยายามลบ (ถอดและยุติ) อินสแตนซ์
ขนาดขั้นต่ำมีหลายกรณีที่ไม่อนุญาตให้ความจุที่ต้องการลดลงต่ำกว่าระดับดังกล่าว
ขนาดสูงสุดมีหลายกรณีที่ไม่อนุญาตให้ความจุที่ต้องการเพิ่มขึ้นเกินกว่าระดับที่กำหนด
เมตริกการวัดค่าต่างๆ (เช่น การใช้งาน CPU, การใช้งานหน่วยความจำ, การใช้งานเครือข่าย) ที่เกี่ยวข้องกับกลุ่มการปรับขนาดอัตโนมัติ ซึ่งมีการสร้างชุดข้อมูลตามเวลาอย่างสม่ำเสมอ สามารถใช้เกณฑ์สำหรับตัวชี้วัดต่างๆ เพื่อกำหนดนโยบายการปรับขนาดอัตโนมัติได้ ตัวชี้วัดอาจอิงจากผลรวมของตัวชี้วัดสำหรับอินสแตนซ์ของกลุ่มการปรับขนาดอัตโนมัติ หรืออิงจากตัวกระจายโหลดที่เกี่ยวข้องกับกลุ่มการปรับขนาดอัตโนมัติ
นโยบายการปรับขนาด (หรือนโยบายการปรับขนาดอัตโนมัติ)นโยบายที่ระบุการเปลี่ยนแปลงความจุที่ต้องการ (หรือบางครั้งอาจเป็นขนาดขั้นต่ำและสูงสุด) ของกลุ่มการปรับขนาดอัตโนมัติเพื่อตอบสนองต่อตัวชี้วัดที่เกินเกณฑ์ที่กำหนด นโยบายการปรับขนาดอาจมีช่วงเวลาหยุดพักที่เกี่ยวข้อง ซึ่งป้องกันไม่ให้มีการดำเนินการปรับขนาดเพิ่มเติมเกิดขึ้นทันทีหลังจากดำเนินการปรับขนาดเฉพาะ การเปลี่ยนแปลงความจุที่ต้องการอาจเป็นการเพิ่มขึ้นทีละน้อย (เพิ่มหรือลดลงตามจำนวนที่กำหนด) หรืออาจระบุค่าใหม่ของความจุที่ต้องการ นโยบายที่เพิ่มความจุที่ต้องการเรียกว่านโยบาย "ขยายออก" หรือ "เพิ่มขนาด" และนโยบายที่ลดความจุที่ต้องการเรียกว่านโยบาย "ลดขนาด" หรือ "ปรับขนาดลง"
การตรวจสุขภาพวิธีการที่กลุ่มการปรับขนาดอัตโนมัติใช้เพื่อตรวจสอบว่าอินสแตนซ์ที่เชื่อมต่ออยู่นั้นทำงานได้อย่างถูกต้องหรือไม่ การตรวจสอบสถานะอาจพิจารณาจากว่าอินสแตนซ์นั้นยังคงมีอยู่และสามารถเข้าถึงได้หรือไม่ หรืออาจพิจารณาจากว่าอินสแตนซ์นั้นยังคงลงทะเบียนและใช้งานอยู่กับตัวกระจายโหลดที่เกี่ยวข้องหรือไม่
การกำหนดค่าการเริ่มต้นคำอธิบายเกี่ยวกับพารามิเตอร์และสคริปต์ที่ใช้เมื่อเริ่มต้นใช้งานอินสแตนซ์ใหม่ ซึ่งรวมถึงประเภทของอินสแตนซ์ ตัวเลือกการซื้อ (เช่น แบบสปอตเทียบกับแบบออนดีมานด์ในกรณีของ AWS) โซนความพร้อมใช้งานที่เป็นไปได้สำหรับการเริ่มต้นใช้งาน อิมเมจเครื่อง และสคริปต์ที่จะเรียกใช้เมื่อเริ่มต้นใช้งานเทมเพลตอินสแตนซ์ (Google Cloud Platform)
การปรับขนาดด้วยตนเองการดำเนินการปรับขนาดที่ดำเนินการด้วยตนเอง
การปรับขนาดตามกำหนดเวลานโยบายการปรับขนาดที่ดำเนินการในเวลาที่กำหนด เช่น เวลาของวัน สัปดาห์ เดือน หรือปี ดู#การปรับขนาดตามกำหนดเวลาสำหรับข้อมูลเพิ่มเติม

ฝึกฝน

บริการเว็บอเมซอน (AWS)

การปรับขนาดอัตโนมัติ
การปรับขนาดอัตโนมัติ

Amazon Web Services เปิดตัว บริการ Amazon Elastic Compute Cloud (EC2) ในเดือนสิงหาคม พ.ศ. 2549 ซึ่งอนุญาตให้นักพัฒนาสามารถสร้างและยุติอินสแตนซ์ (เครื่อง) ได้โดยใช้โปรแกรม[ 11 ] [ 12 ]ในขณะที่เปิดตัวครั้งแรก AWS ยังไม่มีระบบปรับขนาดอัตโนมัติ แต่ความสามารถในการสร้างและยุติอินสแตนซ์โดยใช้โปรแกรมทำให้นักพัฒนามีความยืดหยุ่นในการเขียนโค้ดของตนเองเพื่อปรับขนาดอัตโนมัติ

ซอฟต์แวร์ปรับขนาดอัตโนมัติของบุคคลที่สามสำหรับ AWS เริ่มปรากฏขึ้นประมาณเดือนเมษายน พ.ศ. 2551 ซึ่งรวมถึงเครื่องมือจาก Scalr [ 13 ]และ RightScale RightScale ถูกใช้โดย Animoto ซึ่งสามารถจัดการ ปริมาณการใช้งาน ของ Facebook ได้ โดยการใช้การปรับขนาดอัตโนมัติ[ 14 ] [ 15 ]

เมื่อวันที่ 18 พฤษภาคม 2552 Amazon ได้เปิดตัวฟีเจอร์ autoscaling ของตนเองพร้อมกับElastic Load Balancingซึ่งเป็นส่วนหนึ่งของAmazon Elastic Compute Cloud [ 16 ] ปัจจุบัน autoscaling เป็นส่วนประกอบสำคัญของบริการ EC2 ของ Amazon [ 2 ] [ 17 ] [ 18 ]การปรับขนาดอัตโนมัติบน Amazon Web Services สามารถทำได้ผ่านเว็บเบราว์เซอร์หรือเครื่องมือบรรทัดคำสั่ง[ 19 ]ในเดือนพฤษภาคม 2559 มีบริการ Autoscaling ใน AWS ECS ด้วย[ 20 ]

Netflixผู้ให้บริการวิดีโอตามความต้องการ ได้บันทึกการใช้การปรับขนาดอัตโนมัติกับ Amazon Web Services เพื่อตอบสนองความต้องการของผู้บริโภคที่ผันผวนสูง พวกเขาพบว่าการขยายขนาดอย่างรวดเร็วและการลดขนาดลงอย่างค่อยเป็นค่อยไปและระมัดระวัง ช่วยให้บรรลุเป้าหมายด้านความพร้อมใช้งานและการตอบสนองได้ดีที่สุด[ 7 ]

ในบทความสำหรับTechCrunch Zev Laderman ผู้ร่วมก่อตั้งและซีอีโอของ Newvem ซึ่งเป็นบริการที่ช่วยเพิ่มประสิทธิภาพโครงสร้างพื้นฐานคลาวด์ AWS แนะนำให้สตาร์ทอัพใช้การปรับขนาดอัตโนมัติเพื่อรักษาต้นทุน Amazon Web Services ให้ต่ำ[ 4 ]

คู่มือ แนวทางปฏิบัติที่ดีที่สุดต่างๆสำหรับการใช้งาน AWS แนะนำให้ใช้คุณสมบัติ autoscaling แม้ในกรณีที่โหลดไม่เปลี่ยนแปลงก็ตาม เนื่องจาก autoscaling มีข้อดีอีกสองประการคือ การแทนที่อินสแตนซ์ใดๆ ที่ทำงานผิดปกติด้วยเหตุผลใดๆ (เช่น ความล้มเหลวของฮาร์ดแวร์ ความล้มเหลวของเครือข่าย หรือข้อผิดพลาดของแอปพลิเคชัน) โดยอัตโนมัติ และการแทนที่อินสแตนซ์แบบ spot ที่ถูกขัดจังหวะด้วยเหตุผลด้านราคาหรือความจุโดยอัตโนมัติ ทำให้การใช้อินสแตนซ์แบบ spot เพื่อวัตถุประสงค์ในการผลิตเป็นไปได้มากขึ้น[ 6 ] [ 21 ] [ 22 ]แนวทางปฏิบัติที่ดีที่สุดภายในของ Netflix กำหนดให้ทุกอินสแตนซ์ต้องอยู่ในกลุ่ม autoscaling และ conformity monkey จะยุติอินสแตนซ์ใดๆ ที่ไม่ได้อยู่ในกลุ่ม autoscaling เพื่อบังคับใช้แนวทางปฏิบัติที่ดีที่สุดนี้[ 23 ]

ไมโครซอฟต์ วินโดว์แอซ

เมื่อวันที่ 27 มิถุนายน 2556 ไมโครซอฟต์ประกาศว่าจะเพิ่มการรองรับการปรับขนาดอัตโนมัติให้กับแพลตฟอร์มการประมวลผลคลาวด์Windows Azure [ 24 ] [ 25 ] [ 26 ] เอกสารประกอบสำหรับฟีเจอร์นี้มีอยู่ในMicrosoft Developer Network [ 10 ] [ 27 ]

ออราเคิล คลาวด์

Oracle Cloud Platformอนุญาตให้อินสแตนซ์เซิร์ฟเวอร์ปรับขนาดคลัสเตอร์เข้าหรือออกโดยอัตโนมัติโดยการกำหนดกฎการปรับขนาดอัตโนมัติ[ 28 ]กฎเหล่านี้ขึ้นอยู่กับการใช้งาน CPU และ/หรือหน่วยความจำ และกำหนดว่าเมื่อใดควรเพิ่มหรือลบโหนด

Google Cloud Platform

เมื่อวันที่ 17 พฤศจิกายน 2014 Google Compute Engineได้ประกาศเปิดตัวเบต้าสาธารณะของฟีเจอร์การปรับขนาดอัตโนมัติสำหรับใช้ในแอปพลิเคชันGoogle Cloud Platform [ 29 ] [ 30 ] [ 31 ] [ 32 ]ณ เดือนมีนาคม 2015 เครื่องมือปรับขนาดอัตโนมัติยังคงอยู่ในเวอร์ชันเบต้า[ 9 ]

เฟซบุ๊ก

ในโพสต์บล็อกเมื่อเดือนสิงหาคม 2557 วิศวกรของ Facebook เปิดเผยว่าบริษัทได้เริ่มใช้การปรับขนาดอัตโนมัติเพื่อลดต้นทุนด้านพลังงาน โพสต์บล็อกดังกล่าวรายงานว่าการใช้พลังงานลดลง 27% ในช่วงเวลาที่มีปริมาณการใช้งานต่ำ (ประมาณเที่ยงคืน) และการใช้พลังงานลดลง 10-15% ตลอดรอบ 24 ชั่วโมง[ 3 ] [ 33 ]

ตัวปรับขนาดอัตโนมัติ Pod แนวนอนของ Kubernetes

Kubernetes Horizontal Pod Autoscaler จะปรับขนาดจำนวนพอดในตัวควบคุมการจำลองการปรับใช้หรือชุดจำลอง โดยอัตโนมัติ ตามการใช้งาน CPU ที่สังเกตได้ (หรือตามเมตริกอื่นๆ ที่แอปพลิเคชันจัดหาให้ในเวอร์ชันเบต้า) [ 34 ]

แนวทางการตัดสินใจปรับขนาดอัตโนมัติทางเลือก

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

แนวทางการปรับขนาดอัตโนมัติตามกำหนดเวลา

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

การปรับขนาดอัตโนมัติแบบคาดการณ์

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

สำหรับบางส่วนของโครงสร้างพื้นฐานและภาระงานเฉพาะ Netflix พบว่า Scryer ซึ่งเป็นเครื่องมือวิเคราะห์เชิงทำนายของพวกเขา ให้ผลลัพธ์ที่ดีกว่าวิธีการปรับขนาดอัตโนมัติแบบตอบสนองของ Amazon โดยเฉพาะอย่างยิ่ง ดีกว่าสำหรับ: [ 36 ] [ 33 ]

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

เมื่อวันที่ 20 พฤศจิกายน 2018 AWS ได้ประกาศว่าการปรับขนาดแบบคาดการณ์จะพร้อมใช้งานเป็นส่วนหนึ่งของข้อเสนอการปรับขนาดอัตโนมัติ[ 37 ]

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Autoscaling&oldid=1324301428#Amazon_Web_Services_(AWS) "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การปรับขนาดอัตโนมัติ

การปรับขนาดอัตโนมัติ (Autoscaling ) (หรือเขียนว่าauto scaling , auto-scalingหรือautomatic...

ศัพท์เฉพาะ

ในรายการด้านล่าง เราใช้คำศัพท์ที่ใช้โดย Amazon Web Services (AWS) [ 8 ] อย่างไรก็ตาม มีการระบุชื่อทางเลือก และไม่ได้ใช้คำศัพท์เฉพาะสำหรับชื่อบริการของ Amazon

บริการเว็บอเมซอน (AWS)

Amazon Web Services เปิดตัว บริการ Amazon Elastic Compute Cloud (EC2) ในเดือนสิงหาคม พ.ศ.

ไมโครซอฟต์ วินโดว์แอซ

เมื่อวันที่ 27 มิถุนายน 2556 ไมโครซอฟต์ ประกาศว่าจะเพิ่มการรองรับการปรับขนาดอัตโนมัติให้กับ แพลตฟอร์มการประมวล ผลคลาวด์ Windows Azure [ 24 ] [ 25 ] [ 26 ] เอกสาร ประกอบสำหรับฟีเจอร์นี้มีอยู่ใน Microsoft Developer Network [ 10 ] [ 27 ]