Getting Started (การเริ่มต้น)
อย่างที่ ผมได้สรุปไว้ มีอะไรให้คิดมากมายในเรื่องนี้ แต่ผมอยากให้จุดเริ่มต้นพื้นฐานสำหรับสถาปัตยกรรม microservice ง่าย ๆ ในแง่ของสิ่งที่คุณควรจับและวิธีที่คุณควรจับมัน
เริ่มต้น คุณอยากสามารถจับข้อมูลพื้นฐานเกี่ยวกับ host ที่ microservice ของคุณกำลังรันอยู่—CPU rate, I/O และอื่น ๆ—และทำให้แน่ใจว่าคุณสามารถจับคู่ microservice instance กลับไปยัง host ที่มันรันอยู่ได้ สำหรับ microservice instance แต่ละตัว คุณอยากจับ response time สำหรับ service interface ของมัน และบันทึกการเรียก downstream ทั้งหมดลงใน log ให้ correlation ID เข้าไปอยู่ใน log ของคุณตั้งแต่เริ่มต้น log ขั้นตอนสำคัญอื่น ๆ ใน business process ของคุณด้วย สิ่งนี้จะต้องการให้คุณมี metric และ log aggregation toolchain พื้นฐานอย่างน้อยพร้อมใช้งานอยู่แล้ว
ผมค่อนข้างลังเลที่จะบอกว่าคุณต้องเริ่มต้นด้วยเครื่องมือ distributed tracing เฉพาะทาง ถ้าคุณต้องรันและ host เครื่องมือนี้เอง สิ่งนี้อาจเพิ่ม complexity อย่างมีนัยสำคัญ ในทางกลับกัน ถ้าคุณสามารถใช้ fully managed service offering ได้ง่าย ๆ การ instrument microservice ของคุณตั้งแต่เริ่มต้นก็สมเหตุสมผลมาก
สำหรับ operation สำคัญ ให้พิจารณาสร้าง synthetic transaction อย่างจริงจัง เพื่อเป็นวิธีเข้าใจได้ดีขึ้นว่าแง่มุมสำคัญของระบบของคุณทำงานได้อย่างถูกต้องหรือไม่ สร้างระบบของคุณโดยคำนึงถึงความสามารถนี้
ทั้งหมดนี้เป็นแค่การรวบรวมข้อมูลพื้นฐาน สำคัญกว่านั้น คุณต้องมั่นใจว่าคุณสามารถคุ้ยหาข้อมูลนี้เพื่อตั้งคำถามกับระบบที่กำลังรันอยู่ได้ คุณสามารถพูดได้อย่างมั่นใจไหมว่าระบบกำลังทำงานได้อย่างถูกต้องสำหรับผู้ใช้ของคุณ? เมื่อเวลาผ่านไป คุณจะต้องรวบรวมข้อมูลมากขึ้นและปรับปรุง tooling ของคุณ (และวิธีที่คุณใช้มัน) เพื่อปรับปรุง observability ของ platform ของคุณให้ดีขึ้น