Uygulama Performans Yönetimi Nasıl Yapılmalı?

14.02.2025 13:37 By Adem Oztemel

Uygulama Performans Yönetimi Nasıl Yapılmalı?

Şirket uygulamalarının performansı ve kullanılabilirliği, kesintisiz iş süreçlerini sürdürmek için kritik öneme sahiptir ve küçük performans sorunları bile oldukça maliyetli sonuçlar doğurabilir. Örneğin, müşteriye dönük çözümlerde, yavaş sistem yanıtının SEO'yu ve dönüşüm oranını olumsuz etkilemesi çok muhtemeldir ve sonuç olarak gelirin engellenmesine ve hatta marka sadakatinin zarar görmesine neden olur. Akamai araştırmasına göre, web sitesi yükleme süresindeki 100 milisaniyelik bir gecikme, dönüşüm oranlarına yüzde 7 oranında zarar verebilir .

Büyük, genellikle dağıtılmış ve eşzamansız olan modern uygulamalar, özellikle arızalara ve yavaşlamalara karşı savunmasızdır ve bu nedenle, sağlık ve kullanılabilirlik bakımı için dikkate değer ölçüde bütüncül bir yaklaşım gerektirir. Şirketlerin büyük BT ortamlarında uygulama performansına kapsamlı bir şekilde özen göstermelerine yardımcı olacak çok az kılavuz olduğundan, aşağıdaki uygulama performans yönetimi 101'i sunuyoruz.

 

Uygulama performans yönetimi ≠ uygulama izleme

"uygulama performansı yönetimi" kavramının yanlış yorumlandığını sık sık gördük. Çoğunlukla insanlar bunu uygulama izleme ile karıştırır ve terimleri birbirinin yerine kullanır, ancak uygulama izleme yalnızca sistemin zaman içinde nasıl davrandığını ayrıntılı olarak ortaya çıkarmanın bir yoludur. Tüm önemli girdilerine rağmen, salt izleme, karmaşık modern uygulamaların ihtiyaçları ve gereklilikleri için yeterli değildir ve yalnızca performans yönetimi için destekleyici bir faaliyettir. Uygulama performans yönetimi , izleme dışında sorun çözme, sorun önleme ve sürekli uygulama geliştirmeyi içeren çok daha geniş bir terimdir.


Uygulama performans yönetimini uygulamak için geçerli nedenler

Uygun uygulama performansının iyi tarafı, iyileştirilmiş dönüşüm oranları ve marka sadakatine yatırım yapmakla bitmiyor. Kuruluş için uygulamada uygulama performans yönetiminin faydaları şunları içerir:

Artan iş verimliliği

Düzgün yönetilen uygulama performansı yönetimi, kötü performans gösteren iş uygulamalarını geçmişte bırakır. Özellikle, çalışanların performansını önemli ölçüde engelleyebilecek ve şu veya bu görev için gereken süreyi neredeyse iki katına çıkarabilecek aşırı yüklenmiş süreçlerdeki gecikmeler, kesintiler ve kesintilerle başa çıkmaya yardımcı olur.

Azaltılmış uygulama toplam sahip olma maliyeti

·  Daha fazla iyileştirme için minimum maliyetler. Bir uygulama üretime geçmeden önce kod entegrasyon sorunlarını belirleme ve çözme yeteneği nedeniyle uygulama değişiklikleri daha ucuz hale gelir.

·  Destek maliyetlerinin düşmesi. Uygulama performans yönetimi sırasında alınan veriler, destek personelinin verimliliğini artırır. Destek mühendisleri, performans ve kullanılabilirlik sorunlarını daha hızlı ele alabilir ve zaman içinde daha fazla sorunu çözebilir.

