İnceleyicileri, nedenini tam bilmeden huzursuz eden belirli bir tür bulut diyagramı vardır. Her şey gri bir dikdörtgendir. Yük dengeleyici, kuyruk, nesne deposu ve yönetilen veritabanı birbirinin aynısı görünür; yalnızca içlerine yazılmış kelimelerle ayırt edilebilir. Teknik olarak doğrudur. Ama kimse ona göz gezdiremez ve kelime kelime okuman gereken bir diyagram, yerini aldığı paragraftan pek de hızlı değildir.
İyi bulut diyagramlarının zahmetsiz hissettirmesinin nedeni ortak bir görsel dile yaslanmalarıdır. Platform üzerinde çalışmış bir mühendis, tek bir etiket okumadan bir hesaplama servisinin, bir nesne deposunun, yönetilen bir kuyruğun şeklini bilir. Diyagramın sağlayıcının kendi ikonografisini kullandığında doğrudan o ortak hafızaya bağlanır ve resim göz gezdirilebilir hale gelir. İnsanların güvendiği bir diyagramla gözlerini kısarak baktıkları bir diyagram arasındaki fark tamamen budur.
İkonlar süs değil, anlam taşır
İkonları sona eklenen bir cila gibi görmek cazip gelir. Değiller; bir bulut diyagramının türü kodlama biçimidir. Bir kutu nesne deposu ikonunu taşıdığı anda okur, sen tek kelime yazmadan onun dayanıklılık hikayesini, erişim desenini ve maliyet modelini bilir. Yönetilen veritabanı ikonu, düz bir dikdörtgenin asla söyleyemeyeceği şekilde "bunu başkası işletiyor" der. İkonları çıkarırsan bir bilgi katmanını çöpe atmış olursun; tamamen gri diyagramın bu kadar yavan hissettirmesinin nedeni de bu.
AWS, Azure ve GCP ikonları: sağlayıcının gerçek setini kullan
LetDraw, üç büyük bulut (AWS, Azure ve GCP) için resmi tarzda ikon kütüphaneleri içerir; böylece bir hesaplama servisini genel bir sunucu simgesiyle taklit etmek zorunda kalmazsın. Şekil kütüphanesini aç, sağlayıcını seç ve gerçek servisleri tuvale bırak: o sağlayıcının yük dengeleyicisine benzeyen yük dengeleyiciyi, onun kuyruğuna benzeyen kuyruğu. Doğru setle kurulmuş bir diyagram, o platformda çalışan herkese doğru okunur; diyagramın hedef kitlesi de genellikle tam olarak bu kişilerdir.
Sağlayıcıları karıştırmak da sorun değil ve sistemin gerçekten birden fazlasına yayılıyorsa dürüst olan da bu. İkonlar, çoklu bulut gerçeğini tek tip gri kutuların arkasına saklamak yerine sınırı apaçık gösterir (bu yarı bir bulutta, şu yarı diğerinde).
Doğru ikon, okur tek bir kelime okumadan bir kutunun ne olduğunu söyler. Bir bulut diyagramının bütün işi budur.
Zaten tanımladığın altyapıdan başla
Her servisi elle yerleştirmek zorunda değilsin. Altyapın Terraform'da ya da benzer bir tanımda yaşıyorsa, o dosya kaynakları ve nasıl bağlandıklarını zaten listeliyor. Onu Koddan Oluştur'a yapıştır, LetDraw bileşenleri senin için yerleştirsin; sonra oluşturulan taslak bir bağımlılık grafiği gibi değil, gerçek bir mimari gibi okunsun diye kutulara doğru sağlayıcı ikonlarını bas.
resource "aws_lb" "web" { # → load balancer icon } resource "aws_ecs_service" "api" { # → compute icon } resource "aws_db_instance" "main" { # → managed DB icon } resource "aws_s3_bucket" "assets" { # → object-store icon }
Büyüdükçe bulut mimarisi diyagramını okunur tut
Gerçek bulut diyagramları kalabalıklaşır ve onları mahveden şey, yolda ne varsa üzerinden dümdüz geçen oklardır. Bunun yerine bağlantıları tuvalin servislerin etrafından yönlendirmesine izin ver, her katmanı ya da bölgeyi bir kapta grupla; resim otuz kutuda da beş kutudaki kadar okunur kalır. Ona kod olarak ihtiyaç duyduğunda (bir doküman, bir wiki, bir pull request için) Mermaid ya da D2'ye aktar ve anlattığı Terraform'un yanına commit et.
İyi bir bulut diyagramı kötüsünden daha güzel değildir; daha hızlı okunur. Gerçek ikonları kullan, ilk taslağı altyapından oluştur ve inceleyicilerine ilk bakışta tanıdıkları bir resim ver.