Prepare
ในการเตรียมความพร้อมเพื่อการเป็นเลิศด้านการปฏิบัติงาน คุณต้องทำความเข้าใจเวิร์กโหลดและพฤติกรรมที่คาดหวังของระบบก่อน จากนั้นคุณจะสามารถออกแบบระบบเพื่อให้ข้อมูลเชิงลึกเกี่ยวกับสถานะ และสร้างขั้นตอนการทำงานเพื่อสนับสนุนระบบเหล่านั้นได้อย่างเหมาะสม
ออกแบบเวิร์กโหลดของคุณให้สามารถให้ข้อมูลที่จำเป็นเพื่อให้คุณเข้าใจสถานะภายใน (เช่น Metrics, Logs, Events และ Traces) ในทุกส่วนประกอบ เพื่อสนับสนุนการทำ Observability และการตรวจสอบหาสาเหตุของปัญหา Observability นั้นเหนือกว่าการตรวจสอบ (Monitoring) ทั่วไป โดยให้ความเข้าใจที่ครอบคลุมเกี่ยวกับการทำงานภายในของระบบโดยอิงจากข้อมูลที่ส่งออกมาภายนอก เมื่อมี Observability ที่มีประสิทธิภาพ ทีมจะสามารถแยกแยะรูปแบบ ความผิดปกติ และแนวโน้ม ซึ่งช่วยให้สามารถจัดการกับปัญหาที่อาจเกิดขึ้นในเชิงรุกและรักษาสุขภาพของระบบให้เหมาะสมที่สุด การระบุตัวชี้วัดผลการดำเนินงานหลัก (KPIs) เป็นสิ่งสำคัญเพื่อให้แน่ใจว่ากิจกรรมการตรวจสอบสอดคล้องกับวัตถุประสงค์ทางธุรกิจ การจัดตำแหน่งนี้ช่วยให้มั่นใจได้ว่าทีมกำลังตัดสินใจโดยใช้ข้อมูลจากตัวชี้วัดที่สำคัญจริงๆ ซึ่งจะช่วยเพิ่มประสิทธิภาพทั้งในด้านเทคนิคและผลลัพธ์ทางธุรกิจ นอกจากนี้ Observability ยังช่วยให้ธุรกิจเปลี่ยนจากการตั้งรับเป็นการเชิงรุก ทีมสามารถเข้าใจความสัมพันธ์แบบเหตุและผลภายในระบบ คาดการณ์และป้องกันปัญหาแทนที่จะรอให้เกิดขึ้น เมื่อเวิร์กโหลดวิวัฒนาการไป สิ่งสำคัญคือต้องกลับมาทบทวนและปรับปรุงกลยุทธ์ด้าน Observability เพื่อให้มั่นใจว่ายังคงมีประสิทธิภาพและสอดคล้องกับสถานการณ์ปัจจุบัน
นำแนวทางที่ช่วยปรับปรุงกระแสของการเปลี่ยนแปลง (Flow of changes) เข้าสู่ระบบจริง (Production) มาใช้ เพื่อให้สามารถทำ Refactoring ได้ รับข้อมูลตอบกลับด้านคุณภาพอย่างรวดเร็ว และแก้ไขจุดบกพร่องได้ทันท่วงที สิ่งเหล่านี้จะช่วยเร่งให้การเปลี่ยนแปลงที่เป็นประโยชน์เข้าสู่ระบบจริงได้เร็วขึ้น จำกัดปัญหาที่อาจเกิดขึ้นจากการ Deploy และช่วยให้ระบุและแก้ไขปัญหาที่เกิดจากกิจกรรมการ Deploy หรือที่พบในสภาพแวดล้อมของคุณได้อย่างรวดเร็ว
นำแนวทางที่ให้ข้อมูลตอบกลับด้านคุณภาพอย่างรวดเร็ว และสามารถกู้คืนระบบได้อย่างรวดเร็วจากการเปลี่ยนแปลงที่ไม่ได้ผลลัพธ์ตามที่ต้องการ การใช้แนวปฏิบัติเหล่านี้จะช่วยบรรเทาผลกระทบจากปัญหาที่เกิดขึ้นระหว่างการ Deploy ควรวางแผนสำหรับกรณีที่การเปลี่ยนแปลงไม่ประสบความสำเร็จเพื่อให้คุณสามารถตอบสนองได้เร็วขึ้นหากจำเป็น รวมถึงทำการทดสอบและตรวจสอบการเปลี่ยนแปลงที่คุณทำ ตระหนักถึงกิจกรรมที่วางแผนไว้ในสภาพแวดล้อมของคุณเพื่อบริหารจัดการความเสี่ยงที่การเปลี่ยนแปลงอาจส่งผลกระทบต่อกิจกรรมเหล่านั้น เน้นการเปลี่ยนแปลงที่บ่อย ครั้งละน้อยๆ และย้อนกลับได้ เพื่อจำกัดขอบเขตของการเปลี่ยนแปลง ซึ่งจะส่งผลให้การแก้ไขปัญหาและการเยียวยาทำได้รวดเร็วขึ้นโดยมีตัวเลือกในการย้อนกลับ (Roll back) และยังหมายความว่าคุณจะได้รับประโยชน์จากการเปลี่ยนแปลงที่มีค่าได้บ่อยครั้งขึ้นด้วย
ประเมินความพร้อมในการปฏิบัติงานของเวิร์กโหลด กระบวนการ ขั้นตอนการทำงาน และบุคลากร เพื่อทำความเข้าใจความเสี่ยงด้านการปฏิบัติงานที่เกี่ยวข้อง ใช้กระบวนการที่สม่ำเสมอ (รวมถึงรายการตรวจสอบหรือ Checklist ทั้งแบบแมนนวลหรืออัตโนมัติ) เพื่อให้ทราบว่าเมื่อใดที่คุณพร้อมจะนำเวิร์กโหลดหรือการเปลี่ยนแปลงนั้นเข้าสู่ระบบจริง สิ่งนี้ยังช่วยให้คุณพบจุดที่ต้องวางแผนจัดการเพิ่มเติม ควรมี Runbooks ที่บันทึกกิจกรรมรูทีนตามปกติ และ Playbooks ที่เป็นแนวทางในกระบวนการแก้ไขปัญหา ทำความเข้าใจข้อดีและข้อเสียเพื่อตัดสินใจโดยมีข้อมูลครบถ้วนก่อนอนุญาตให้การเปลี่ยนแปลงเข้าสู่ระบบจริง
AWS ช่วยให้คุณมองเวิร์กโหลดทั้งหมด (แอปพลิเคชัน, โครงสร้างพื้นฐาน, นโยบาย, ธรรมาภิบาล และการปฏิบัติงาน) ในรูปแบบของโค้ด (Operations as Code) ซึ่งหมายความว่าคุณสามารถใช้ระเบียบวินัยทางวิศวกรรมแบบเดียวกับที่ใช้ในโค้ดแอปพลิเคชันกับทุกส่วนประกอบของ Stack และแบ่งปันสิ่งเหล่านี้ข้ามทีมหรือองค์กรเพื่อขยายประโยชน์ของความพยายามในการพัฒนา ใช้ Operations as Code บนคลาวด์และความสามารถในการทดลองอย่างปลอดภัยเพื่อพัฒนาเวิร์กโหลด ขั้นตอนการปฏิบัติงาน และฝึกซ้อมรับมือกับความล้มเหลว การใช้ CloudFormation ช่วยให้คุณมีสภาพแวดล้อมสำหรับการพัฒนา (Sandbox), การทดสอบ และการใช้งานจริงที่สม่ำเสมอ เป็นรูปแบบเทมเพลต และมีการควบคุมการปฏิบัติงานในระดับที่สูงขึ้น
คำถามต่อไปนี้จะเน้นที่การพิจารณาด้านการเป็นเลิศด้านการปฏิบัติงาน:
-
OPS 4: คุณนำ Observability มาใช้ในเวิร์กโหลดของคุณอย่างไร? นำ Observability มาใช้เพื่อให้คุณสามารถเข้าใจสถานะของระบบและตัดสินใจโดยใช้ข้อมูลเป็นหลักตามข้อกำหนดทางธุรกิจ
-
OPS 5: คุณลดจุดบกพร่อง ทำให้การแก้ไขปัญหาง่ายขึ้น และปรับปรุงกระแสการทำงานสู่ระบบจริงได้อย่างไร? นำแนวทางที่ช่วยปรับปรุงกระแสของการเปลี่ยนแปลงเข้าสู่ระบบจริงมาใช้ เพื่อให้สามารถทำ Refactoring รับข้อมูลตอบกลับด้านคุณภาพเร็ว และแก้ไขบั๊กได้ทันที
-
OPS 6: คุณบรรเทาความเสี่ยงในการ Deploy อย่างไร? นำแนวทางที่ให้ข้อมูลตอบกลับด้านคุณภาพที่รวดเร็ว และบรรลุการกู้คืนที่รวดเร็วจากการเปลี่ยนแปลงที่ไม่พึงประสงค์
-
OPS 7: คุณรู้ได้อย่างไรว่าคุณพร้อมที่จะสนับสนุนเวิร์กโหลดแล้ว? ประเมินความพร้อมในการปฏิบัติงานของเวิร์กโหลด กระบวนการ ขั้นตอน และบุคลากร เพื่อทำความเข้าใจความเสี่ยงที่เกี่ยวข้อง
ลงทุนในการสร้างกิจกรรมการปฏิบัติงานให้เป็นโค้ด เพื่อเพิ่มประสิทธิภาพสูงสุดของบุคลากร ลดอัตราความผิดพลาด และบรรลุการตอบสนองแบบอัตโนมัติ ใช้การทำ "Pre-mortems" (การคาดการณ์ปัญหาล่วงหน้าก่อนเกิดเหตุ) เพื่อคาดการณ์ความล้มเหลวและสร้างขั้นตอนการรับมือที่เหมาะสม นำ Metadata มาใช้ผ่าน Resource Tags และ AWS Resource Groups โดยใช้กลยุทธ์การติดแท็กที่สม่ำเสมอเพื่อให้ระบุทรัพยากรได้ง่าย ติดแท็กทรัพยากรของคุณเพื่อการจัดระเบียบ การทำบัญชีต้นทุน การควบคุมการเข้าถึง และการระบุเป้าหมายสำหรับการทำกิจกรรมปฏิบัติงานอัตโนมัติ นำแนวปฏิบัติการ Deploy ที่ใช้ประโยชน์จากความยืดหยุ่น (Elasticity) ของคลาวด์มาใช้เพื่ออำนวยความสะดวกในการพัฒนา และการจัดเตรียมระบบล่วงหน้า (Pre-deployment) เพื่อการติดตั้งที่รวดเร็วขึ้น เมื่อคุณมีการเปลี่ยนแปลงรายการตรวจสอบ (Checklist) ที่ใช้ประเมินเวิร์กโหลด ให้วางแผนสิ่งที่จะทำกับระบบที่ใช้งานอยู่ซึ่งไม่สอดคล้องกับเกณฑ์ใหม่นั้นด้วย