Kapasite gereksinimlerini karşılayacak şekilde tasarlama

Tamamlandı
Beklenen talebi ele almak için yeterli tedarik sağlayın.

Performansı proaktif olarak ölçmek önemlidir. Performansın ölçülmesi, taban çizgilerinin ölçülmesi ve sistemin hangi bileşenlerinin güçlük oluşturduğunun önceden anlaşılmasını içerir. Bunu tam performans testi yapmadan veya ayrıntılı iyileştirme ile gerçekleştirebilirsiniz. Bu ilk adımları uygulayarak, geliştirme yaşam döngüsünün başlarında etkili performans yönetimi için bir temel oluşturursunuz.

Tek tek bileşenlere odaklanmak yerine sistemi bir bütün olarak inceleyin. Bu aşamada ince ayar yapmaktan kaçının. Ayrıntılı performans geliştirmeleri yapmak, diğer alanlardaki dengelere neden olur. Yaşam döngüsü boyunca ilerlediğinizde ve kullanıcı kabul testini başlatırken veya üretime doğru ilerledikçe, hangi alanların daha fazla iyileştirme gerektirdiğini hızla belirleyebilirsiniz.

Örnek senaryo

Contoso Manufacturing, üretim süreçlerini izlemek ve iyileştirmek için kullanılan dahili olarak kullanılan bir Java Spring tabanlı mikro hizmetler uygulaması geliştirmiştir. İş yükü ekibi, şu anda şirket içinde barındırılan uygulamayı Azure'a geçirme sürecindedir.

Azure'da barındırılan uygulama Azure Spring Apps, MySQL için Azure Veritabanı ve Azure IoT Hub üzerinde derlenecektir. Contoso'nun Azure ile ExpressRoute bağlantısı vardır.

İş yükünü etkili bir şekilde tasarlama

Performans hedeflerine ulaşmanızı ve sistemle tümleştirmenizi sağlayan teknoloji yığını genelinde doğru kaynakları seçin. Ölçeklenebilirlik gereksinimlerini karşılayabilen özellikleri göz önünde bulundurun ve beklenmeyen dalgalanmaları verimli bir şekilde işlemek için kaynak ayırma ve sistem gereksinimleri arasında doğru dengeyi bulun.

Kaynakların farklı özelliklerini analiz ederek, her bileşenin sistemin genel işlevselliğine ve performansına katkıda bulunduğunu ve yararlanabileceğiniz ölçeklendirme işlevselliğini tanımlayabilmenizi sağlarsınız.

Doğru boyutlandırma kaynakları aşırı sağlama olmadan talepteki değişiklikleri karşılayabilir ve bu da maliyet tasarrufu sağlar.

Contoso'nun sınaması

  • Mevcut şirket içi uygulama ortamı altyapısı, contoso tarafından tamamen yönetiliyor ve bu da takıma önemli bir yük getiriyor. Şu anda sunucuları, ağları ve depolamayı sağlar ve bakımını yaparlar, ayrıca Java Spring hizmeti çalışma zamanını ve tüm bağımlılıkları yapılandırıp güncelleştirir.
  • Ekip, Azure Spring Apps ile bir PaaS modeline geçmek için sabırsızlanıyor. Bu sayede ekip, uygulamalarının hedeflenen iş değerini sunmasını ve altyapıyı yönetmeye daha az zaman ayırmasını sağlamak için daha fazla çaba sarf ediyor.
  • Bu uygulama Contoso'nun işletmesi için kritik öneme sahiptir ve katı performans gereksinimlerine sahiptir, bu nedenle geçişin bir parçası olarak yaptıkları teknoloji seçimlerinin bu gereksinimleri karşılamalarına olanak sağlayacağından emin olmaları gerekir.

Yaklaşımı ve sonuçları uygulama

  • Mevcut farklı planları karşılaştırdıktan sonra ekip, Spring Boot uygulamaları için üretim trafiği için iyileştirilmiş tam olarak yönetilen bir hizmet sağlayan Azure Spring Apps Standart planını tercih eder. Uygulama başına en fazla 500 örnekle Standart plan, beklenen maksimum kullanım için yeterli işlem kapasitesi sağlayabilir.
  • Ayrıca, hizmet gerektiğinde ölçeği genişletecek şekilde yapılandırılabilir ve ek kapasite gerekmediğinde işlem kaynaklarını ölçeklendirir.
  • Ekip, Uygulama başına 1000 örneğe kadar ölçeklendirilebilen Kurumsal planı inceledi ancak bu noktada bu kapasiteye ihtiyaç duymayabileceğine karar verdi. Ayrıca Kurumsal plan tekliflerinin destek düzeyine veya diğer özel özelliklerine ihtiyaç duymadığından da eminler.

Kapasite gereksinimlerini düzgün tahmin edin

İsteğe ve seçilen kaynakların performans modelinizi zenginleştirme özelliğine göre kapasite planlaması yapın. Tahmin edilebilir ve beklenmeyen değişikliklerle gerçekleşebilecek kapasitede beklenen değişiklikleri tahmin etmek için tahmine dayalı modelleme tekniklerini kullanın. Teknik gereksinimlere çevrilebilecek performans hedeflerini tanımlayın.

