18 คะแนน โดย GN⁺ 2024-11-05 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • Diagrams เป็นเครื่องมือที่ช่วยให้สามารถวาดสถาปัตยกรรมระบบคลาวด์ด้วยโค้ด Python ได้
    • ถูกสร้างขึ้นมาเพื่อให้ใช้งานได้โดยไม่ต้องพึ่งเครื่องมือออกแบบ เมื่อต้องการทำต้นแบบสถาปัตยกรรมระบบใหม่
    • ยังสามารถใช้เพื่ออธิบายหรือทำให้มองเห็นภาพของสถาปัตยกรรมระบบที่มีอยู่แล้วได้
    • Diagram as Code ช่วยให้สามารถติดตามการเปลี่ยนแปลงของไดอะแกรมสถาปัตยกรรมได้ในระบบควบคุมเวอร์ชัน
  • ผู้ให้บริการหลักที่รองรับ
    • รองรับผู้ให้บริการคลาวด์หลัก เช่น AWS, Azure, GCP, Kubernetes, Alibaba Cloud และ Oracle Cloud
    • ยังรองรับโหนด on-premises, SaaS, รวมถึงเฟรมเวิร์กและภาษาการเขียนโปรแกรมหลัก
  • ข้อควรทราบ
    • ไม่ได้ใช้สำหรับควบคุมทรัพยากรคลาวด์จริง หรือสร้างโค้ด CloudFormation หรือ Terraform
    • ใช้สำหรับวาดไดอะแกรมสถาปัตยกรรมระบบคลาวด์เท่านั้น

3 ความคิดเห็น

 
xguru 2024-11-06

Diagrams - วาดสถาปัตยกรรมคลาวด์ด้วยโค้ด Python
ผลงานที่คุณมินแจควอนจาก Karrot Market สร้างไว้ ตอนนี้มี GitHub Star เพิ่มขึ้นมาถึง 38,700 แล้ว!

 
GN⁺ 2024-11-05
ความคิดเห็นบน Hacker News
  • โปรเจ็กต์นี้เป็นแรปเปอร์ของ Graphviz ที่สร้างไฟล์ .dot พร้อมสไตล์ จึงให้ผลลัพธ์ด้านภาพที่ดีกว่าไฟล์ gv แบบดิบ

    • ในทางทฤษฎี การเขียนสเปกด้วย Python ให้ข้อดีอย่างการไฮไลต์และการเติมคำอัตโนมัติใน IDE แต่ในทางปฏิบัติไม่เหมาะกับคนที่ไม่อยากเรียน Python หรือ Golang
    • สำหรับไดอะแกรมสถาปัตยกรรมขนาดเล็ก เอนจินจัดเลย์เอาต์ถือว่าใช้ได้ แต่พอขนาดใหญ่ขึ้นแล้วดูไม่ค่อยดี
    • ใช้ draw.io เพื่ออธิบายเจตนาหรือดีไซน์ และใช้ Graphviz พร้อมสไตล์สำหรับองค์ประกอบที่เปลี่ยนแปลงได้
    • อยากเห็นการขยายภาษา dot เพื่อให้รองรับการทำ threat modeling และการจัดสไตล์ตอนเรนเดอร์
  • D2 เป็นเครื่องมือที่ค่อนข้างเจ๋ง

    • NetBox ของ Digital Ocean สามารถสร้างไดอะแกรมจากฐานข้อมูลทรัพย์สินเครือข่ายได้
    • NetBox ทำหน้าที่เป็นแหล่งข้อมูลจริงเพียงแหล่งเดียวของโครงสร้างพื้นฐานเครือข่าย และกำหนดรวมถึงตรวจสอบสถานะที่ตั้งใจไว้ขององค์ประกอบและทรัพยากรในเครือข่าย
    • แต่ละไฟล์แสดงถึงประเภทอุปกรณ์กายภาพแต่ละแบบ และสามารถโหลดเข้า NetBox ได้ ทำให้ไม่ต้องสร้างคำนิยามประเภทอุปกรณ์ใหม่ด้วยตนเอง
    • ภาพอุปกรณ์ถูกจัดเป็นหมวดตามผู้ผลิตในรูปแบบ PNG และสามารถโหลดเข้า NetBox ได้ จึงไม่ต้องสร้างภาพอุปกรณ์เอง
  • โดยส่วนตัวใช้ Mermaid สำหรับ sequence diagram และ flowchart

    • DaC ดูเหมือนจะเป็นตัวเลือกที่ดีกว่าสำหรับงานอินฟราสตรักเจอร์
  • การทำ DSL ในรูปแบบภาษาโปรแกรมดูซับซ้อนเกินไปเมื่อใช้สร้างโครงสร้างข้อมูลแบบคงที่

    • DSL มีประโยชน์เมื่อถูกใช้งานจากโค้ดอื่น แต่ในกรณีนี้มีโอเวอร์เฮดมากกว่าเมื่อเทียบกับทางเลือกอื่น
  • ภาษาโปรแกรม PostScript เป็นแบบ stack-based และยอดเยี่ยมสำหรับภาพวาดและไดอะแกรม

    • Ghostscript เป็นอินเทอร์พรีเตอร์ PostScript ฟรี
  • ไม่ชอบการใช้ Visio หรือ LucidChart และชอบวาดไดอะแกรมด้วย Python มากกว่า

    • การใช้ Python ทำให้จัดการงานสองอย่างไปพร้อมกันได้
  • การดูไลบรารีเหล่านี้ทำให้นึกถึง API ที่มีประสิทธิภาพซึ่งจะช่วยให้ LLM เชี่ยวชาญการทำไดอะแกรมได้

  • ดีใจที่มีชุดโหนด "Generic"

    • รู้สึกอึดอัดกับไดอะแกรมสถาปัตยกรรมที่พึ่งพาชื่อหรือไอคอนของคลาวด์แพลตฟอร์มเฉพาะมากเกินไป
    • ไม่มีการแสดงข้อมูลที่เป็นประโยชน์บนเส้นเชื่อมระหว่างโหนด
 
healingme 2024-11-12

มี plantuml ด้วย