BÜYÜK İŞLETME VE KURUMLARDA UYGULAMA İZLEME SİSTEMLERİ

BT operasyonunu kesintisiz ve kaliteli sürdürebilmek için her metriği ölçmeliyiz. Personelin performansını, servislerin kalitesini, servisleri oluşturan bileşenleri, paydaşlardan ve tedarikçilerden aldığımız servisleri, ortaya koyduğumuz ürün ve hizmetlerin kalitesi sürekli uygun performans metrikleri ile (KPI) ölçmelisiniz.

Ölçülen bu performansları şeffaf bir şekilde hem çalışanlarımız, hem paydaşlarımız hem de ürettiğimiz ürün ve hizmetleri sunduğumuz vatandaş ve müşterilerle paylaşmalıyız. Daha iyiye ulaşmak için kendinizi, biriminizi eleştirmekten çekinmemelisiniz. Unutmamalıyız ki hesap verebilir olmak zayıflık değil güçlülük işaretidir. İşletmelerde ve özellikle kamuda yapılan önemli hatalardan biride başarısızlığı gizlemektir. Ya da istatistiğin başarılı olanlarını yayınlayıp başarısız gözükenleri yayınlamamak, üst yönetime bildirmemektir. Bu hem kendinizi hem kurumunuzu hem de paydaşlarınızı aldatmak demektir.

Peki sunduğumuz servisleri, uygulamaları nasıl ölçeceğiz Gartner bunu 3 fonksiyonel boyuta göre sınıflandırıyor. Digital experience monitoring (DEM), Application discovery, tracing and diagnostics (ADTD), Application analytics (AA).

Digital Experience Monitoring kısmında 2 yaklaşım var. Gerçek kullanıcı deneyimi (Real User Monitoring) ve sentetik kullanıcı deneyimi (Synthetic Monitoring).

Real User Monitoring (RUM): RUM, adından da anlaşılacağı gibi, web sitenizdeki veya uygulamanızdaki her kullanıcının her işlemini yakalamayı ve analiz etmeyi amaçlayan bir web izleme yaklaşımıdır. Gerçek kullanıcı ölçümü veya son kullanıcı deneyimi izleme (EUM) olarak da bilinen bu yöntem, sisteminizi eylem halinde sürekli olarak gözlemleyen, kullanılabilirliği, işlevselliği izleyen web izleme hizmetlerine dayanan bir pasif izleme biçimidir. RUM, DNS cevap süreleri, ssl handshake süreleri, sayfa yükleme süreleri, istemciye indirilen data miktarı ve diğer öğeleri yüklemek için geçen süre gibi metrikleri izler. Bu performans ölçümleri, gerçek kullanıcı oturumları izlenerek, ortalamaları, en uzun süren ve en kısa süren oturumlar raporlanır. Kimi zaman uygulamanızın saha gerçekleri ile uyuşmadığını görürsünüz örneğin uygulamanızın güvenliğini sıkı tutmak için TLS dediğimiz sunucu ve kullanıcıların kimlik doğrulamalarını yapan protokolün 1.3 versiyonunu kullandınız bu sayede daha güvenli olduğunuzu düşünüyorsunuz. Fakat RUM ile incelediğinizde müşteri ya da kullanıcılarınızın kullandığı browserların %95 inin bu yeni protokolü desteklemediğini fark edersiniz. Sistem yöneticileri ya da yazılım geliştiriciler, çeşitli son kullanıcı yapılandırmaları, tarayıcı sürümleri, işletim sistemleri, konumlar vb. gerçek kullanıcı verilerini izleyerek, kullanıcı deneyimini ve kullanıcı memnuniyetini azaltan sorunları belirleyebilir.

Synthetic Monitoring: Sentetik süreçlerde ise uygulama için önceden belirlenen test senaryoları belirttiğiniz aralıklarda çalıştırılarak sistemin performansı izlenir. Süreçlerde belirlenen sürelerin dışında bir zaman aşımı var ya da çalışmayan bir nokta var ise sms, e-mail ve sesli arama gibi sürece bağlayacağınız uyarıcıları kullanabilirsiniz. Burada dikkat edilmesi gereken nokta bu sentetik süreçlerin üretim (production) ortamlarında çalıştırılırken ortaya çıkan artık kayıtlarında yine başka bir sentetik süreç tetiklenerek silinmesidir. Örneğin uygulamanızdaki müşteri kaydını simule etmek üzere sentetik müşteri kaydı senaryosu oluşturdu iseniz production ortamında oluşan bu artık kaydın devamında müşteri silme sentetik süreci ile silinmesi gerekmektedir. Aksi takdirde production veri tabanında binlerce gereksiz kayıt ile baş etmek zorunda kalabilirsiniz. Sentetik süreçlerde bir diğer dikkat edilmesi gereken nokta ise uygulamalarda yapılan güncellemelerden sonra gerekli ise sentetik süreci de güncellenmesi gerektiğidir.