Bu yaklaşımı benimseyerek kaynakları verimli bir şekilde kullanabilir ve fazla sağlama yapmadan talebi karşılayabilir, böylece gereksiz maliyetlerden kaçınabilirsiniz. Ayrıca, tasarım seçimlerinin performansı nasıl etkilediğini anlamanıza yardımcı olur.

Contoso'nun sınaması

  • Contoso'nun üretim hattı, üretim makinelerinin verimli kullanımını en üst düzeye çıkarmak için döngüsel bir zamanlamayla çalışır ve günün farklı saatlerinde farklı ürünler üretir.
  • Her ürün için farklı işlemler ve dolayısıyla denetim uygulamasından farklı hesaplama gereksinimleri gerekir. Ürünler arasındaki değişim sırasında, denetim uygulamasının önceki üretim çalıştırmasından verileri analiz etme ve makineler için denetim algoritmalarını güncelleştirme gibi daha fazla işlem kapasitesi gerektiren çeşitli görevleri gerçekleştirmesi gerekir.

Yaklaşımı ve sonuçları uygulama

  • Ekip, değişiklik dönemlerinde daha yüksek talebi karşılamak için önce değişiklik işlevselliğini işleyen akışları tanımlar, performans gereksinimlerini belgeler ve uygulamanın şirket içi sürümüne göre işlem hacimlerini tahmin eder. Ekip, bu verilerle birlikte hedef akışların parçası olan mikro hizmetlerin ihtiyaç duyduğu işlem kapasitesini tahmin etmeye devam eder.
  • Otomatik ölçeklendirme, bu bileşenler için yapılandırılır ve geçiş döneminden önce ek kaynakların sağlandığından ve görevler tamamlandıktan sonra serbest bırakıldığından emin olun.
  • Otomatik ölçeklendirme ayarları, uygulamayı üretim ortamına dağıtmadan önce, yeni ortamdaki gerçek performansa göre ayarlanır.

Kavram kanıtı dağıtımı

Teknik gereksinimleri ve tasarım seçimlerini doğrulayan bir kavram kanıtı (POC) uygulayın.

Kavram kanıtı, sistemin performans hedeflerini karşılayıp karşılamadığını ve bu hedeflerin gerçekçi olup olmadığını belirlemek için tasarımın doğrulanmasında etkili olur. Beklenen yüke bağlı olarak, beklenen kapasitenin performans hedeflerini karşılayıp karşılamadığını doğrulayabilirsiniz.

Ayrıca, tasarım seçimlerinin maliyet üzerindeki etkilerini doğrulayın.

Contoso'nun sınaması

  • Geliştirme sırasında ekip, cihaz simülatörlerini kullanarak uygulama işlevselliğinin kapsamlı yük ve performans testlerini gerçekleştiriyor ve otomatik ölçeklendirme yapılandırmasını iyileştirmek için bu bilgileri kullanıyor.
  • Otomatik ölçeklendirme yapılandırmasının verimliliğini etkileyebilecek bir özellik, Azure Spring Apps ortamından ExpressRoute aracılığıyla Azure'a bağlanan üretim katındaki IoT cihazlarına iletişim kurmanın olası ağ gecikme süresidir. Ekip, azureda gecikme süresinin uygulama durumunda şirket içi sürüme göre daha yüksek olacağını ve bu gecikme süresinin günün saati veya cihaz konumu gibi diğer faktörlerden de etkilenebileceğini tahmin ediyor.
  • Gecikme süresindeki artış, her mikro hizmet örneğinin işleyebileceği işlem hacmini etkileyebilir.

Yaklaşımı ve sonuçları uygulama

  • Ekip, hipotezlerini doğrulamak ve yapılandırmayı iyileştirmek için kullanılabilecek ölçümleri toplamak için Azure'a bir POC dağıtmaya karar verir. Üretim katına yayılmış IoT cihazlarıyla iletişim kurmak için test bir Azure Spring Uygulaması oluşturur. IoT cihazları şirket içi ağa bağlıdır ve Azure IoT Hub'a kaydedilir. Test uygulaması basit bir ping göndererek gün boyunca cihazlara rastgele bağlanır ve yanıt almak için gereken süreyi kaydeder.
  • Bu POC sırasında yakalanan veriler, yük testinin sonuçlarıyla birlikte, ekibin ilk üretim lansmanına hazırlanırken gereken işlem kapasitesini daha doğru tahmin etmelerini sağlayacaktır.
  • Ekip ayrıca POC'den alınan öğrenmelere göre daha gerçekçi yanıt sürelerinin simülasyonunu yapmak için yük testi için kullanılan test çalışmalarını daha da geliştirmenin yollarını arıyor.

Bilgilerinizi kontrol edin

1.

Kapasite gereksinimlerini karşılayacak şekilde tasarlama bağlamında, iş yükünüz için doğru kaynakları seçmenizin bir yolu nedir?

2.

Tahmine dayalı modellemeyi ne için kullanmalısınız?

3.

Contoso'nun POC dağıtımıyla doğrulamaya çalıştığı hipotezlerden biri nedir?