ความสามารถในการสังเกต: การตรวจสอบย้อนกลับสำหรับระบบกระจาย

ความสามารถในการสังเกต: การตรวจสอบย้อนกลับสำหรับระบบกระจาย

โหนดต้นทาง: 1990640

คุณเคยรอพัสดุราคาแพงชิ้นหนึ่งที่ระบุว่า "จัดส่งแล้ว" แต่คุณไม่รู้ว่ามันอยู่ที่ไหนหรือไม่? ประวัติการติดตามหยุดอัปเดตเมื่อห้าวันก่อน และคุณเกือบจะสูญเสียความหวัง แต่เดี๋ยวก่อน 11 วันต่อมา คุณก็จะมีมันถึงหน้าประตูบ้านคุณ คุณหวังว่าการตรวจสอบย้อนกลับน่าจะดีกว่านี้เพื่อบรรเทาคุณจากการรอคอยอย่างกังวลทั้งหมด นี่คือจุดที่ "การสังเกต" เข้ามามีบทบาท

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

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

 โพสต์บล็อก โดย Etsy ได้รับการเผยแพร่เมื่อทศวรรษที่แล้ว และระบุข้อเท็จจริงไว้ในย่อหน้าที่สอง:

“ตัวชี้วัดการใช้งานมักจะเป็นสิ่งที่ยากที่สุด แต่สำคัญที่สุดในสามตัวชี้วัดนี้ สิ่งเหล่านี้มีความเฉพาะเจาะจงกับธุรกิจของคุณมากและจะเปลี่ยนไปเมื่อแอปพลิเคชันของคุณเปลี่ยนไป (และ Etsy เปลี่ยนแปลงไปมาก)”

แล้วเราจะวัดทุกอย่างและอะไรก็ตามได้อย่างไร? เราเริ่มต้นด้วยการสังเกต

การสังเกตคืออะไร?

คำว่า “การสังเกต” ก็คือ ประกาศเกียรติคุณ โดย Rudolf Emil Kálmán ในปี 1960 ในเอกสารทางวิศวกรรมของเขาเพื่ออธิบายระบบควบคุมทางคณิตศาสตร์ เขานิยามว่ามันเป็นการวัดว่าสถานะภายในของระบบสามารถอนุมานได้จากความรู้เกี่ยวกับผลลัพธ์ภายนอกได้ดีเพียงใด แต่ฟังดูเหมือนการเฝ้าติดตามไม่ใช่เหรอ? โดยพื้นฐานแล้ว ใช่ มันคือการตรวจสอบ

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

ความสามารถในการสังเกตช่วยให้สามารถติดตามแบบกระจายผ่านการรวบรวมและรวบรวมการติดตาม บันทึก และตัวชี้วัด มาดูกันว่าสิ่งเหล่านี้อนุมานถึงอะไร:

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

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

เราบรรลุผลอะไรจากการสังเกตได้ในสภาพแวดล้อมแบบกระจาย?

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

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

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

มีองค์ประกอบที่เคลื่อนไหวมากมายในระบบเหล่านี้ทั้งหมด ซึ่งมีร่องรอยเมื่อถูกจับได้ สามารถอธิบายเรื่องราวของ 5 Ws: เมื่อใด ที่ไหน ทำไม อะไร และอย่างไร ตัวอย่างเช่น คุณไปที่เว็บไซต์ของ DATAVERSITY เวลา 1:43 น. เพื่ออ่านบล็อกโพสต์ เมื่อคุณกด dataversity.net คำขอ HTTP จะถูกล็อกอินเข้าสู่ระบบ คุณเริ่มค้นหาโพสต์ในบล็อกและไปที่โพสต์การกำกับดูแลข้อมูล ซึ่งคุณใช้เวลา 17 นาทีในการอ่านโพสต์นั้น จากนั้นคุณปิดแท็บเวลา 2 น.

นอกจากนี้ยังมีการเรียกอื่นๆ ไปยังระบบเครือข่ายเพื่อจับแพ็กเก็ตเครือข่ายด้วย เครื่องมือสังเกตจะรวบรวมช่วงทั้งหมดและรวมเป็นการติดตาม ช่วยให้คุณเห็นเส้นทางที่เกิดขึ้นระหว่างวงจรการใช้งาน หากคุณมีปัญหา เช่น เวลาแฝงของเครือข่ายหรือข้อบกพร่องของระบบ ตอนนี้คุณสามารถวิเคราะห์ (ปอกหัวหอม) และแก้ไขปัญหาได้ง่ายขึ้น (ข้อผิดพลาดในเลเยอร์ใด)

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

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

องค์กรควรเลือกความสามารถในการสังเกตหรือไม่

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

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

สรุป

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

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

ประทับเวลา:

เพิ่มเติมจาก ข้อมูล