Mimari tasarım diyagramları

Mimarlar genellikle diyagramlar aracılığıyla iletişim kurar. İyi tasarlanmış görseller, uygulayıcıların, güvenlik gözden geçirenlerin ve iş paydaşlarının paylaşılan bir zihinsel model üzerinde yakınsanmalarına, riskleri daha önce ortaya çıkarmalarına ve yeniden çalışmaları azaltmalarına yardımcı olan güçlü araçlardır. Bir mimar, niyetle iletişim kurmak için ileti, hedef kitle ve yaşam döngüsü aşamasıyla eşleşen diyagram türlerini seçmeli ve genellikle katmanlamalıdır.

Sonuç olarak, mimari diyagramının seçimi neleri iletmeye çalıştığınıza ve hedef kitlenizin sorularına bağlıdır. Mimarlar tasarım etkinlikleri, gereksinimleri iyileştirme ve paydaş iletişimi boyunca birden çok diyagram türü kullanır. Planlama, tasarım detaylandırma, tehdit modelleme, uygulama, operasyonlar ve idare genelinde birden çok diyagram korumayı bekleyebilirsiniz.

Diyagram oluşturma uygulamaları

Etkili diyagramlar, kapsamlı metinsel açıklama gerektirmeden önemli bilgileri aktarır. Belirsizliği önlemek ve net bir iletişim sağlamak için şu önerileri izleyin:

Standart notasyonları kullanın. Farklı hedef kitleler arasında iyi okunabilirlik ve tutarlı yorumlama sağlamak için yaygın olarak tanınan sembolleri, simgeleri ve sunu kurallarını kullanın.

Belirsiz satırlardan kaçının. Diyagramlar genellikle satırları kullanan varlıklar arasındaki ilişkileri gösterir. Diyagramlarınızda bu ilişkileri nasıl temsil ettiğiniz konusunda tutarlı olun.

Yön oklarını kullanın. Ok içermeyen çizgiler ilişkileri belirsiz hale getirir. Her zaman okları kullanın ve çift yönlü iletişim mevcut olduğunda, iki ayrı akış (tercih edilir) gösterin ya da talep/yanıt notlarıyla tek bir oka not ekleyin.

Çift yönlü oklardan kaçının. Çift oklar, karışıklığa neden olabilecek çift yönlü bağımlılıkları ifade eder. Başlatan bileşenden (istemci) bağımlılığa (sunucu) olan akışı göstermek için tek yönlü oklar kullanın.

Her şeyi net bir şekilde etiketle. Her simge, gruplandırma kapsayıcısı ve ilişki için net, doğru ve anlamlı etiketler sağlayın. İlişkilerin bağlamdan hemen belirgin olmadığı durumlarda çizgileri etiketle.

Tutarlılığı koruyun. Benzer öğeler için standartlaştırılmış renkler, büyük harf, simgeler, simge boyutları, çizgi ağırlıkları, çizgi türleri, ok başlıkları ve kenarlık stilleri kullanın. Çözüm kümesindeki her diyagrama aynı taksonomiyi uygulayın. Mevcut organizasyon standartları veya taksonomilerinden yararlanın.

Doğru olun. Diyagramlar soyutlamalar olsa da, gereksiz basitlik için doğruluğundan ödün verme. Örneğin, bir alt ağın içinde özel uç nokta üzerinden erişilen bir PaaS hizmetini tasvir etmeyin. Diyagramlardaki yanlışlıklar ciddi yanlış anlamaya ve uygulama gecikmelerine veya hatalarına yol açabilir. Etkin bir paydaş sorusuna artık doğru yanıt veremeyecek diyagramları kullanımdan kaldırma.

Meta verileri dahil edin. Her diyagramın amacı, kapsamı ve önemi hakkında temel bağlam sağlayan meta veriler içerdiğinden emin olun. Başlık, açıklama, son güncelleştirme tarihi, yazar, sürüm ve dış başvurular gibi öğeleri ekleyin. Bu bilgiler, izleyicilerin diyagramın amacını ve güncelliğini anlamasına yardımcı olur. Bir diyagram ilk olarak geniş bir şekilde paylaşıldıktan sonra bağlantılı değişiklik günlüğünün tutulması, geri dönen izleyicilerin nelerin değiştiğini bilmesine yardımcı olur.