Application discovery, tracing and diagnostics (ADTD): ADTD araçları, uygulama topolojinizi, uygulamanın kullandığı alt hizmetleri otomatik olarak keşfeder ve kullanıcı isteklerinin transaction ve kod bazında izlenmesini sağlar. Biraz daha açacak olursak uygulamanızın kurulu bulunduğu uygulama sunucusunun ya da JVM denilen sanal uygulama sunucusu kaynaklarını, veritabanlarına bağlantı sağlayan datasource connection pool kullanım istatistiklerini, uygulamanızın üzerinde çalıştığı sunucular ve bu sunucuların cpu, ram disk gibi kaynaklarını ayrıntılı olarak izleyebilir, sorun anında önceden tanımladığınız uyarıların size ulaşmasını sağlayabilirsiniz. Bunun yanı sıra uygulamanızın içine girip en çok çağrılan rutinleri bunların içerisindeki sqlleri, bu sqllerin ne kadar zaman tükettikleri gibi bir dizi teknik detaya ulaşabilir ve ilgili uzmanlarla bu konuyu değerlendirebilirsiniz. E-devlet anlayışı gereği birçok kurum ve organizasyon birbirlerinden webservis ya da uygulama alıyorlar. Yani diyebiliriz ki bir e-devlet uygulaması aslında birden fazla kurumun birlikte ürettikleri değerin size yansıması dolayısı ile paydaşlardan birinde sorun olduğunda tüm servis etkilenmekte. Paydaştan kaynaklı sorunun takibi ve sorun anında paydaşınızı uyarılması bu tür uygulamalarda çok önemli. Ancak konu bir kamu kurumunun paylaştığı webservis ile alakalı ise ilgili birilerini bulmak onları harekete geçirmek çoğu zaman sıkıntılı bir hal alabilir. Paydaşlarla ilişkilerinizi bu bağlamda sorunsuz bir şekilde sürdürebilmeniz için webservislerin ilgili kurumlarını, dairelerini, müdürlerini, yazılımcılarını ve iletişim bilgilerini takip edecek bir paydaş yöneticisi atamanızda fayda olabilir. Zaman zaman kurumların iş mantıklarından kaynaklı yavaşlıklar ya da darboğazlar yaşanabilir hem kendi uygulamanızın hem de hizmet aldığınız paydaşın servisini izlemeniz ve çalışma karakteristiğini çıkarmanız gerekir. Sözgelimi ay sonlarında maaş hesaplamasından dolayı size sunulan servis yavaş olabilir, ya da sizin uygulamanız mevzuatınızdan kaynaklı olarak yılın belli bir ayı, ayın belli bir haftası, haftanın belli bir günü çok yoğun olabilir. Bu gibi durumlarda yatayda ve dikeyde bazı çözümler üretebilirsiniz. Örneğin bu zamanlarda uygulama sunucusu sayısını artırmak başka önemsiz bir uygulamayı yavaşlatmak ya da internet çıkışınızda yoğun olan uygulamanıza internet çıkışı açısından ayrıcalık tanımak gibi.

Application Analytics (AA): Uygulama analizi, APM ürününün bir uygulamanın performans sorunlarını gidermeye yardımcı olma yeteneğidir. Uygulama analizi, makine öğrenimi, istatistiksel çıkarım ve diğer performans göstergeleri aracılığıyla Java ve .NET gibi uygulama sunucuları, web tarayıcıları ve mobil uygulamalar tarafından desteklenen HTTP/S işlemleri için performans anormalliklerinin kaynağının otomatik olarak algılanmasını sağlar. AIOPS (Artificial intelligence for IT operation) da denen bu yaklaşımla oluşan bir dar boğazın nereden kaynaklandığı, kronik arızaların kök neden analizi gibi konular yapay zeka, makine öğrenmesi, big data gibi konseptler kullanılarak açığa kavuşturulabilir. Diğerlerine göre çok daha yeni olan bu yöntem yavaş yavaş APM toollarının özellik listesine girmeye başlamıştır.