·  İyi planlanmış bulut kapasitesi. Talep işleme süresinin kısalması, kullanıcılarınız için büyük bir fark yaratmayacaktır, ancak harcamalarınızı önemli ölçüde artırabilir. Sürekli uygulama performansı yönetimi, bulut kapasitesindeki en uygun ihtiyaçlarınızı tahmin etmenize ve daha etkili bilgi işlem kaynağı kullanımı veya bulutlar için dinamik tüketimin getirilmesine yardımcı olur.

SLA izleme ve raporlama

Uygulama performansı yönetimi verileri, üçüncü taraf satıcılarla (bir SaaS sağlayıcısı veya uygulama geliştirme ve yönetim dış kaynak hizmetleri sağlayıcısı olun) işbirliğine şeffaflık getirmeye ve hizmet kalitesinin işletmenizin beklediği düzeyde tutulmasına yardımcı olur. Uygulama performans ölçümleri, ortalama sayfa yükleme süresi, hizmetlerin kullanılamaması durumlarının sayısı ve daha fazlası gibi KPI'lara dönüştürülebilir.


Performans sorunları nasıl keşfedilir?

Uygulama performans yönetimi, anormallik tespiti ve yerelleştirme ile başlar. Bunun için sorumlu ekip çok çeşitli teknikler uygular.

Uygulama bileşeni izleme

Bileşen izleme, sunucular, işletim sistemleri, hizmetler, entegrasyon bileşenleri, üçüncü taraf API'ler, veritabanları gibi tüm uygulama katmanlarının ve bileşenlerinin performans ölçümlerini ve kullanılabilirliğini izlemeyi ifade eder.

Ticari işlem izleme

Ticari işlem izleme, tüm uygulama altyapısında kritik ticari işlemlerin izlenmesini içerir. Bununla, işlemlerin tamamlanmasını, zamanlamasının kabul edilebilir olmasını ve ayrıca talebin yolculuğundaki zayıf noktaları belirlemeyi kastediyoruz. İşlem durumu izleme, mesaj kaybının çok önemli olduğu durumlarda dahili veya harici sistemlerdeki karmaşık dağıtılmış işlemlerle özellikle ilgilidir.

Gerçek kullanıcı izleme

Gerçek kullanıcı izleme (Google Analytics olarak), müşterilerin doğrudan erişebildiği uygulama hizmetlerinin performansı hakkında pasif bir veri koleksiyonudur. Uygulamaya farklı cihazlardan, tarayıcılardan veya dünyanın bazı yerlerinden erişildiğinde en popüler işlevsellik setlerini ve performans farklılıklarını belirleyerek sunucudaki ve ön uçtaki gerçek trafik ve hatalar hakkında içgörü elde edilmesini sağlar.

Sentetik izleme

Sentetik izleme için geliştiriciler, uygulamadaki kullanıcı eylemlerini sistematik olarak simüle eden özel komut dosyaları oluşturur. Bu, gerçek kullanıcılar etkilenmeden önce uygulama çalışmasındaki kusurların bulunmasına olanak tanır.

Günlük analizi

Metrikler yalnızca bir şeylerin yanlış olduğunu söyleyebilir. Bir sorunun gerçek kaynağını belirtmek için günlüklere dönüyoruz. Uygulama performans yönetimi ekibi, günlük verilerini manuel olarak veya günlük analizi için belirli araçları (Logstash, Graylog, Logmatic, Splunk gibi) kullanabilir. Günlük işlemeyi etkili kılmak ve gelişmiş günlük analiz yöntemlerine izin vermek için, geliştiricilerin günlükleri yapılandırılmış, uygun şekilde tanımlanmış ve tarih ve saat bilgisi için ISO 8601 gibi standartlara uymasını şart koşmak iyi bir uygulamadır .


Yönetim faaliyetlerinde kullanılan araçlar

Uygulama performans yönetimi için kullanılan araçlar, kabaca, her biri belirli bir izleme durumu için olumlu ve olumsuz yönlere sahip olan çeşitli bölümler halinde gruplandırılabilir. Temel farklılıklardan ikisi, araçların kaynağı ve uygulanma biçimleridir.

