Comparthing Logo
เอสอาร์อีเดวิออปส์ความน่าเชื่อถือโครงสร้างพื้นฐานคลาวด์การจัดการเหตุการณ์การดำเนินงาน

วิศวกรรมความน่าเชื่อถือของระบบเทียบกับการบำรุงรักษาแบบเฉพาะกิจ

วิศวกรรมความน่าเชื่อถือของระบบ (System Reliability Engineering หรือ SRE) เป็นระเบียบวินัยที่มีโครงสร้างซึ่งริเริ่มโดย Google โดยใช้หลักการวิศวกรรมซอฟต์แวร์ในการจัดการระบบการผลิต ในขณะที่การบำรุงรักษาแบบเฉพาะกิจ (Ad Hoc Maintenance) เป็นแนวทางแก้ไขปัญหาแบบเชิงรับและไม่วางแผนล่วงหน้า การเลือกใช้ระหว่างสองแนวทางนี้จะกำหนดวิธีการที่ทีมจัดการเวลาการทำงานของระบบ เหตุการณ์ และสุขภาพการดำเนินงานในระยะยาว

ไฮไลต์

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

วิศวกรรมความน่าเชื่อถือของระบบ คืออะไร

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

  • SRE ถูกสร้างขึ้นที่ Google ประมาณปี 2003 โดย Ben Treynor Sloss เพื่อแก้ไขช่องว่างระหว่างทีมพัฒนาและทีมปฏิบัติการ
  • สาขาวิชานี้มุ่งเน้นไปที่เป้าหมายระดับการบริการ (SLOs) ตัวชี้วัดระดับการบริการ (SLIs) และงบประมาณข้อผิดพลาด ซึ่งเป็นตัวชี้วัดความน่าเชื่อถือหลัก
  • โดยทั่วไปแล้ว ทีม SRE ของ Google จะจำกัดเวลาทำงานด้านปฏิบัติการไว้ที่ 50% ของเวลาทำงานของวิศวกร ส่วนที่เหลือจะใช้สำหรับงานด้านวิศวกรรม
  • SRE เน้นการวิเคราะห์หลังเกิดเหตุการณ์โดยปราศจากการตำหนิ โดยมองความล้มเหลวเป็นโอกาสในการเรียนรู้มากกว่าเป็นเหตุให้ถูกลงโทษ
  • แนวทางนี้ได้รับการนำไปใช้โดยองค์กรขนาดใหญ่หลายแห่ง รวมถึง Microsoft, Amazon, LinkedIn และ IBM เพื่อจัดการระบบกระจายขนาดใหญ่

การบำรุงรักษาตามภารกิจ คืออะไร

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

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

ตารางเปรียบเทียบ

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

การเปรียบเทียบโดยละเอียด

ปรัชญาและทัศนคติ

SRE (Service-Reliability Engineering) ดำเนินงานโดยเชื่อว่าความน่าเชื่อถือเป็นคุณสมบัติสำคัญ ไม่ใช่สิ่งที่คิดขึ้นมาทีหลัง SRE มองการดำเนินงานเหมือนปัญหาทางซอฟต์แวร์ และใช้หลักการทางวิศวกรรมที่เข้มงวดกับทุกอย่าง ตั้งแต่กระบวนการติดตั้งใช้งานไปจนถึงการรับมือกับเหตุการณ์ฉุกเฉิน ในทางตรงกันข้าม การบำรุงรักษาแบบเฉพาะกิจ มองการดำเนินงานเหมือนการดับเพลิง โดยมีเป้าหมายเพียงแค่กู้คืนบริการให้เร็วที่สุดเท่าที่จะเป็นไปได้ ช่องว่างทางปรัชญาระหว่างสองแนวทางนี้ใหญ่มาก แนวทางหนึ่งสร้างระบบที่สามารถล้มเหลวได้อย่างสง่างาม ในขณะที่อีกแนวทางหนึ่งต้องเร่งแก้ไขเมื่อเกิดความล้มเหลว

การวัดผลและความรับผิดชอบ

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

ระบบอัตโนมัติและการลดภาระงาน

