Risk Assessments (การประเมินความเสี่ยง)
คุณสามารถใช้ risk matrix เพื่อสร้างสิ่งที่เรียกว่า risk assessment ได้ ซึ่งเป็นรายงานสรุปความเสี่ยงโดยรวมของ architecture โดยมีเกณฑ์การประเมินที่มีความหมายตามบริบท (service, พื้นที่ subdomain หรือพื้นที่ domain ของระบบ) เราได้ทำ risk assessment มามากมาย และพบว่า architectural characteristic เป็นเกณฑ์การประเมินความเสี่ยงที่ยอดเยี่ยม ทำไมต้องเสียเวลาวิเคราะห์ ความเสี่ยงด้าน performance ในเมื่อ architectural characteristic ที่สำคัญของระบบคือ scalability, elasticity และ data integrity? การรู้จัก characteristic แบบที่อธิบายไว้ใน Chapter 4 คือขั้นตอนแรกในการวิเคราะห์ความเสี่ยงด้าน architecture
Tip (เคล็ดลับ)
architectural characteristic ที่สำคัญที่สุดที่ architecture ต้องรองรับ คือเกณฑ์การประเมินความเสี่ยง ที่ยอดเยี่ยม
รูปแบบพื้นฐานของรายงาน risk assessment แสดงอยู่ใน Figure 22-2 ที่นี่ 1 และ 2 แทนความเสี่ยงต่ำ, 3 และ 4 แทนความเสี่ยงปานกลาง และ 6 และ 9 แทนความเสี่ยงสูง เกณฑ์ ความเสี่ยงจะเรียงตามด้านซ้ายของ spreadsheet และบริบทจะเรียงตามด้านบน
Figure 22-2. Example of a standard risk assessment
เราใช้ระบบสั่งซื้อ ecommerce เป็นตัวอย่างสำหรับ risk assessment นี้ มันประเมินเกณฑ์ห้าอย่าง ซึ่งเป็น ตัวแทนของ architectural characteristic ที่สำคัญของระบบ ด้านบนมีสี่บริบทที่แตกต่างกัน แต่ละบริบทเป็น ตัวแทนของ domain แยกกัน (การลงทะเบียนลูกค้า, catalog checkout, order fulfillment และ order shipping) บริบทระดับ domain หรือ subdomain ใช้ได้ดี การวิเคราะห์ความเสี่ยงในระดับ service มักละเอียดเกินไป และ ไม่ครอบคลุมความเสี่ยงที่เกี่ยวข้องกับการสื่อสารหรือการประสานงานระหว่างหลาย service
สิ่งที่ดีเกี่ยวกับการใช้ความเสี่ยงที่ถูกวัดปริมาณคือมันพิจารณาทั้งเกณฑ์ความเสี่ยงและบริบทไปพร้อมกัน ตัวอย่างเช่น ใน Figure 22-2 ความเสี่ยงสะสมทั้งหมดสำหรับ data integrity คือ 17 ทำให้มันเป็นพื้นที่เสี่ยงสูงสุดในแง่ของเกณฑ์ ความเสี่ยงสะสมสำหรับ availability มีแค่ 10 (ต่ำที่สุดในแง่เกณฑ์) แต่ในแง่ของความเสี่ยงสัมพัทธ์ของแต่ละ บริบท การลงทะเบียนลูกค้าเป็น domain ที่มีความเสี่ยงสูงสุดในแง่บริบท ในขณะที่ order fulfillment เป็นบริบทที่มีความเสี่ยงต่ำสุด นี่เป็นข้อมูลที่มีประโยชน์ในการกำหนดลำดับความสำคัญและตัดสินว่าจะทุ่มเท ความพยายามเพิ่มเติมเพื่อลดความเสี่ยงที่ไหน
ตัวอย่าง risk assessment นี้มีผลการวิเคราะห์ความเสี่ยงทั้งหมด แต่บางครั้งการกรองรายละเอียดออกเพื่อเน้น ปัญหาบางอย่างก็มีประโยชน์ ตัวอย่างเช่น สมมติว่าคุณในฐานะสถาปนิกของระบบนี้อยู่ในที่ประชุม กำลังนำเสนอ พื้นที่เสี่ยงสูงของระบบให้ stakeholder ฟัง แทนที่จะนำเสนอ risk assessment แบบเต็มอย่างที่ Figure 22-2 ทำ คุณอาจกรองพื้นที่เสี่ยงต่ำและปานกลางออก (ที่เป็น noise) เพื่อเน้นพื้นที่เสี่ยงสูง (ที่เป็น signal) การปรับปรุง signal-to-noise ratio โดยรวมช่วยให้คุณส่งข้อความที่มีประสิทธิภาพมากขึ้นและรบกวนน้อยลง Figure 22-3 แสดง risk assessment เดียวกันในเวอร์ชันที่กรองแล้ว ลองเปรียบเทียบสองภาพเพื่อดูว่าข้อความชัดเจนขึ้นแค่ไหน ด้วย assessment ที่กรองแล้วนี้
Figure 22-3. Filtering the risk assessment to show only high risks
ปัญหาหนึ่งของ risk assessment แบบเต็มคือมันแสดงแค่ภาพรวม ณ ช่วงเวลาหนึ่งเท่านั้น ไม่ได้บอกว่าสิ่งต่าง ๆ กำลังดีขึ้นหรือแย่ลง กล่าวอีกนัยหนึ่งคือ Figure 22-2 ไม่ได้แสดง ทิศทางของความเสี่ยง คุณสามารถระบุทิศทางของความเสี่ยงได้ด้วยการวัดอย่างต่อเนื่องผ่าน fitness function ดังที่อธิบายไว้ใน Chapter 6 การวิเคราะห์เกณฑ์ความเสี่ยงแต่ละอย่างอย่าง objective ช่วยให้คุณสังเกต trend เพื่อดูทิศทางของแต่ละเกณฑ์ ความเสี่ยงได้
ใน Figure 22-4 เราเพิ่มมิติที่สามเข้าไปใน risk assessment นั่นคือ ทิศทาง เราใช้สามเหลี่ยมหัวขึ้นเพื่อบอกว่าความเสี่ยงสำหรับเกณฑ์และบริบทนั้น ๆ กำลังแย่ลง—ปลายสามเหลี่ยมชี้ขึ้น ไปยังตัวเลขที่ สูงขึ้น ในทางกลับกัน เราใช้สามเหลี่ยมหัวลงเพื่อบอกว่าความเสี่ยงกำลังลดลง (กล่าวอีกนัยหนึ่งคือปลายชี้ลงไปยัง ตัวเลขที่ ต่ำลง ) สุดท้าย เราใช้วงกลมเพื่อแทนว่าความเสี่ยงไม่ได้เปลี่ยนแปลง—ไม่ได้ดีขึ้นหรือแย่ลง สิ่งนี้อาจทำให้สับสนได้ เราจึงแนะนำให้ใส่ key เสมอเวลาใช้สัญลักษณ์ใด ๆ เพื่อแทนทิศทาง
Figure 22-4. Showing direction of risk using triangles
risk assessment ด้าน architecture ฉบับแก้ไขนี้ ซึ่งตอนนี้แสดงทิศทางแล้ว บอกเรื่องราวที่ต่างจากต้นฉบับ อันดับแรก เราจะเห็นว่า data integrity กำลังแย่ลงตามการวัดอย่างต่อเนื่อง (สามเหลี่ยมชี้ขึ้น) สำหรับ catalog checkout, order fulfillment และ order shipping ซึ่งอาจบ่งชี้ปัญหาด้านฐานข้อมูล อย่างไรก็ตาม security และ availability กำลังดีขึ้นโดยรวม (สามเหลี่ยมชี้ลง) สำหรับการลงทะเบียนลูกค้าและ catalog checkout ซึ่งบ่งชี้การปรับปรุงในพื้นที่เหล่านั้น
ต่อไป เราจะอธิบายกระบวนการที่เรียกว่า risk storming ที่ทีมสามารถใช้เพื่อระบุ วิธี ระบุระดับความเสี่ยงสำหรับบริบทและเกณฑ์เฉพาะเจาะจงได้