Senaryo 1 - Küresel ölçekte ve güvenli bir erişimin mimarisini oluşturma

Tamamlandı

İzleyen iki ünitede iki iş senaryosunu gözden geçireceksiniz. Şirket açıklamaları, proje hedefleri ve kısıtlamalar sizin için önceden hazırlandı. Bu konuda kendi başınıza çalışabilirsiniz ama mümkünse başkalarıyla beyin fırtınası yapmak da ilginizi çekebilir.

Çözümleri geliştirme süreci

Bu senaryolarda ve büyük olasılıkla gerçek dünyada amacınız şunları anlamaktır:

  • Şirketin çözmesi gereken sorun.
  • Bu çözümle ilgili gereksinimler ve kısıtlamalar.

Bu hedef genellikle sorun bildirimi biçiminde olur. Bu bildirim çözüm için koşulları, mevcut durumu ve istenen sonuçları açıkça tanımlayan, resmi dille yazılmış bir paragraflar dizisidir. Bu noktada sorunun nasıl çözüleceğini incelemekten kaçınmayı ve neyi çözmek istediğinize odaklanmayı tercih edersiniz.

Büyük olasılıkla ekibiniz ve paydaşlarınızla birlikte bir sorun bildirimi üzerinde anlaştıktan sonra, proje için bulabildiğiniz kadar çok gereksinimi (hedefler) çıkarmalısınız. Ardından çözümün önündeki tüm kısıtlamaları ortaya sermelisiniz.

Bu noktada gerçekçi olmayan kısıtlamalar belirlemek kabul edilebilir. Ardından her gereksinim ve kısıtlamayla ilgili bir maliyet/kazanç oranı ortaya koyduktan sonra bunları geri alabilirsiniz.

Üretimde, çözüm oluşturma işlemi normalde 6 aşamadan oluşur. Sorun bildirimini geliştirmek yalnızca başlangıçtır.

  1. Bulma: Müşterinin sorunun özgün bildirimi.
  2. Öngörü: Projedeki başarının nasıl görüneceğine ilişkin "mavi gökyüzü" açıklaması. Genellikle "...yapabilirim" ifadeleriyle anlatılır.
  3. Mimari tasarım oturumu: Bir ön çözüm için teknoloji seçeneklerinin ve seçeneklerinin ilk düzeni.
  4. Kavram kanıtı (POC): Çözüm için en uygun teknolojiler ve süreçler seçildikten sonra, bir çözümün nasıl görünebileceğine ilişkin küçük bir temsili örnekle poc ayarlanır. Varsa, paralel bir örnekte o sırada çalıştırılmakta olan bir çözümü kullanabilirsiniz.
  5. Uygulama: Önceki aşamalardan elde edilen bulgulara göre tamamlanmış çözümün aşamalı bir dağıtımını uygulama.
  6. İletim: Gelecekteki geliştirmelerin tartışıldığında projeyle ilgili bir otopsi.

Bu modül boyunca çeşitli proje şablonlarından ve en son simgelerden yararlanabilirsiniz. Bu varlıkları üretim iş yüklerinizde de kullanabilirsiniz.

Bu modüldeki senaryolarda sorun bildirimini saptamak (keşif) için biraz zaman ayıracaksınız. Ancak asıl odağınız mimari tasarımı oturumu olacaktır. Modülden sonra bir çözümü daha fazla geliştirmek isterseniz, bunun için modüldeki varlıkları kullanabilirsiniz.

Senaryo ayrıntıları

Müşteriniz dünya çapında bir hizmet ve içerik teslimi sağlayıcısı. Temelde bir operasyonel veri reyonu olan bir konuma saniyede binlerce yazma işlemini işleyebilecek bir sistem oluşturma konusunda sizden yardım istedi.

Müşterinin ayrıca eğilimleri saptamak ve anomalileri belirlemek üzere veriler üzerinde gerçek zamanlı analiz yapabilmesi gerekiyor. Şu anda bu analizleri ortak dil çalışma zamanı modülü (CLR) uygulamalarıyla yapıyorlar. Müşteri bir veri ambarı aramıyor ve SQL yüzey alanının büyük bölümlerini kullanmak istemiyor. Bunun yerine kullanıcılarının bulunduğu yerde ölçeklendirme yapabilmesi gerekiyor.

