คำแนะนำสำหรับแนวทางปฏิบัติในการปรับใช้งานที่ปลอดภัย
นำไปใช้กับคำแนะนำรายการตรวจสอบความเป็นเลิศในการปฏิบัติงานที่ได้รับการออกแบบอย่างดีนี้: Power Platform
โออี:10 | กำหนดแนวทางปฏิบัติในการปรับใช้งานที่ปลอดภัยของเวิร์กโหลดของคุณอย่างชัดเจน เน้นย้ำถึงความเหมาะสมของวิธีการเผยแพร่ที่มีขนาดเล็ก ส่วนที่เพิ่ม และมีการควบคุมคุณภาพ ใช้รูปแบบการปรับใช้งานที่ทันสมัยเพื่อควบคุมความเสี่ยง พิจารณาการปรับใช้งานตามปกติและการปรับใช้งานฉุกเฉินหรือโปรแกรมแก้ไขด่วน |
---|
คู่มือนี้จะอธิบายคำแนะนำสำหรับการใช้แนวทางปฏิบัติในการปรับใช้ที่ปลอดภัย กระบวนการและขั้นตอนการปรับใช้งานที่ปลอดภัยจะกำหนดวิธีการสร้างและปรับใช้การเปลี่ยนแปลงกับเวิร์กโหลดของคุณอย่างปลอดภัย การดำเนินการดังกล่าวต้องให้คุณคิดเกี่ยวกับการปรับใช้ผ่านมุมมองของการจัดการความเสี่ยง คุณสามารถลดความเสี่ยงจากข้อผิดพลาดของมนุษย์ในระหว่างการใช้งานและจำกัดผลกระทบของการใช้งานที่มีปัญหาต่อผู้ใช้ของคุณได้โดยนำแนวทางปฏิบัตินี้ไปใช้
กลยุทธ์การออกแบบที่สำคัญ
มีแนวทางที่สำคัญที่ต้องคำนึงถึงเมื่อใช้แนวทางปฏิบัติในการปรับใช้งานที่ปลอดภัย:
- ความปลอดภัยและความสม่ำเสมอ: การเปลี่ยนแปลงทั้งหมดต่อปริมาณงานการผลิตนั้นมีความเสี่ยงในตัวเองและจะต้องทำด้วยการมุ่งเน้นไปที่ความปลอดภัยและความสม่ำเสมอ
- แบบจำลองสุขภาพ: การปรับใช้จะต้องผ่านการตรวจสอบสุขภาพก่อนจึงจะเริ่มการเปิดเผยแบบก้าวหน้าในแต่ละระยะได้
- การตรวจจับปัญหา: เมื่อตรวจพบปัญหา ควรหยุดการปรับใช้ทันทีและเริ่มการกู้คืน
ส่วนต่อไปนี้ให้คำแนะนำโดยละเอียดเกี่ยวกับแต่ละประเด็นเหล่านี้
ความปลอดภัยและความสอดคล้องกัน
ไม่ว่าคุณจะกำลังปรับใช้การอัปเดตโค้ดแอปพลิเคชัน โครงสร้างพื้นฐานในรูปแบบโค้ด (IaC) แฟล็กฟีเจอร์ หรือการกำหนดค่า คุณกำลังนำความเสี่ยงมาสู่เวิร์กโหลด ไม่มีการปรับใช้ที่มีความเสี่ยงต่ำในการผลิต การปรับใช้งานทุกครั้งต้องเป็นไปตามรูปแบบมาตรฐาน และควรเป็นแบบอัตโนมัติเพื่อบังคับใช้ความสอดคล้องและลดความเสี่ยงของข้อผิดพลาดของมนุษย์ สิ่งสำคัญคือ ห่วงโซ่อุปทานเวิร์กโหลดและไปป์ไลน์การปรับใช้งานของคุณต้องเชื่อถือได้ ปลอดภัย และมีมาตรฐานการปรับใช้งานที่กำหนดไว้อย่างชัดเจน โดยถือว่าทุกการปรับใช้งานเป็นความเสี่ยงที่เป็นไปได้ และกำหนดให้ทุกการปรับใช้งานมีการจัดการความเสี่ยงในระดับเดียวกัน
แม้ว่าจะมีความเสี่ยง แต่คุณควรใช้การเปลี่ยนแปลงกับเวิร์กโหลดของคุณเป็นประจำ หากไม่ปรับใช้การอัปเดตเป็นประจำจะทำให้เกิดความเสี่ยงอื่นๆ เช่น ช่องโหว่ด้านความปลอดภัยที่ต้องแก้ไขผ่านการปรับใช้งาน เรียนรู้เพิ่มเติมได้ที่ คำแนะนำสำหรับการออกแบบการพัฒนาเวิร์กโหลด ห่วงโซ่อุปทาน
การปรับใช้งานขนาดเล็กบ่อยครั้งจะดีกว่าการปรับใช้งานขนาดใหญ่ที่ไม่บ่อยนัก การเปลี่ยนแปลงเล็กๆ น้อยๆ จะแก้ไขได้ง่ายกว่าเมื่อเกิดปัญหาและการปรับใช้งานบ่อยครั้งช่วยทีมของคุณสร้างความมั่นใจในกระบวนการปรับใช้งาน สิ่งสำคัญคือ คุณต้องเรียนรู้จากการทำงานจริงโดยการตรวจสอบกระบวนการเวิร์กโหลดของคุณ เมื่อคุณพบความผิดปกติในระหว่างการปรับใช้งาน คุณอาจพบจุดอ่อนในการออกแบบโครงสร้างพื้นฐานหรือการเปิดใช้งานของคุณ เมื่อเกิดปัญหาขึ้นระหว่างการปรับใช้ ให้แน่ใจว่าการชันสูตรพลิกศพโดยไม่มีข้อผิดพลาดเป็นส่วนหนึ่งของกระบวนการของคุณเพื่อรวบรวมบทเรียนเกี่ยวกับเหตุการณ์นั้นๆ
โมเดลคุณภาพ
พัฒนาโมเดลคุณภาพที่แข็งแกร่งโดยเป็นส่วนหนึ่งของแพลตฟอร์มการตรวจสอบความสามารถในการสังเกตและกลยุทธ์ความน่าเชื่อถือ โมเดลคุณภาพของคุณควรให้การมองเห็นเชิงลึกเกี่ยวกับส่วนประกอบและคุณภาพโดยรวมของเวิร์กโหลด ติดตามข้อมูลด้านสุขภาพอย่างใกล้ชิดหลังการเปิดตัว หากคุณได้รับการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงด้านสุขภาพระหว่างการเปิดตัว ให้ตรวจสอบปัญหานั้นทันทีและกำหนดวิธีดำเนินการขั้นต่อไป เช่น การย้อนกลับการเปลี่ยนแปลง หากผู้ใช้ไม่รายงานปัญหาและตัวบ่งชี้สุขภาพทั้งหมดยังคงเป็นสีเขียว การเปิดตัวควรดำเนินต่อไป อย่าลืมรวมเมตริกการใช้งานไว้ในโมเดลสุขภาพของคุณ เพื่อช่วยให้แน่ใจว่าการขาดปัญหาที่ผู้ใช้รายงานและสัญญาณด้านสุขภาพเชิงลบจะไม่ปกปิดปัญหาใดๆ เรียนรู้เพิ่มเติมได้ที่ คำแนะนำสำหรับการดำเนินการวิเคราะห์โหมดความล้มเหลว
การตรวจหาปัญหา
เมื่อการปรับใช้งานของคุณทำให้เกิดปัญหาในกลุ่มการเปิดใช้งานกลุ่มใดกลุ่มหนึ่ง การเปิดใช้งานต้องหยุดทันที ตรวจสอบสาเหตุของปัญหาและความรุนแรงของผลกระทบทันทีที่ได้รับการแจ้งเตือน การกู้คืนจากปัญหาอาจรวมถึง:
- ย้อนกลับ โดยการเลิกทำการเปลี่ยนแปลงที่เกิดขึ้นในการปรับใช้ และย้อนกลับไปยังการกำหนดค่าการทำงานที่ทราบล่าสุด
- เดินหน้า โดยการแก้ไขปัญหาในระหว่างการเปิดตัว คุณสามารถแก้ไขปัญหาระหว่างการเปิดใช้งานได้โดยใช้โปรแกรมแก้ไขด่วนหรือลดปัญหาให้เหลือน้อยที่สุด
- การปรับใช้โครงสร้างพื้นฐานใหม่ โดยใช้การกำหนดค่าการทำงานล่าสุดที่ทราบ
การย้อนกลับการเปลี่ยนแปลง โดยเฉพาะฐานข้อมูล สคีมา หรือการเปลี่ยนแปลงส่วนประกอบที่มีสถานะอื่นๆ อาจมีความซับซ้อน แนวทางการปฏิบัติการใช้งานอย่างปลอดภัยของคุณควรให้คำแนะนำที่ชัดเจนเกี่ยวกับวิธีการจัดการกับการเปลี่ยนแปลงข้อมูลตามการออกแบบพื้นที่ข้อมูลสำหรับภาระงานของคุณ ในทำนองเดียวกัน การกลิ้งไปข้างหน้าต้องได้รับการจัดการอย่างระมัดระวังเพื่อให้มั่นใจว่าไม่มีการละเลยกระบวนการปรับใช้ที่ปลอดภัย และโปรแกรมแก้ไขด่วนหรือความพยายามลดขนาดอื่นๆ จะดำเนินการอย่างปลอดภัย
คำแนะนำทั่วไป
ใช้การกำหนดเวอร์ชันในอาร์ทิแฟกต์การสร้างของคุณเพื่อช่วยให้แน่ใจว่าคุณสามารถย้อนกลับและเดินหน้าต่อได้เมื่อจำเป็น
ใช้โฟลว์การเผยแพร่หรือโครงสร้างการแตกสาขาตาม Trunk ซึ่งบังคับใช้การทำงานร่วมกันที่ซิงค์กันอย่างแน่นหนาในทีมพัฒนาแทนที่จะเป็น Gitflow หรือโครงสร้างการแตกสาขาตามสภาพแวดล้อม
ให้การดำเนินการใช้งานที่ปลอดภัยเป็นระบบอัตโนมัติให้มากที่สุดเท่าที่จะเป็นไปได้ เรียนรู้เพิ่มเติมได้ที่ คำแนะนำสำหรับการนำระบบอัตโนมัติมาใช้
ใช้แนวทางปฏิบัติในการรวมอย่างต่อเนื่อง (CI) เพื่อรวมการเปลี่ยนแปลงโค้ดเข้ากับที่เก็บเป็นประจำ แนวทางปฏิบัติของ CI สามารถช่วยคุณระบุข้อขัดแย้งในการรวมและลดโอกาสที่จะเกิดการรวมขนาดใหญ่และมีความเสี่ยง เรียนรู้เพิ่มเติมใน คำแนะนำสำหรับการบูรณาการอย่างต่อเนื่อง
ใช้ค่าสถานะคุณลักษณะเพื่อเลือกเปิดหรือปิดใช้งานคุณลักษณะใหม่หรือการเปลี่ยนแปลงในการทำงานจริง ค่าสถานะคุณลักษณะสามารถช่วยให้คุณควบคุมความเสี่ยงของโค้ดใหม่และย้อนกลับการปรับใช้งานได้อย่างรวดเร็วหากเกิดปัญหา
ปรับใช้การเปลี่ยนแปลงสภาพแวดล้อมแบบชั่วคราวที่สะท้อนสภาพแวดล้อมการทำงานจริงของคุณ สภาพแวดล้อมการฝึกปฏิบัติช่วยให้คุณสามารถทดสอบการเปลี่ยนแปลงในสภาพแวดล้อมที่มีการควบคุมก่อนที่จะปรับใช้กับสภาพแวดล้อมจริง
สร้างการตรวจสอบก่อนการปรับใช้งาน รวมถึงการตรวจสอบโค้ด การสแกนความปลอดภัย และการตรวจสอบการปฏิบัติตามข้อกำหนด เพื่อช่วยให้แน่ใจว่าการเปลี่ยนแปลงจะปลอดภัยในการปรับใช้งาน
ติดตั้งเบรกเกอร์เพื่อหยุดการรับส่งข้อมูลไปยังบริการที่ประสบปัญหาโดยอัตโนมัติ และช่วยป้องกันไม่ให้ระบบเสื่อมโทรมลงเพิ่มเติม
โปรโตคอลฉุกเฉิน
กำหนดโปรโตคอลที่กำหนดว่ากระบวนการปรับใช้ที่ปลอดภัยของคุณสามารถปรับเปลี่ยนได้อย่างไรสำหรับโปรแกรมแก้ไขด่วนหรือสำหรับปัญหาฉุกเฉิน เช่น การละเมิดความปลอดภัยหรือการเปิดเผยช่องโหว่ ตัวอย่างเช่น โปรโตคอลฉุกเฉินของคุณอาจรวมถึง:
- เร่งรัดขั้นตอนการเลื่อนตำแหน่งและการอนุมัติ
- การเร่งความเร็วการทดสอบควันและการทดสอบบูรณาการ
- ลดเวลาการอบ
ในบางกรณี เหตุฉุกเฉินอาจจำกัดคุณภาพและการควบคุมการทดสอบ แต่การควบคุมคุณภาพก็ควรดำเนินการให้เร็วที่สุดเท่าที่จะเป็นไปได้เหมือนกับการฝึกด้วยช่องทางอื่น ตรวจสอบให้แน่ใจว่าคุณได้กำหนดผู้ที่สามารถอนุมัติการเร่งความเร็วการปรับใช้อย่างปลอดภัยในกรณีฉุกเฉิน และเกณฑ์ที่ต้องปฏิบัติตามเพื่อให้การเร่งความเร็วได้รับการอนุมัติ จัดทำโปรโตคอลฉุกเฉินของคุณให้สอดคล้องกับ แผนฉุกเฉิน การตอบ ของคุณเพื่อช่วยให้แน่ใจว่าเหตุการณ์ฉุกเฉินทั้งหมดได้รับการจัดการตามโปรโตคอลเดียวกัน
ข้อควรพิจารณา
การสร้างและรักษาแนวทางปฏิบัติในการปรับใช้งานอย่างปลอดภัยนั้นซับซ้อน ความสำเร็จของคุณในการใช้มาตรฐานที่แข็งแกร่งอย่างเต็มที่นั้นขึ้นอยู่กับความสมบูรณ์ของแนวทางปฏิบัติของคุณในหลายๆ ด้านของการพัฒนาซอฟต์แวร์ การใช้ระบบอัตโนมัติ IaC เฉพาะสำหรับการเปลี่ยนแปลงโครงสร้างพื้นฐาน ความสอดคล้องในกลยุทธ์การแยกสาขา แฟล็กคุณสมบัติ และแนวทางปฏิบัติอื่นๆ ช่วยให้มั่นใจได้ถึงการปรับใช้ที่ปลอดภัย ใช้คู่มือนี้เพื่อเพิ่มประสิทธิภาพเวิร์กโหลดของคุณและแจ้งแผนการปรับปรุงเมื่อแนวทางปฏิบัติของคุณพัฒนาขึ้น
การอำนวยความสะดวกของ Power Platform
ไปป์ไลน์ใน Power Platform มีจุดมุ่งหมายเพื่อทำให้การจัดการวงจรชีวิตแอปพลิเคชัน (ALM) เป็นประชาธิปไตยสำหรับ Power Platform และลูกค้า Dynamics 365 โดยนำการทำงานอัตโนมัติของ ALM และการบูรณาการอย่างต่อเนื่องและความสามารถในการส่งมอบอย่างต่อเนื่อง (CI/CD) เข้ามาในบริการ
Microsoft Power Platform Build Tools สำหรับ Azure DevOps สามารถใช้ในการสร้างและปรับใช้งานทั่วไปที่เกี่ยวข้องกับแอปที่สร้างบน Power Platform โดยอัตโนมัติ
GitHub Actions ช่วยให้ผู้พัฒนาสามารถสร้างเวิร์กโฟลว์วงจรชีวิตการพัฒนาซอฟต์แวร์อัตโนมัติได้ Power Platform ด้วย GitHub Actions สำหรับ Microsoft Power Platform คุณสามารถสร้างเวิร์กโฟลว์ในที่เก็บของคุณเพื่อสร้าง ทดสอบ แพคเกจ นำออกใช้ และปรับใช้แอป ดำเนินการระบบอัตโนมัติ และจัดการบอทและส่วนประกอบอื่นๆ ที่สร้างขึ้นใน Power Platform
ALM Accelerator คือเครื่องมือโอเพ่นซอร์สที่ประกอบด้วยชุดแอปพลิเคชัน สคริปต์ และไปป์ไลน์ที่ออกแบบมาเพื่อทำกระบวนการบูรณาการต่อเนื่อง/ส่งมอบต่อเนื่องให้เป็นอัตโนมัติ
ทำการทดสอบอัตโนมัติด้วย Azure Pipelines
ตัวแปรสภาพแวดล้อมในโซลูชัน จะจัดเก็บคีย์และค่าพารามิเตอร์ ซึ่งทำหน้าที่เป็นอินพุตสำหรับวัตถุแอปพลิเคชันอื่น การแยกพารามิเตอร์ออกจากออบเจ็กต์ที่ใช้แล้วช่วยให้คุณสามารถเปลี่ยนค่าภายในสภาวะแวดล้อมเดียวกันหรือเมื่อคุณโอนย้ายโซลูชันไปยังสภาวะแวดล้อมอื่น
Power Platform สภาพแวดล้อม มอบฟังก์ชันการคืนค่า ณ จุดหนึ่งของเวลาที่ช่วยให้คุณย้อนกลับได้