Resmi simgeleri ve hizmet adlarını kullanın. Belirli teknolojileri temsil ederken her zaman en son resmi simgeleri ve adlandırma kurallarını kullanın. Marka şekillerini rastgele uzatmayın veya yeniden renklendirmeyin. Pazarlama logolarını, örneğin satıcı logolarını genel API ağ geçidi blokları gibi kavramsal öğeler yerine kullanmayın.

Örneğin, Microsoft hizmetlerinin simgeleri şunlardır:

Bir açıklama ekleyin Örneğin kenarlık veya çizgi semantiği eklerseniz, düz çizgi zaman uyumlu bir çağrı, kesik çizgi ise zaman uyumsuz bir çağrıdır, küçük bir açıklama ekleyin.

Erişilebilirlik tasarımı. Yeterli renk karşıtlığı olduğundan emin olun. Türleri ayırt etmek için yalnızca renge güvenmekten kaçının, bunun yerine renkleri desenle tutarlı bir şekilde eşleştirin.

Katman, aşırı yüklemeyin. Her alt sistemi, veri sınıflandırmasını ve çalışma zamanı yolunu tek bir diyagramda kodlama isteğine karşı direnin. Aşamalı açıklama sağlama: Bağlam diyagramı kapsayıcı diyagramına yol açar ve bu da kritik bir kullanım örneği için odaklanmış bir bileşene veya sıralı diyagrama yol açar.

Versiyon kontrolü. Diyagram kaynak dosyalarını iş yükünün diğer sürüm varlıklarıyla aynı depoda veya belge deposunda depolayın.

Tasarım diyagramı türleri

İş yükü mimarisi karmaşık ve çok boyutludur. Farklı diyagram türleri, sistemin belirli yönlerine odaklanarak her boyut için hedeflenen ayrıntı düzeyleri sağlar. Örneğin akış çizelgeleri işlem akışını gösterirken varlık ilişkisi diyagramları sistem bileşenleri arasındaki ilişkileri gösterir.

Farklı diyagram türlerinin kullanılması, tüm mimari boyutların kapsamlı bir şekilde anlaşılmasını sağlar. Bu yaklaşım, farklı teknik arka planlara ve endişelere sahip farklı paydaşlar arasında etkili iletişim, sorun çözme ve karar almayı kolaylaştırır. Mimari karar kayıtlarınız, kararı görselleştirmek için bu diyagramlara başvurur.

Aşağıdaki türler ortak bulut mimarisi iletişim yapıtlarının yanı sıra birkaç yüksek değerli ekleme içerir. Diyagram türleri listesi kapsamlı değildir. Uygulamada, birçok yapıt karmadır veya gelişir. İş yükünüzü görselleştirmek için mümkün olan her türü oluşturmak yerine çok az sayıda amaca yönelik diyagram tercih edin. Geniş başlayın, kademeli olarak daraltın, ardından senaryo ve çapraz çözümlemeli görünümleri uygulayın.

Bağlam diyagramı

Bağlam diyagramı, iş yükünü dış ortamında tek bir kara kutu olarak sunar. Sistemi adlandırır, amacını kısaca belirtir ve dış kişilikleri, yukarı ve aşağı akış sistemlerini ve onunla etkileşim kuran veri kaynaklarını veya havuzları gösterir. Yalnızca üst düzey iletişim veya tümleştirme yolları görünür; iç yapı kasıtlı olarak atlandığından, hedef kitle uygulamaya değil kapsam sınırlarına ve bağımlılıklarına odaklanır. Ürün logoları yerine dış sistemler için genel şekillere güvenin ve okuyucuların kapsamı çıkarması gerekmeyecek şekilde her zaman açık bir sınır ekleyin.

Üst düzey sistem veya kapsayıcı diyagramı

Üst düzey sistem diyagramı, bir iş yükünün tamamına veya bir iş yükü içindeki ana alt bölüme genel bir genel bakış sağlar. İş yükünü ana bileşenlerine, ilişkilerine ve sistem üzerinden genel veri akışına ayırır. Oklar etkileşimlerin ve bağımlılıkların yönünü gösterir.

Bağlam hizalamasından sonra makro yapıyı açığa çıkarmak, PaaS veya kendi yönetimindeki modeller gibi barındırma modellerini ve dış bağımlılıkları göstermek için bu diyagramı kullanın. Bu diyagramlar, daha ayrıntılı teknik tartışmalara geçmeden önce paydaşlar arasında ortak bir anlayış oluşturmak için mükemmeldir. Ayrıca üst düzey anlayışın teknik ayrıntılardan daha önemli olduğu yönetici ve paydaş iletişimi için de değerlidir.