SRE มองว่างานที่ต้องทำซ้ำๆ ด้วยมือ หรือที่เรียกว่า 'งานหนัก' นั้นเป็นเหมือนภาษีที่ควรลดให้น้อยที่สุดด้วยระบบอัตโนมัติ หนังสือ SRE ฉบับดั้งเดิมของ Google แนะนำให้รักษางานหนักนี้ไว้ต่ำกว่า 50% ของเวลาทำงานของวิศวกร เพื่อให้เวลาที่เหลือสามารถนำไปใช้ในการปรับปรุงงานด้านวิศวกรรมที่มีความหมายได้ สภาพแวดล้อมการบำรุงรักษาแบบเฉพาะกิจมักเต็มไปด้วยงานหนัก เพราะทุกการแก้ไขต้องทำด้วยมือและทำเพียงครั้งเดียว เมื่อเวลาผ่านไป สิ่งนี้จะสร้างวงจรที่เลวร้าย ซึ่งวิศวกรใช้เวลามากเกินไปในการแก้ไขปัญหาเฉพาะหน้า จนไม่เคยสร้างระบบอัตโนมัติที่จะช่วยป้องกันปัญหาเหล่านั้นได้เลย

การจัดการเหตุการณ์และการเรียนรู้

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

ต้นทุนและความสามารถในการขยายขนาด

SRE (System-end-Relational Engineering) ต้องการการลงทุนล่วงหน้าอย่างมากในด้านเครื่องมือ การฝึกอบรม และการออกแบบกระบวนการ แต่สิ่งนี้จะคุ้มค่าเมื่อระบบขยายขนาด บริษัทที่ให้บริการที่เชื่อถือได้ในระดับเดียวกับ Google หรือ Netflix ไม่สามารถอยู่รอดได้ด้วยวิธีการแบบเฉพาะกิจ เพราะความซับซ้อนจะทำให้ทีมที่ตอบสนองต่อปัญหาแบบทันทีทันใดรับมือไม่ไหว อย่างไรก็ตาม สำหรับสตาร์ทอัพขนาดเล็กที่มีผู้ใช้เพียงไม่กี่คน การบำรุงรักษาแบบเฉพาะกิจอาจสมเหตุสมผลอย่างยิ่ง สิ่งสำคัญคือการตระหนักว่าเมื่อใดที่คุณเติบโตเกินกว่าวิธีการนั้นแล้ว ซึ่งมักเกิดขึ้นเมื่อความไว้วางใจของลูกค้าเริ่มลดลงเนื่องจากการหยุดชะงักซ้ำๆ

ข้อดีและข้อเสีย

วิศวกรรมความน่าเชื่อถือของระบบ

ข้อดี

  • + ความน่าเชื่อถือที่วัดได้
  • + ลดภาระงานลงเมื่อเวลาผ่านไป
  • + การตอบสนองต่อเหตุการณ์อย่างเข้มแข็ง
  • + วัฒนธรรมการพัฒนาอย่างต่อเนื่อง

ยืนยัน

  • การลงทุนเริ่มต้นสูง
  • ต้องอาศัยการเปลี่ยนแปลงทางวัฒนธรรม
  • ซับซ้อนในการนำไปใช้
  • ต้องใช้ผู้เชี่ยวชาญเฉพาะด้าน

การบำรุงรักษาตามภารกิจ

ข้อดี

  • + ค่าใช้จ่ายเริ่มต้นต่ำ
  • + ยืดหยุ่นและรวดเร็ว
  • + ไม่มีขั้นตอนราชการที่ยุ่งยาก
  • + เริ่มต้นง่าย

ยืนยัน

  • การหยุดทำงานที่ไม่สามารถคาดการณ์ได้
  • แหล่งความรู้ที่กระจัดกระจาย
  • สาเหตุหลักที่เกิดขึ้นซ้ำๆ
  • หนี้ทางเทคนิคที่เพิ่มสูงขึ้น

ความเข้าใจผิดทั่วไป

ตำนาน

SRE ก็คือชื่อเรียกที่ดูหรูหรากว่าของคำว่า "ปฏิบัติการ" นั่นเอง

ความเป็นจริง

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

ตำนาน

การบำรุงรักษาแบบเฉพาะกิจมีราคาถูกกว่า เพราะไม่มีค่าใช้จ่ายด้านกระบวนการ

ความเป็นจริง

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

ตำนาน

