18 poin oleh GN⁺ 2024-11-05 | 3 komentar | Bagikan ke WhatsApp
  • Diagrams adalah alat yang memungkinkan pembuatan arsitektur sistem cloud dengan kode Python
    • Dibuat agar bisa digunakan tanpa alat desain saat membuat prototipe arsitektur sistem baru
    • Juga dapat digunakan untuk menjelaskan atau memvisualisasikan arsitektur sistem yang sudah ada
    • Diagram as Code memungkinkan perubahan pada diagram arsitektur dilacak dalam sistem kontrol versi
  • Penyedia utama yang didukung
    • Mendukung penyedia cloud utama seperti AWS, Azure, GCP, Kubernetes, Alibaba Cloud, dan Oracle Cloud
    • Juga mendukung node on-premise, SaaS, serta framework dan bahasa pemrograman utama
  • Hal yang perlu diperhatikan
    • Tidak mengontrol resource cloud yang sebenarnya maupun menghasilkan kode CloudFormation atau Terraform
    • Digunakan hanya untuk membuat diagram arsitektur sistem cloud

3 komentar

 
xguru 2024-11-06

Diagrams - menggambar arsitektur cloud dengan kode Python
Ini dibuat oleh Minjae Kwon dari Danggeun Market, dan sekarang GitHub Star-nya sudah naik sampai 38.700!

 
GN⁺ 2024-11-05
Pendapat Hacker News
  • Proyek ini adalah pembungkus untuk Graphviz, yang menghasilkan file .dot dengan gaya sehingga memberikan efek visual yang lebih baik daripada file gv mentah

    • Menuliskannya menggunakan Python secara teori memberi keuntungan seperti highlighting dan autocomplete di IDE, tetapi dalam praktiknya kurang cocok bagi orang yang tidak ingin belajar Python atau Golang
    • Untuk diagram arsitektur kecil, mesin layout cukup baik, tetapi saat skalanya membesar hasilnya menjadi kurang enak dilihat
    • Menggunakan draw.io untuk menjelaskan maksud atau desain, dan memakai Graphviz dengan styling untuk elemen dinamis
    • Ingin melihat perluasan bahasa dot yang memungkinkan pemodelan ancaman dan styling rendering
  • D2 adalah alat yang cukup keren

    • NetBox dari Digital Ocean dapat menghasilkan diagram dari database aset jaringan
    • NetBox berfungsi sebagai sumber kebenaran untuk infrastruktur jaringan, serta mendefinisikan dan memverifikasi keadaan yang diinginkan dari komponen dan sumber daya jaringan
    • Setiap file mewakili tipe perangkat fisik individual, dan dapat dimuat ke NetBox sehingga tidak perlu membuat definisi tipe perangkat baru secara manual
    • Gambar perangkat diatur per pabrikan dalam format PNG, dan dapat dimuat ke NetBox sehingga tidak perlu membuat gambar perangkat sendiri
  • Secara pribadi menggunakan Mermaid untuk diagram sekuens dan flowchart

    • DaC tampak sebagai pilihan yang lebih baik untuk infrastruktur
  • Menerapkan DSL sebagai bahasa pemrograman terlihat rumit ketika tujuannya adalah menghasilkan struktur data statis

    • DSL berguna saat digunakan dari kode lain, tetapi dalam kasus ini ada overhead dibanding alternatif
  • Bahasa pemrograman PostScript berbasis stack dan sangat bagus untuk gambar serta diagram

    • Ghostscript adalah interpreter PostScript gratis
  • Tidak suka menggunakan Visio atau LucidChart, dan lebih memilih menggambar diagram dengan Python

    • Dengan menggunakan Python, dua pekerjaan bisa ditangani sekaligus
  • Melihat pustaka-pustaka seperti ini membuat terpikir tentang API yang efisien agar LLM bisa menguasai diagram

  • Senang ada set node "Generic"

    • Tidak nyaman dengan diagram arsitektur yang terlalu bergantung pada nama atau ikon platform cloud tertentu
    • Tidak ada informasi berguna yang ditampilkan pada garis koneksi antar node
 
healingme 2024-11-12

plantuml juga tersedia.