หมวดหมู่: architecture

SonarQube: คุณครูระเบียบSonarQube: คุณครูระเบียบ

เหมือน “ครูภาษาไทย / คณิตศาสตร์ / ภาษาอังกฤษ” ที่คอยตรวจการบ้านเพื่อให้แน่ใจว่างานของคุณ สะอาด เป็นระเบียบ และไม่มีจุดบกพร่องในระยะยาว ครับ

SonarQube เป็นแพลตฟอร์มแบบ Open-platform สำหรับการทำ Static Application Security Testing และตรวจวัด Code Quality โดยอัตโนมัติ


📊 4 เสาหลักที่ SonarQube ตรวจสอบ

  1. Bugs
    ตรวจหาข้อผิดพลาดทาง Logic ที่อาจทำให้โปรแกรมพัง
  2. Vulnerabilities
    ตรวจหาช่องโหว่ด้านความปลอดภัยเบื้องต้น
  3. Code Smells
    ตรวจหาโค้ดที่ “อ่านยาก” หรือ “ดูแลยาก” เช่น ฟังก์ชันที่ยาวเกินไป หรือตัวแปรที่ประกาศไว้แต่ไม่ได้ใช้
  4. Security Hotspots
    ชี้จุดที่ดู “น่าสงสัย” ในเชิงความปลอดภัย เพื่อให้ Developer เข้ามาตรวจสอบด้วยตัวเอง

💡 ฟีเจอร์เด่นที่ขาดไม่ได้

  • Code Coverage
    บอกเราว่า Unit Test ที่เขียนไปนั้นครอบคลุม Source Code กี่เปอร์เซ็นต์
  • Duplications
    ตรวจสอบว่ามีการ Copy-Paste โค้ดซ้ำ ๆ หรือไม่ เพื่อลดความซ้ำซ้อน
  • Quality Gate
    เป็นการตั้ง “เกณฑ์มาตรฐาน” หากไม่ผ่านเกณฑ์นี้ SonarQube จะไม่อนุญาตให้ Merge Code หรือผ่าน Pipeline
  • Multi-Language
    รองรับมากกว่า 30 ภาษา

🔄 ความแตกต่างระหว่าง Trivy vs SonarQube

เพื่อให้เห็นภาพชัดเจนในสายงาน DevSecOps

คุณลักษณะ Trivy SonarQube
จุดเน้นหลัก Infrastructure & Security Application Code Quality
สิ่งที่สแกน Docker Image, Packages, IaC, Secret Source Code
ความเร็ว เร็วมาก ช้ากว่า
การใช้งาน ป้องกันช่องโหว่ภายนอกและ Misconfig ป้องกันหนี้ทางเทคนิค

🛠️ ตัวอย่างการนำไปใช้

ในฐานะที่คุณทำงานด้าน System Analyst และ Developer คุณอาจเห็น Workflow นี้ในองค์กร

  1. Developer เขียนโค้ดและ Push ขึ้น Git
  2. SonarQube Scan ทำงานเพื่อตรวจความสะอาดของโค้ด
  3. Build Image และใช้ Trivy Scan เพื่อตรวจหาช่องโหว่ในระดับ OS และ Library
  4. ถ้าผ่านทั้งคู่ ถึงจะอนุญาตให้ Deploy ขึ้น Server

สรุปง่าย ๆ
อยากให้ระบบ “ปลอดภัย” ใช้ Trivy อยากให้โค้ด “สุขภาพดี” ใช้ SonarQube ครับ


อ่านเพิ่มเติม