คุณต้องมีขนาดใหญ่เท่า Google ถึงจะได้รับประโยชน์จาก SRE

ความเป็นจริง

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

ตำนาน

SRE ช่วยขจัดปัญหาไฟดับทั้งหมด

ความเป็นจริง

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

ตำนาน

การบำรุงรักษาแบบเฉพาะกิจใช้ได้ผลดีหากคุณมีวิศวกรที่มีฝีมือ

ความเป็นจริง

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

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

ความแตกต่างหลักระหว่าง SRE กับการดำเนินงานแบบดั้งเดิมคืออะไร?
ความแตกต่างหลักคือ SRE นำหลักการวิศวกรรมซอฟต์แวร์มาประยุกต์ใช้กับงานด้านปฏิบัติการ โดยเน้นหนักไปที่การทำงานอัตโนมัติ การวัดผล และการลดงานที่ต้องทำด้วยมือ งานปฏิบัติการแบบดั้งเดิมมักจะใช้แรงงานคนมากกว่าและเน้นการแก้ไขปัญหาเฉพาะหน้า โดยมุ่งเน้นที่การรักษาระบบให้ทำงานได้อย่างต่อเนื่องมากกว่าการออกแบบระบบให้มีความน่าเชื่อถือมากขึ้น นอกจากนี้ SRE ยังนำเสนอแนวคิดที่เป็นทางการ เช่น SLOs และงบประมาณข้อผิดพลาด ซึ่งงานปฏิบัติการแบบดั้งเดิมมักขาดไป
ทีมขนาดเล็กสามารถนำ SRE มาใช้ได้จริงหรือไม่?
แน่นอน ทีมขนาดเล็กสามารถนำหลักการ SRE มาใช้ได้โดยไม่จำเป็นต้องมีแผนก SRE โดยเฉพาะ เริ่มต้นด้วยการกำหนด SLO สำหรับบริการที่สำคัญที่สุดของคุณ การใช้งานระบบตรวจสอบและแจ้งเตือนขั้นพื้นฐาน การเขียนคู่มือการแก้ไขปัญหาสำหรับเหตุการณ์ทั่วไป และค่อยๆ ทำให้งานที่ทำซ้ำๆ เป็นไปโดยอัตโนมัติ เป้าหมายคือการฝังแนวคิดด้านความน่าเชื่อถือเข้าไปในทีมที่มีอยู่ของคุณ แทนที่จะสร้างแผนกแยกต่างหาก
ใน SRE งบประมาณข้อผิดพลาดคืออะไร?
งบประมาณข้อผิดพลาดคืออัตราความล้มเหลวสูงสุดที่ยอมรับได้สำหรับบริการ โดยคำนวณจาก 100% ลบด้วยเป้าหมาย SLO ของคุณ ตัวอย่างเช่น หาก SLO ของคุณคือความพร้อมใช้งาน 99.9% งบประมาณข้อผิดพลาดของคุณคือ 0.1% ซึ่งหมายความว่าคุณสามารถยอมรับเวลาหยุดทำงานได้ประมาณ 43 นาทีต่อเดือน เมื่องบประมาณหมดลง การปรับใช้บริการอาจต้องหยุดชั่วคราวเพื่อมุ่งเน้นไปที่ความน่าเชื่อถือจนกว่าบริการจะเสถียรขึ้น
เหตุใดการบำรุงรักษาแบบเฉพาะกิจจึงถือว่ามีความเสี่ยง?
การบำรุงรักษาแบบเฉพาะกิจมีความเสี่ยง เพราะขาดโครงสร้างที่จำเป็นในการป้องกันความล้มเหลวที่เกิดขึ้นซ้ำๆ และตอบสนองต่อเหตุการณ์ต่างๆ ได้อย่างสม่ำเสมอ หากไม่มีเอกสาร คู่มือการปฏิบัติงาน หรือการวิเคราะห์หลังเกิดเหตุ ปัญหาเดิมๆ ก็มักจะเกิดขึ้นซ้ำอีก และความรู้ภายในองค์กรก็จะติดอยู่ในหัวของวิศวกรแต่ละคน เมื่อเวลาผ่านไป สิ่งนี้จะสร้างระบบที่เปราะบางซึ่งขึ้นอยู่กับความพร้อมของบุคคลเฉพาะกลุ่ม
การชันสูตรศพโดยปราศจากข้อกล่าวหาทำงานอย่างไร?
การวิเคราะห์หลังเกิดเหตุโดยไม่กล่าวโทษบุคคลใดบุคคลหนึ่ง จะเน้นที่ความล้มเหลวของระบบและกระบวนการ มากกว่าความผิดพลาดของบุคคล หลังเกิดเหตุการณ์ ทีมงานจะบันทึกสิ่งที่เกิดขึ้น สาเหตุที่เกิดขึ้น และการเปลี่ยนแปลงที่จะป้องกันไม่ให้เกิดซ้ำอีก โดยไม่กล่าวโทษบุคคลใดบุคคลหนึ่ง แนวทางนี้ส่งเสริมการรายงานอย่างตรงไปตรงมา และช่วยให้องค์กรเรียนรู้จากความล้มเหลว แทนที่จะปกปิดมัน
ในบริบทของ SRE นั้น "งานหนัก" หมายถึงอะไร?
งานที่ต้องทำซ้ำๆ ด้วยมือ (Toil) หมายถึงงานปฏิบัติการที่ต้องทำซ้ำๆ ด้วยมือ ซึ่งจะเพิ่มขึ้นตามขนาดของระบบ เช่น การรีสตาร์ทบริการ การตอบสนองต่อการแจ้งเตือนตามปกติ หรือการปรับใช้การเปลี่ยนแปลงด้วยตนเอง SRE มีเป้าหมายที่จะลดงานที่ต้องทำซ้ำๆ ด้วยมือเหล่านี้ผ่านระบบอัตโนมัติ เพื่อให้วิศวกรสามารถใช้เวลามากขึ้นกับโครงการที่ช่วยปรับปรุงความน่าเชื่อถือในระยะยาว Google มีคำแนะนำที่ชัดเจนว่าควรจำกัดงานที่ต้องทำซ้ำๆ ด้วยมือเหล่านี้ให้ต่ำกว่า 50% ของเวลาทำงานของวิศวกร
บริษัทควรเปลี่ยนจากการบำรุงรักษาแบบเฉพาะกิจไปเป็นการบำรุงรักษาเชิงโครงสร้าง (SRE) เมื่อใด?
การเปลี่ยนผ่านมักมีความเหมาะสมเมื่อเวลาหยุดทำงานเริ่มส่งผลกระทบต่อลูกค้าหรือรายได้ เมื่อทีมใช้เวลาแก้ไขปัญหามากกว่าการพัฒนา หรือเมื่อเหตุการณ์ผิดปกติเกิดขึ้นบ่อยครั้งจนทำลายความไว้วางใจ ปัจจัยกระตุ้นอื่นๆ ได้แก่ ข้อกำหนดด้านกฎระเบียบเกี่ยวกับเวลาการใช้งาน ระบบมีความซับซ้อนมากขึ้นอย่างรวดเร็ว หรือความยากลำบากในการฝึกอบรมวิศวกรใหม่เนื่องจากกระบวนการทำงานไม่ได้มีการบันทึกไว้
SRE กับ DevOps เหมือนกันหรือไม่?
SRE และ DevOps มีเป้าหมายคล้ายกัน คือการทำลายกำแพงกั้นระหว่างการพัฒนาและการปฏิบัติงาน แต่ทั้งสองวิธีนั้นแตกต่างกัน DevOps เป็นปรัชญาทางวัฒนธรรมที่กว้างกว่า โดยเน้นการทำงานร่วมกันและการส่งมอบอย่างต่อเนื่อง ในขณะที่ SRE เป็นการนำไปใช้เฉพาะด้านด้วยแนวปฏิบัติที่เป็นรูปธรรม เช่น SLO และงบประมาณข้อผิดพลาด หลายองค์กรใช้ SRE เป็นการนำหลักการของ DevOps มาใช้ในทางปฏิบัติ
โดยทั่วไปแล้วทีม SRE ใช้เครื่องมืออะไรบ้าง?
เครื่องมือ SRE ทั่วไป ได้แก่ Prometheus และ Grafana สำหรับการตรวจสอบ, PagerDuty หรือ Opsgenie สำหรับการแจ้งเตือนและการจัดการการเข้าเวร, Terraform หรือ Ansible สำหรับการทำงานอัตโนมัติของโครงสร้างพื้นฐาน และเครื่องมือต่างๆ เช่น แพลตฟอร์ม Chaos Engineering สำหรับการทดสอบความยืดหยุ่น ชุดเครื่องมือที่ใช้จะแตกต่างกันไป แต่เป้าหมายพื้นฐานนั้นเหมือนกันเสมอ คือ การมองเห็นสถานการณ์ การทำงานอัตโนมัติ และการตอบสนองต่อเหตุการณ์อย่างรวดเร็ว
การบำรุงรักษาแบบเฉพาะหน้าจะเป็นทางเลือกที่เหมาะสมได้หรือไม่?
ใช่ ในบางบริบทที่เฉพาะเจาะจงมาก ๆ เช่น สำหรับต้นแบบ เครื่องมือภายในที่มีผู้ใช้น้อย หรือผลิตภัณฑ์ในระยะเริ่มต้นที่ความเร็วมีความสำคัญมากกว่าความน่าเชื่อถือ การบำรุงรักษาแบบเฉพาะกิจอาจเป็นทางเลือกที่สมเหตุสมผล สิ่งสำคัญคือต้องซื่อสัตย์ต่อข้อดีข้อเสีย และวางแผนที่จะเพิ่มโครงสร้างมากขึ้นเมื่อระบบมีความสำคัญและซับซ้อนมากขึ้น