Blok veya işlevsel diyagram

Blok diyagramı, belirli bir bileşen yerine gerçekleştirilen işlevselliğe odaklanarak teknolojiden bağımsız bloklar kullanarak iş yükünü önemli işlevsel özelliklere ayırır.

Örneğin, blok diyagramı, Azure Service Bus veya Apache Kafka gibi belirli bir ileti veri yolu teknolojisini belirtmek yerine bir sipariş kuyruğuna veya mesajlaşma veriyoluna başvurabilir. Bu soyutlama düzeyi, hedef kitleyi uygulama özellikleriyle bunaltmadan sistemin yapısını, veri akışını ve işleme akışını açıklamaya yardımcı olur ve erken etki alanı modelleme tartışmaları ve gereksinimleri toplama için idealdir.

Bileşen diyagramı

Bileşen diyagramı, genel işlevsel blokları belirli teknolojiler ve tümleştirme noktalarıyla değiştirerek blok diyagramlarını temel alır. Sistemin somut teknolojisini ve istemci-sunucu etkileşimleri gibi ilişkilerini bildiren ayrıntılı bir görünüm sunar. Bu diyagramlar, mimari için tam olarak hangi teknolojilerin uygulanacağını gösteren görsel bir malzeme listesi görevi görür.

Dağıtım diyagramı

Dağıtım diyagramı altyapının, ticari kullanıma açık (COTS) yazılımların ve özel kodun barındırma ortamına nasıl dağıtılacağına odaklanır. Yazılım bileşenleri ile bunları barındıran fiziksel veya sanal altyapı arasındaki eşlemeyi gösterir.

Bu diyagramlar DevOps planlama, ortam kurulumu ve mimarinin operasyonel yönlerini anlamak için kullanışlıdır. Ekiplerin ölçeklendirme sınırlarını, dağıtım birimlerini, altyapı bağımlılıklarını ve ortamları görselleştirmelerine yardımcı olur.

Veri akışı diyagramı (DFD)

Veri akışı diyagramı (DFD), verilerin nasıl taşınıp dönüştürüldüğünü, depolandığını ve sistemden nasıl çıktığını gösterir. Kaynakları, havuzları, dönüştürme aşamalarını, sınıflandırmayı (genel, gizli, düzenlenmiş) ve hareketin toplu iş, akış veya neredeyse gerçek zamanlı olup olmadığını vurgular. Veri kökeni analizi, idare denetimleri ve performans sorunu belirleme konusunda yardımcı olur.

STRIDE modeli gibi güvenlik tehdidi modellemesi özel bir DFD kullanır. Diyagramda işlemler, veri depoları, dış varlıklar, güven sınırları ve bu sınırları aşan veri akışları gösterilir. Protokoller ve şifreleme ile akışlara açıklama eklemeye odaklanır ve koruma gerektiren varlıkları vurgular. Bu çizim, önlem belirleme ve güvenlik kontrol doğrulamasını yönlendirir.

Sıralı diyagram

Bir dizi diyagramı, tek bir kullanım örneği veya senaryo için etkileşimlerin zamansal sıralamasını gösterir. Örneğin, kullanıcı sipariş verir. İstemci-sunucu ilişkilerini gösterir ve etkileşimlerin zaman uyumlu mu yoksa zaman uyumsuz mu olduğunu açıkça gösterir. Bu diyagramlar ayrıca iletişim desenlerindeki bağımlılıkları vurgular ve bileşen etkileşimleri içindeki olası hata senaryolarını değerlendirmeye yardımcı olur. Sıralı diyagramlar özellikle API tasarımı için değerlidir.

Kullanıcı akışı veya yolculuk diyagramı

Kullanıcı akışı diyagramı, bir kullanıcının veya kişinin arabirimler ve hizmetler arasında uçtan uca aldığı adımları gösterir. Kullanıcının sistemdeki yolculuğunu görselleştirerek kullanıcıların ve verilerinin çeşitli bileşenler ve süreçlerle nasıl etkileşime geçtiğini gösterir. Bu diyagramlar işlevsel gereksinimleri netleştirmek, kullanıcı deneyimi tasarımını doğrulamak ve tüm kullanıcı senaryolarının mimaride düzgün bir şekilde ele alınmasını sağlamak için yararlıdır. Kritik akışlarda performans veya hizmet düzeyi beklentileriyle açıklama ekleme.

Varlık ilişkisi diyagramı (ERD)

