Azure'da sürdürülebilir iş yüklerinin uygulama tasarımı
Yeni uygulamalar oluştururken veya mevcut uygulamaları güncelleştirirken, çözümün iklimi nasıl etkiyeceğini ve iyileştirmenin ve iyileştirmenin yollarının olup olmadığını göz önünde bulundurmak çok önemlidir. Kodunuzu ve uygulamalarınızı daha sürdürülebilir bir uygulama tasarımı için iyileştirmeye yönelik önemli noktalar ve öneriler hakkında bilgi edinin.
Önemli
Bu makale, Azure Well-Architected sürdürülebilir iş yükü serisinin bir parçasıdır. Bu seriyi bilmiyorsanız sürdürülebilir iş yükü nedir?
Kod verimliliği
Uygulamalarla ilgili talepler farklılık gösterebilir ve kaynakların aşırı veya az kullanılmasını önlemek için kullanımı kararlı hale getirmenin yollarını göz önünde bulundurmak önemlidir ve bu da gereksiz enerji taşmasına neden olabilir.
Monolitleri mikro hizmet mimarisine taşımayı değerlendirme
Monolitik uygulamalar genellikle bir birim olarak ölçeklendirilir ve yalnızca ihtiyaç duyabilecek bileşenleri ölçeklendirmek için çok az yer bırakır.
Yeşil Yazılım Temeli hizalaması: Enerji verimliliği, Donanım verimliliği
Öneri:
- Mikro hizmet mimarisi kılavuzunu değerlendirin.
- Mikro hizmet mimarisi, en yüksek yük sırasında yalnızca gerekli bileşenlerin ölçeklendirilmesini sağlar; boştaki bileşenlerin ölçeğinin küçültülmesini veya daraltılmasını sağlama. Ayrıca, monolitik uygulamaları dağıtmak için gereken ek yükü ve kaynakları azaltabilir.
- Bu dengeyi göz önünde bulundurun: Gerekli işlem kaynaklarını azaltırken, ağdaki trafik miktarını artırabilir ve uygulamanın karmaşıklığı önemli ölçüde artabilir.
- Diğer dezavantajı göz önünde bulundurun: Mikro hizmetlere geçmek, dağıtım işlem hatlarında çok sayıda benzerlik içeren ek dağıtım ek yüküne neden olabilir. Monolitik ve mikro hizmet mimarileri için gerekli dağıtım kaynaklarını dikkatle göz önünde bulundurun.
- Ayrıca , tek parçalı uygulamaları kapsayıcıya alma hakkında bilgi edinin.
API verimliliğini artırma
Birçok modern bulut uygulaması, hizmetler ve bileşenler arasındaki birçok iletiyi zaman uyumsuz olarak işlemeye yönelik tasarlanmıştır. Yük verilerini kodlamak için kullanılan biçimi göz önünde bulundurun. Uygulamanızın iletişim kurması için ne kadar bilgi gerekiyor ve sohbeti azaltmak için yer var mı?
Green Software Foundation hizalaması: Enerji verimliliği
Öneri:
- Çok sayıda isteğin performansı ve yanıt hızını nasıl etkileyebileceğinizi daha iyi anlamak için geveze G/Ç kötü modeli hakkında bilgi edinin.
- Güvenilirliği artırın ve sistemlerinize gereksiz yükü azaltın. API Management ile gelişmiş istek azaltma uygulayın.
- uygulamanın istekleri seçerek ve iletileri kodlayarak isteklerden döndürdüğü veri miktarını en aza indirin. Bkz. ileti kodlama konusunda dikkat edilmesi gerekenler.
- Gerekli olmadıkça arka uç sisteminden aynı türde bilgilerin yeniden işlenmesini önlemek için yanıtları önbelleğe alın. Bkz. Azure API Management'da önbelleğe alma.
Eski donanımlarda çalıştığından emin olmak için geriye dönük yazılım uyumluluğunu sağlama
Uygulamaların bilgileri nasıl işleyeni göz önünde bulundurun. Uygulamanın her şeyi en yüksek kalitede kritik bir şekilde sunması gerekiyor mu ve bu da daha yüksek bant genişliği ve işlemeye neden oluyor mu? Sürdürülebilirlik hedeflerine daha iyi hizmet vermek için kullanıcı arabirimindeki bileşenlerin kalitesini azaltmaya yer var mı?
Yeşil Yazılım Temeli hizalaması: Donanım verimliliği
Öneri:
- Eski tarayıcılar ve işletim sistemleri gibi daha fazla son kullanıcı tüketici cihazını destekleyin. Bu geriye dönük uyumluluk, çözümün çalışması için donanım yükseltmesi gerektirmek yerine mevcut donanımı yeniden kullanarak donanım verimliliğini artırır.
- Bu dengeyi göz önünde bulundurun: En son yazılım güncelleştirmelerinin önemli performans geliştirmeleri varsa, eski yazılım sürümlerini kullanmak daha verimli olmayabilir.
Bulutta yerel tasarım desenlerini kullanma
Bulutta yerel tasarım desenleri hakkında bilgi edinmek, ister Azure'da barındırılan ister başka bir yerde çalışan uygulamalar oluşturmak için yararlıdır. Bulut uygulamanızın performansını ve maliyetini iyileştirmek, kaynak kullanımını ve dolayısıyla karbon emisyonlarını da azaltır.
Yeşil Yazılım Temeli hizalaması: Enerji verimliliği, Donanım verimliliği
Öneri:
- Uygulamaları yazarken veya güncelleştirirken bulutta yerel tasarım desenlerini kullanın.
Devre kesici desenlerini kullanmayı göz önünde bulundurun
Uygulamaların başarısız olma olasılığı yüksek işlemleri gerçekleştirmesini değerlendirmeyi ve engellemeyi göz önünde bulundurun. Yinelenen hatalar, uygun tasarım desenleriyle önleyebileceğiniz ek yük ve gereksiz işlemeye yol açabilir.
Green Software Foundation hizalaması: Enerji verimliliği
Öneri:
- Devre kesici, başarısız olabilecek ve oluşan son hataların sayısını izlemesi gereken işlemler için ara sunucu görevi görebilir ve devam edip etmeyeceğine karar vermek için bu bilgileri kullanır.
- Devre Kesici desenini inceleyin ve ardından uygulamalarınıza Devre Kesici desenlerini nasıl uygulayabileceğinizi düşünün.
- Hataları izlemek ve uyarıları ayarlamak için Azure İzleyici'yi kullanmayı göz önünde bulundurun.
Verimli kaynak kullanımı için kodu iyileştirme
Verimsiz kod kullanılarak dağıtılan uygulamalar, sürdürülebilirlik üzerinde doğal bir etkiye neden olabilir.
Yeşil Yazılım Temeli hizalaması: Enerji verimliliği, Donanım verimliliği
Öneri:
- CPU döngülerini ve uygulamanız için ihtiyacınız olan kaynak sayısını azaltın.
- İyileştirilmiş ve verimli algoritmalar ve tasarım desenleri kullanın.
- Kendinizi tekrarlama (DRY) ilkesini göz önünde bulundurun.
Zaman uyumsuz erişim desenleri için iyileştirme
Uygulamalarla ilgili talepler farklılık gösterebilir ve kaynakların aşırı veya az kullanılmasını önlemek için kullanımı kararlı hale getirmenin yollarını göz önünde bulundurmak önemlidir ve bu da gereksiz enerji taşmasına neden olabilir.
Green Software Foundation hizalaması: Enerji verimliliği
Öneri:
- Hemen işleme gerektirmeyen kuyruk ve arabellek istekleri, ardından toplu olarak işlenir. Uygulamalarınızı bu şekilde tasarlamak, kararlı bir kullanım elde etmeye yardımcı olur ve yüksek isteklerden kaçınmak için tüketimi düzleştirmeye yardımcı olur.
- Zaman uyumsuz erişim desenlerini iyileştirme hakkında bilgi edinin.
Sunucu tarafı ile istemci tarafı işlemeyi değerlendirme
Kullanıcı arabirimiyle uygulama oluştururken sunucu tarafında mı yoksa istemci tarafında mı işleneceğini belirleyin.
Yeşil Yazılım Temeli hizalaması: Enerji verimliliği, Donanım verimliliği
Öneri:
Sunucu tarafı işlemenin şu avantajlarını göz önünde bulundurun:
- Sunucunun gücü istemcinin yerel ayarından daha az kirletici alternatiflerden geldiğinde.
- Sunucudaki donanım daha iyi işleme-enerji oranlarına sahip olduğunda.
- Birden çok gereksiz işlemeyi azaltmak için merkezi önbelleğe alma kullanabilir.
- İstemcinin cihazında kayıplı bir bağlantı olduğunda, tarayıcıdan sunucuya gidiş dönüş sayısını azaltmak özellikle önemli olabilir.
- İstemci cihazlar eski olduğunda ve cpu'lar daha yavaş olduğunda. Kullanıcıların modern bir tarayıcıyı desteklemek için cihazlarını yükseltmeleri gerekmez.
İstemci tarafı işlemenin şu avantajlarını göz önünde bulundurun:
- Son kullanıcı cihazları daha uygun olduğunda, işleme sorumluluğunu istemcilere göndererek.
- Her şeyi en az bir kez işlemek yerine yalnızca gerekenleri ve istenenleri işlemek daha verimlidir.
- Statik depolamaya güvenebileceğiniz için sunucuya gerek yoktur.
- İstemcilerde tarayıcı önbelleğe alma kullanılır.
Sürdürülebilirlik için UX tasarımına dikkat edin
bir iş yükünün UX tasarımının sürdürülebilirliği nasıl etkilediğini düşünün ve enerji verimliliğini artırmak ve gereksiz ağ yükünü, veri işlemeyi ve işlem kaynaklarını azaltmak için hangi seçeneklerin mevcut olduğunu belirleyin.
Green Software Foundation hizalaması: Enerji verimliliği
Öneri:
- Sayfalarda yüklenip işlenmek üzere bileşen sayısını azaltmayı göz önünde bulundurun.
- Uygulamanın daha düşük çözünürlüklü görüntüleri ve videoları işleyip işleyemeyeceğini belirleyin.
- Tam boyutlu görüntüleri, tarayıcının yeniden boyutlandırmayı yaptığı küçük resimler olarak işlemeyin.
- Tam boyutlu görüntüleri küçük resim olarak veya yeniden boyutlandırılmış görüntüler olarak kullanmak daha fazla veri, gereksiz ağ trafiği ve görüntü yeniden boyutlandırma ve önceden işleme nedeniyle ek istemci tarafı CPU kullanımı aktarır.
- Kullanılmayan sayfa olmadığından emin olmak, UX tasarımını en aza indirmeye yardımcı olur.
- Aramayı ve bulunabilmeyi göz önünde bulundurun. Kullanıcıların aradıklarını bulmasını kolaylaştırmak, depolanan ve alınan veri miktarını azaltmaya yardımcı olur.
- Daha az kaynak kullanarak ve sürdürülebilirlik üzerinde daha düşük bir etkiyle daha hafif bir kullanıcı arabirimi sağlamayı ve kullanıcılara bilinçli bir seçim sağlamayı göz önünde bulundurun.
- Uygulamalarınızı ve web sitelerinizi koyu arka planlarla koyu modda sunarak enerji tasarrufu sağlayın.
- İstemcileri daha fazla ağ yüküne neden olan ek yazı tiplerini indirmeye zorlamaktan kaçınmak için mümkün olduğunda sistem yazı tiplerini kullanmayı tercih edin.
Eski kodu güncelleştirme
Modern bulut altyapısında veya en son güncelleştirmelerle çalışmıyorsa eski kodu yükseltmeyi veya kullanımdan kaldırmayı göz önünde bulundurun.
Yeşil Yazılım Temeli hizalaması: Donanım verimliliği
Öneri:
- Modernleştirme için uygun olan verimli olmayan eski kodu belirleyin.
- Sunucusuz seçeneğine veya iyileştirilmiş PaaS seçeneklerinden birine geçiş seçenekleri olup olmadığını gözden geçirin.
- Bu dezavantajı göz önünde bulundurun: Kullanım dışı bırakabilecek eski kodun güncelleştirilmesi değerli zamanı tüketebilir.
Sonraki adım
Uygulama platformu için tasarımla ilgili dikkat edilmesi gerekenleri gözden geçirin.