คำตัดสิน

วิศวกรรมความน่าเชื่อถือของระบบ (System Reliability Engineering: SRE) คือทางเลือกที่เหมาะสมสำหรับองค์กรใดๆ ที่ใช้งานระบบการผลิตซึ่งการหยุดทำงานส่งผลกระทบต่อธุรกิจอย่างแท้จริง โดยเฉพาะอย่างยิ่งเมื่อระบบมีความซับซ้อนมากขึ้น การบำรุงรักษาแบบเฉพาะกิจอาจใช้ได้ผลกับโครงการในระยะเริ่มต้นมาก หรือเครื่องมือภายในที่ไม่สำคัญ แต่จะกลายเป็นภาระอย่างรวดเร็ว องค์กรด้านวิศวกรรมที่เติบโตเต็มที่ส่วนใหญ่จะเปลี่ยนจากการปฏิบัติแบบเฉพาะกิจไปสู่กรอบการทำงานที่ได้รับแรงบันดาลใจจาก SRE ในที่สุด แม้ว่าจะไม่ได้นำแบบจำลองของ Google มาใช้ทั้งหมดก็ตาม

การเปรียบเทียบที่เกี่ยวข้อง

AWS กับ Google Cloud

การเปรียบเทียบนี้พิจารณา Amazon Web Services และ Google Cloud โดยการวิเคราะห์ข้อเสนอบริการ รูปแบบการกำหนดราคา โครงสร้างพื้นฐานระดับโลก ประสิทธิภาพ ประสบการณ์ของนักพัฒนา และกรณีการใช้งานที่เหมาะสม เพื่อช่วยให้องค์กรเลือกแพลตฟอร์มคลาวด์ที่ตรงกับความต้องการทางเทคนิคและธุรกิจมากที่สุด

Kafka และ Flink เทียบกับการประมวลผลในหน่วยความจำ

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

Operational Intelligence กับ Reactive Incident Response

Operational Intelligence มุ่งเน้นการติดตามผลอย่างต่อเนื่อง การวิเคราะห์เชิงคาดการณ์ และการเพิ่มประสิทธิภาพระบบเชิงรุก ขณะที่ Reactive Incident Response เน้นไปที่การตรวจจับและแก้ไขปัญหาหลังจากที่เกิดขึ้นแล้ว ทั้งสองแนวทางมีบทบาทที่แตกต่างกันแต่เสริมซึ่งกันและกันในการบริหารจัดการโครงสร้างพื้นฐานด้าน IT และคลาวด์สมัยใหม่

Service Mesh สำหรับ Machine Learning เทียบกับ API Gateway แบบดั้งเดิม

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

กลยุทธ์การแคชในระบบแมชชีนเลิร์นนิงเทียบกับการคำนวณตามความต้องการ

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