Özel veya kullanıma hazır araçlar

Piyasada bulunan çeşitler arasından seçim yapabilir (ManageEngine Applications Manager, AppDynamics, Stackify, Dynatrace, vb.) veya yerel yazılım kullanabilirsiniz. İkincisi, performans yumuşak noktalarının tam olarak nerede olduğunu bilen ve bunları daha hedefli bir şekilde ele almak isteyen, karmaşık ve gelişmiş BT altyapılarına sahip şirketler arasında giderek daha popüler hale geliyor.

Agent tabanlı veya Agentsız araçlar

Agent tabanlı araçlar, agentın bir bölümünün doğrudan sunucuya veya hizmete yüklendiğini ve içeriden bilgi topladığını ima eder. Yazılımın nasıl çalıştığı hakkında daha ayrıntılı bilgi sağlar, ancak somut sayıda sunucu kaynağı gerektirebilir ve bileşen performansını yavaşlatabilir.

Agentsız araçlar, yazılım durumunu uzaktan değerlendirir. Devreye almaları daha kolay ve hızlıdır ancak sınırlı bir metrik izleme kapsamına sahiptirler.


Uygulama performans yönetimi iş akışı nasıl organize edilmelidir?

Uygulama performans yönetiminde kritik olan araçlar değil, onlardan aldığınız verilere göre aldığınız önlemlerdir. Olgun performans yönetimi şu şekilde çalışır:

Yukarıdan iki aşama özel olarak anılmayı hak ediyor. Uyarıların gerçekten etkili olması için yalnızca ilgili paydaşlara hitap etmesi ve yalnızca ciddi sorunları bilgilendirmesi gerekir. Tespit edilen problemler, bunların çözüm yolları ve etkileri hakkında raporlama göz ardı edilmemelidir. Uzun vadede, doğru raporlama, daha iyi bir uygulama geliştirme yolunun seçilmesine ve uygulama evriminde doğru kararların alınmasına olanak tanır.


Uygulama performans yönetimine kimler dahil edilmelidir?

Uygulama performans yönetiminin ana destekçisi şirketten şirkete değişir. Bu, bir performans mühendisinin, bir DevOps ekibinin sorumluluğu veya uygulama durumu ve kullanılabilirliğinden doğası gereği sorumlu olan teknik desteğin sorumluluğunun bir parçası olabilir. Atanmış bir sorumlu kişi veya küçük bir paydaş grubu, uygulama performansı yönetimini, verimliliği, tutarlılığı ve odaklanmış çabayı sağlamak için şirket içinde bir süreç olarak sahiplenmelidir.

Ancak, performans düşüşü kaynakları tüm yazılım katmanlarına ve bileşenlerine yayılabileceğinden hiçbiri genel uygulama performansının bakımı ve yönetimi için tam sorumluluğa (ve gerekli becerilere) sahip olamaz. Şurada ikamet edebilirler:

·  Trafikte ani yükselmeler.

·  Yavaş web sayfaları.

·  Aşırı yüklenmiş işlem / eksik işlemler.

·  Queue yükselmeleri.

·  Karışık kod yapıları.

·  Yavaş SQL sorguları / çok fazla veritabanı sorgusu.

·  Bir uygulamanın belleğinin verimsiz kullanımı.

·  Yavaş veya güvenilir olmayan üçüncü taraf varlıklar, harici HTTP web hizmeti çağrılarının başarısızlığı.

Ve yine de liste tamamlanmadı. Bu nedenle, uygulama performans yönetimi başarısı için ilk büyük adım, uygulama yaşam döngüsü boyunca tüm paydaşları bir araya getirmek olmalıdır. Tam bir uygulama performans yönetimi ekibi, en azından aşağıdakilerin yarı zamanlı katılımını gerektirir:

·  Geliştiriciler

·  KG uzmanları.

·  Operasyon ekibi.