Varlık ilişkisi diyagramı (ERD), mantıksal veya fiziksel veri modeli yapısını temsil eder: varlıklar (tablolar ve koleksiyonlar), öznitelikler, anahtarlar ve kardinaliteler. Uygulama ayrıntıları (dizinler, bölümleme) için fiziksel ERD'leri ve etki alanı hizalaması için mantıksal ERD'leri kullanın. Bazen eklenen parçalama aralıkları gibi ayrıntılar bu diyagramda iletilebilir. Bu diyagramlar geliştiricilerin uygulama başlamadan önce veri ilişkilerini ve kısıtlamalarını anlamasına yardımcı olur.

Ağ bağlantısı diyagramı

Ağ diyagramı, iş yükünü ağ altyapısı perspektifinden gösterir ve bileşenlerin ağ sınırları arasında nerede iletişim kuracaklarını gösterir. Bu diyagramlar ağ kesimlemesini, olası ağ hata noktalarını ve İnternet girişi ve çıkış noktaları gibi kritik ağ geçişlerini görselleştirir. İş yükü, doğu-batı trafiğine odaklanan bir ağ diyagramına ve kuzey-güney trafiğine yönelik başka bir ağ diyagramına sahip olmanın avantajlarından yararlanabilir.

Ağ diyagramları genellikle ilk uygulama aşamasının ötesinde genişletilmiş yardımcı programlara sahiptir. Güvenlik denetimleri, uyumluluk gözden geçirmeleri ve olay yanıtı etkinlikleri sırasında bunlara sık sık başvurulur ve bu da onları değerli uzun vadeli belge varlıkları haline getirir.

Durum diyagramı

Durum diyagramı, bir etki alanı nesnesinin, iş akışının veya alt sistemin olası durumlarını gösteren özel bir görselleştirmedir. Durumlar arasında geçişleri tetikleyen koşulları veya olayları içerir. Örneğin, bir siparişin taslaktan, gönderilen, gözden geçirilen, yerine getirilen ve kapatılana kadar nasıl ilerleyişini açıklar.

Durum diyagramları olası eşzamanlılık sorunlarını, geçiş işlemeyi ve telafi işlemi gereksinimlerini vurgulamanıza yardımcı olur. Bu, üretimde tahmin edilmeyen durum değişikliği davranışları olasılığını azaltmaya yardımcı olur.

Akış çizelgesi ve etkinlik diyagramı

Akış çizelgeleri ve etkinlik diyagramları, iş yükünüz içindeki karmaşık iş akışlarına, karar mantığına ve iş süreçlerine açıklık getirir. Bunlar, operasyonel runbook'ları, iş süreci otomasyonlarını ve olay yanıtı akışlarını belgelemenize yardımcı olan onay işlemlerini ve koşullu dallanma senaryolarını temsil etmek için kullanışlıdır.

Diğer özelleştirilmiş diyagramlar

Türü Belirgin bir değer kattığında Odak
Kullanılabilirlik ve dayanıklılık haritası Olağanüstü durum kurtarma (DR) planlama ve hizmet düzeyi hedefi (SLO) incelemeleri sırasında Yedeklilik, yük devretme yolları, RPO/RTO ek açıklamalarını gösterin.
Uyumluluk veri yerleşimi haritası Düzenlenen iş yükleri Veri konumunu, çoğaltmayı, sınıflandırmayı, saklamayı gösterin.
Kimlik ve erişim akışı diyagramı Güvenlik ve uyumluluk gözden geçirmeleri Kimlik doğrulama ve yetkilendirme akışlarını gösterme. Belirteç vermenin nerede gerçekleştiğini, güven sınırlarının nerede değiştiğini ve adına akışların nerede gerçekleştiğini belirleyin.

Belirtim tabanlı diyagram oluşturma

Diyagramları temelleyebileceğiniz çeşitli açık belirtimler vardır. Birini benimsemek bir iş yükü ekibi kararıdır; yalnızca belirsizliği azaltmak için gerekli paylaşılan sözcük dağarcığını eklerse bunu yapın. Geçerli görsel iletişim yaklaşımınız zaten başarılıysa, gerekçesiz yere bürokratik yük eklemeyin. Belirtimi benimsemeseniz bile, kanıtlanmış kuralları (katmanlama, kardinalite gösterimi, olay etiketleme, gösterge desenleri) seçmeli olarak ödünç almak diyagram kümenizde netlik ve tutarlılık sağlayabilir.

Diyagram oluşturma ve modelleme belirtimleri örnekleri:

Sonraki Adımlar