Uygulamaların sağlıklı çalışması için yalnızca uygulama ve uygulamanın kurulu olduğu alt bileşenlerin çalışması yetmeyebilir. Dolayısı ile APM performans ölçümleri uygulama sorunlarını gidermek için tek başına yeterli olmayabilir. APM çözümleri, altyapıyı izleyen, sorunları teşhis eden ve uyarılar oluşturan Ağ Performansı İzleme (Network Performance Monitoring, NPM) çözümleri ile birlikte kullanılmalıdır. Örneğin Adana il müdürlüğünüzde yönlendiriciniz (router) ya da metro ethernet anahtarınız (switch) çalışmıyorsa ya da hattınız (bandwith) dolu ise istediğiniz kadar merkezdeki uygulamanızı inceleyin Adana’daki kullanıcıların sorununu bulamazsınız.

Scada Sistemleri: Eğer işletmenizin tüm bilişim hizmetlerini bulut (cloud) servis sağlayıcınızla yönetmiyorsanız ki genelde tüm hizmetleri buluta taşımak pek mümkün olmuyor. Jeneratörler, upsler ve onlara bağlı olan aküler, nemlendiriciler, trafolar sistem odalarının sıcaklıkları, iklimlendirme sistemleri, yangın algılama ve söndürme sistemleri, giriş-çıkış turnikeleri varsa biometrik doğrulama sistemleri gibi birçok alt bileşenin sürekli kontrol edilmesi gerekmektedir. Bunları APM ve NPM sistemlerinde olduğu gibi görselleştiren Scada sistemlerini de kurmanız gerekmektedir. Hocam scada ile uygulama izlemenin ne alakası var dediğinizi duyar gibiyim. Bir iki örnekle biraz daha pekiştirelim. Söz gelimi bir uygulamanızda yavaşlık yaşıyorsunuz. APM toolunuzun yardımı ile bir fiziksel uygulama sunucunuzun shutdown olduğunu fark ettiniz. Gittiniz sunucunuzu açtınız ve logları incelediğinizde sunucunun yüksek ısıdan dolayı kendini korumaya aldığını fark ettiniz. Peki, scada sistemini aktif bir şekilde izleseydiniz ne olacaktı? Veri merkezinizin o bölgesinde sizin belirlediğiniz ve fiziksel sunucusunun çalışma aralığının üstünde sıcaklık olduğunu fark edecek belki de scada sisteminiz alarm verecekti. Sizde gerekli önlemleri alacak, sunucunuz kapanmayacak ve dolayısı ile uygulamanız yavaşlamayacaktı. Bir başka örnek daha verelim elektrikler kesildi diyelim. Ups belirli bir zaman sonra jeneratörü devreye soktu, 10 dakika sonra yakıtınız bitti ve jenaratör kapandı. Şanslı olduğunuzu varsayalım Ups’iniz sunucularınızı prosedüre uygun bir şekilde kapatmanıza ancak yetti. Özetleyecek olursak yakıtınızın seviyesini sürekli kontrol etmediğiniz için plansız bir elektrik kesintisi sonrası uygulamanız kapandı. İşte bu yüzden scada sistemleri bt operasyonları için çok önemli.

Tüm bu izleme sistemlerini bir izleme ekibine ya da farklı farklı ekiplere izletebilirsiniz. Ancak problem anında problemin çözümü için çoğu kez büyük resimden bakmak gerektiğinden en azından probleme atadığınız problem yöneticinizin bu araçlara ulaşabiliyor olması ve yorum yapacak düzeyde kullanımını biliyor olması gerekmektedir.

2021 yılının hepimize ve insanlığa sağlık getirmesini dilerken sözlerimi yönetim bilimi konusunda yüzlerce makale, onlarca kitabı olan duayen Peter Drucker’ın efsane sözü ile bitirmek istiyorum.

“Ölçmediğinizi Yönetemezsiniz”
 

Email: yenalarslan@ictmedia.com.tr

@yenalarslan1

https://www.linkedin.com/in/yenalarslan