Müşteri ayrıca karma ortamında hangi kimlik doğrulama yöntemlerini kullanması gerektiğini de belirlemeye çalışıyor. Ana çözüm ve uygulama Azure üzerinde çalışacak olsa da, müşterinin şunları da bulundurması gerekiyor:

  • Etki alanına katılmış, Azure dışındaki makinede bulunan bir uygulama.
  • Azure dışındaki bir makinede sürücü veya bağlantı dizesini değiştirmeye izin vermeyecek eski bir uygulama.
  • Etki alanına katılmamış, Azure dışındaki makinelerde bulunan SQL yönetim araçlarından (SQL Server Management Studio, Azure Data Studio, PowerShell) raporlar çalıştıran birden fazla kullanıcı.

Müşteri mümkün olduğunda parolaları veya gizli dizileri bağlantı dizelerinde ve uygulama yapılandırma dosyalarında sabit olarak kodlamaktan kaçınmak istiyor. Ayrıca SQL araçlarında parola kullanılmamasını veya bu noktalarda kimlik doğrulamasının geliştirilmesini istiyor.

Senaryo kılavuzu

  • Mevcut çözümleriyle en uyumlu olan ve hemen kullanılabilen bir Azure SQL dağıtım seçeneğiyle başlayın.
  • Müşteri birden çok bölgeyi aynı anda gerçekleşen birden çok sorguyla ölçeklendirip, bu arada da okuma iş yüklerini yazma iş yüklerinden nasıl yalıtabilir?
  • Müşteri farklı dağıtımlardaki verilere nasıl erişebilir?
  • Senaryoda açıklanan etkileşim yolları için hangi kimlik doğrulama yöntemlerini önerebilirsiniz?

Görevler

  1. Senaryoyu ve sağlanan kılavuzu gözden geçirdikten sonra proje için bulabildiğiniz kadar çok gereksinim çıkarın.

  2. Senaryoda potansiyel olarak kullanılabilecek olası teknolojileri ve işlemleri listeleyin. Netleştirmek istediğiniz noktalarda daha fazla bilgi edinmek için senaryoda uyarlamalar yapmaktan çekinmeyin. Bu durumda varsayımlarda bulunabilirsiniz.

    Bahşiş

    Güvenlikle ilgili zorluklar için Azure SQL en iyi güvenlik yöntemleri playbook'unu kullanabilirsiniz.

  3. Karar matrisini veya başka bir karar sürecini kullanarak ön çözümünüzü oluşturacak teknolojileri ve işlemleri seçin.

  4. Hem proje hedeflerinizle kısıtlamalarınızı hem de önerilen çözüm tasarımını gösteren bazı notlar alın.

Aklınızda bir ön çözüm varsa, sonraki adım genellikle bunu ekibin kalanına (veya senaryoya bağlı olarak müşteriye ya da yönetime) sunmaktır. Çözümünüzü, hem proje hedefleriyle kısıtlamalarını hem de çözümünüzde bu öğeleri nasıl ele aldığınızı paylaşacak bir yolla toparlayıp sunmanız gerekir.

Hazır olduğunuzda, çözümünüzü örnek bir çözümle karşılaştırmalı olarak değerlendirmek için aşağıdaki soruları yanıtlayın. Birden fazla doğru yanıt olabileceği için, çözümünüz listelenmiyor bile olsa uygulanabilir olması mümkündür.

Bilgi kontrolü

1.

Azure SQL dağıtım seçeneklerinden hangisi bu senaryo için en uygun olabilir?

2.

Müşteri birden çok bölgeyi aynı anda gerçekleşen birden çok sorguyla ölçeklendirip, bu arada da okuma iş yüklerini yazma iş yüklerinden nasıl yalıtabilir?

3.

Azure sanal makinesindeki uygulamalar için hangi kimlik doğrulama yöntemini önerebilirsiniz?

4.

Etki alanına katılmış, Azure dışındaki bir makinede bulunan uygulama için hangi kimlik doğrulaması yöntemini önerebilirsiniz?

5.

Etki alanına katılmamış, Azure dışındaki bir makinede bulunan SQL yönetim araçları (SSMS; PowerShell) için hangi kimlik doğrulaması yöntemini önerebilirsiniz?

6.

Azure dışındaki bir makinede sürücü/bağlantı dizesini değiştiremediğiniz eski bir uygulamada hangi kimlik doğrulama yöntemini önerirsiniz?