·  Uygulama yöneticileri.

Ayrıca daha iyi:

·  İş analistleri.

·  Uygulama mimarları.

·  DevOps mühendisleri.

·  İzleme ekibi.

·  Performans mühendisleri (varsa).

·  İlgili birimlerin temsilcileri.


Uygulama performans yönetiminin ana maliyetleri nelerdir?

Uygulama performansı yönetiminin başlıca maliyetleri şunlarda bulunur:

·  Mevcut BT altyapı durumunun gözden geçirilmesi. Bu, kod sağlık kontrolü, uygulama performans yönetimi için birincil adayların belirlenmesi ve bir backlog listesi oluşturulması, gelecekteki bir izleme çözümünün ilk boyutlandırılması gibi faaliyetleri içerecektir.

·  Araçların geliştirilmesinin izlenmesi, ürün lisanslarının satın alınması (yıllık/aylık ücretler) ve çözüm kurulumunun ve bakımının izlenmesi.

·  Özel olarak atanmış bir izleme ekibi. İzleme çözümlerini yönetecek, tüm uygulama yönetimi ekibi için izleme metriklerini yorumlayacak ve bunları saklayan veritabanını izleyecekler.


Uygulama performans yönetiminin en büyük etkiye sahip olacağı yer

En önemli iyileştirmeleri deneyimlemek ve uygulama performans yönetimi yatırımlarından daha büyük bir yatırım getirisi elde etmek istiyorsanız:

·  Şirketin gelirini (kritik iş süreçleri) doğrudan etkileyen veya şirket hizmetlerinin müşteriler için kullanılabilirliğini etkileyen iş açısından kritik uygulamalarla başlayın. Bu tür uygulamalara örnek olarak içerik yönetim sistemleri, müşteri ve self servis portalları, e-ticaret çözümleri ve sipariş işleme modülleri verilebilir.

·  Yüksek yüklü ticari işlemleri ve harici arayüzleri kapsar.


Uygulama performans yönetiminde özel hususlar

Son olarak, uygulama performans yönetimi ile hangi sorunların ilişkili olduğunu görelim.

SaaS, PaaS

SaaS veya PaaS'ı seçerken, bulut hizmetlerinin (ör. bulut depolama hizmeti) yanıt süresini, hatalarını ve kullanılabilirliğini izlemek çok önemlidir. Sorunun tam olarak nerede olduğunu belirleyemeseniz de, toplanan veriler bir sağlayıcının hizmet masası için bir talep oluşturmak ve SLA uyumluluğunu izlemek için kullanılabilir.

Platform tabanlı çözümler

Yine, kaynak koduna erişiminiz olmadığı için uygulama performansını iyileştirecek büyük değişiklikler yapılamaz. Ancak, uygulama performans yönetimi yine de faydalıdır. En azından performans sorunlarını hızlı bir şekilde belirleyebilecek, son özelleştirmelerin neden olduğu kusurları tespit edebilecek, kaynakları büyütebilecek veya veritabanını optimize edebileceksiniz.

IoT, büyük veri

IoT ve büyük veri çözümleri için uygulama performans yönetimi sorunu, izleme verilerinin bolluğundadır. Sorunu azaltmak için yalnızca gerekli verilerin toplandığından, gruplar halinde birleştirildiğinden ve iletimler arasında daha uzun aralıkların ayarlandığından emin olun.


Özetle

Makalede, uygulama performansının ne olduğunu ve uygulama performansı yönetimine yönelik en iyi uygulama yaklaşımı olarak gördüğümüzü tartıştık. Genişletilmiş bir uygulama performansı yönetim ekibinin oluşturulmasını, performans yönetimini salt performans izlemeye tercih etmeyi ve ikincisini, mantıksız ölçümler, titiz günlük kaydı ve gürültülü uyarılar toplamadan düşünceli bir şekilde dengeli bileşeni olarak tutmayı savunuyoruz.