UYGULUMA DENETİMİNİ EN İYİ ŞEKİLDE KULLANMAK

Transkript

UYGULUMA DENETİMİNİ EN İYİ ŞEKİLDE KULLANMAK
UYGULAMA DENETİMİNİ EN İYİ ŞEKİLDE KULLANMAK TANITIM YAZISI UYGULUMA DENETİMİNİ EN İYİ ŞEKİLDE KULLANMAK UYGULAMA DENETİMİNİ EN İYİ ŞEKİLDE KULLANMAK Giriş Çok katmanlı (N‐tier) bilgi işlem mimarilerinin her yerde birden bulunabilir hale gelmesi ile yazılım uygulamalarının elverişliliği ve performansı, donanım, ağ ve yazılım bileşenleri arasındaki karmaşık etkileşime daha fazla bağımlı hale gelmiş ve böylece ölçülmesi, izlenmesi ve yönetimi daha da zorlaşmıştır. Aynı zamanda, özellikle e‐ticaret ve BT Hizmeti Yönetimi açısından, uygulamaların başarılı ve maliyet etkin bir biçimde denetlenmesinin önemi giderek artmıştır. Bu makalenin ilk bölümünde, uygulama denetimi için kullanışlı yöntemler belirtilip tanımlanmış, ikinci bölümünde ise, uygulama denetimi için kapsamlı bir değer mühendisliği tasarımı sunulmuştur. UYGULAMA DENETİMİ İÇİN ALTERNATİF YÖNTEMLER Aşağıdaki liste uygulamaların performansını ve elverişliliğini denetlemek için sıklıkla kullanılan temel yöntemlerden birkaçını tanımlamaktadır. •
Uygulama denetimi eklentileri •
Çoklu ölçüm barındırıcıları •
Uygulama Yönetim konsolu “taraması” •
Web hizmeti tabanlı uygulama denetim sistemleri •
Yapay işlem denetleyicileri •
Web hizmetleri aboneliği •
Bağlantı noktası tabanlı “get”ler Bu yöntemler etkinlik, ilk maliyet ve işletim maliyetlerine göre önemli oranda birbirlerinden ayrılırlar. En önemli görevleri yürüten uygulamalar çoğu zaman birden fazla yöntemle denetlenirler. Bu yöntemler, aşağıdaki paragraflarda açıklandığı gibi, yapısal denetleme (white box testing) ve işlevsel denetleme (black box testing) olarak iki kategoride sınıflandırılabilinir. Uygulama denetimi için iletişim ağı yoklayıcıları (sniffers) aşağıda belirtilmemiştir, ancak, makalenin ikinci bölümünde anlatılan tasarım yöntemleri tüm uygulama denetim yöntemlerine aynı derece uygulanabilir. YAPISAL DENETLEME Yapısal denetlemede, ölçümler, uygulamanın içerisinde yer alan yazılım bileşenlerinin elverişliliği ve bazen de performansı üzerinden yapılır. Bireysel ölçümler, uygulamanın elverişliliğini ve performansını kapsamlı bir şekilde ölçmek ve çıkarımlar yapmak için, bileştirilip, bağdaştırılabilinir. Uygulama denetleme eklentileri Çoğu denetleme platformunun (HP OpenView, CA Unicenter, IBM Tivoli, BMC Patrol, vs.), belirli bir uygulamanın ya da yazılımın kurulu olduğu tüm sunuculara konuşlandırılabilinen uygulama denetleme üstlenicilerinin yer aldığını program kitaplığı mevcuttur. Belirli bir uygulama için olan eklenti, denetlenen sunucu üzerinden konsol benzeri bir uygulama ile iletişim kurar. Eklenti, üstlenicilerden toplanan bilgileri birbiriyle ilişkilendirir ve merkezi bir konsol üzerinden uygulamanın toplam elverişliliğini ortaya koyar. Performans bilgileri, sahibine/kurulumcusuna, bileşen tabanlı bir performans modellemesi yapan karmaşık bir bağımlı ağ inşa etmesine imkan, bu konsollardan çıkarılabilir Bu yöntem, pahalı denetleme yazılımını ve karmaşık yapı tabanlı bağıntı modellerinin yaratılmasını ve bakımını gerektirdiği için oldukça pahalıdır ve bu yüzden sadece çok büyük ve çok gelişmiş organizasyonların en önemli uygulamaları için kullandıkları bir yöntemdir. Ayrıca, bu yöntem karmaşık yapısı nedeniyle teknik olarak Hizmet Seviyesi Yönetiminin kullanımı için güvenilirlikten yoksundur. UYGULAMA DENETİMİNİ EN İYİ ŞEKİLDE KULLANMAK ÇOKLU ÖLÇÜM BARINDIRICILARI Birçok denetleme aracı, isteğe bağlı toplanan farklı denetleyicilerin, daha sonra uygulamanın adına atanan, bir “barındırıcı”ya (container) veya sanal konakçıya (host) birleştirilmesine olanak sağlar. Daha sonra barındırıcı, denetlenen uygulamanın elverişliliği ile ilişkilendirilir. Tipik bir barındırıcının içerisine gidebilecek bazı ölçüler şöyledir: •
•
•
•
•
•
SNMP sağlayan Windows hizmetleri erişilebilirliği ve uygulama procları Perfmon sağlayan Windows hizmetleri erişilebilirliği ve uygulama procları Belirli MIB içeren bir uygulama için SNMP Uygulama procları durum bilgisi için Unix kabuk komutlarını çalıştıran komut tabanlı denetleyiciler Süreç elverişliliği için bağlantı noktası tabanlı taramalar Günlük dosyaları için sözdizimsel analiz (Log file parsing) Birçok denetleme aracı bu yöntemi kullanmak üzere ayarlanabilir. Bu yöntemdeki ana fikir, barındırıcıda yer alan denetleyicilerin hiçbirinin alarm konumunda olmaması durumunda uygulamanın elverişli olarak değerlendirilmesi üzerinedir. Çoklu ölçüm barındırıcılarında performans ölçümü yaratmak mümkün değildir. UYGULAMA YÖNETİM KONSOLU TARAMASI Günümüzde kullanılan işletme sınıfı uygulamaların çoğu, genellikle, web sitesinden veya güvenli web sitesinden erişilebilen, kendi süreç denetleme konsollarıyla donatılmıştır. Yönetici alt sistemleri uygulama geliştiricisinin bu amaç için sağladığı bir takım dahili yapısal denetleme aracını içerir ve ürünlerin etkinlikleri arasında açık bir fark bulunmaktadır. Gerçekten de, her uygulama denetleme konsolu ile gelmez. Bu konsollar genellikle kapsamlı bir elverişlilik sağlayabilme ve basit performans denetleme kapasitesine sahiptir. Uygulama denetimi için sistem yöneticisi konsolu işlevini kullanmak ve daha sonra edinilen bilgileri merkezi denetleme işlevine aktarmak, oldukça makuldür. Bu işlem, http veya http(ler) ile yönetici konsoluna bağlanarak ve daha sonra hata durumlarının varlığını denetlemek adına web sayfalarının html’lerini sözdizimsel analize alarak gerçekleşir. Hata bulunduğunda, müdahaleyi gerçekleştirecek personele, genel bir hata mesajı gönderilebilinir. İlgili personel daha sonra, durumu inceleyebilmek ve düzeltici faaliyeti gerçekleştirmek üzere gerekli detaylı bilgiye ulaşacağı uygulama yönetim konsoluna güvenli erişim için denetleme sistemi konsolunu kullanır Bu yöntem genellikle, sistem elverişliliğinin kaybolmasına neden olan sorun altkümelerinin hızlı bir şekilde tanımlanabilmesi için oldukça kullanışlıdır. Kısıtlaması ise uygulama ve ağ bileşenleri arasındaki etkileşimi doğrudan ölçmemesi veya dikkate almamasıdır. WEB HİZMETLERİ DENETLEMESİ Endüstri standartların uygulanması adına, web hizmeti kullanan Uygulama Denetimleri, heyecan verici ve sürekli gelişen bir alandır. Kısaca bu yöntem işletme uygulamalarının sunduğu web hizmetlerine “software bus” kullanarak abone olmayı içerir. Bu uygulamalar SOA (Hizmet Odaklı Mimari) kullanarak, xml belgesi formatındaki ilgili denetleme bilgilerini yayınlarlar. Tüm yapısal denetleme yöntemlerinde olduğu gibi bu yöntemde de bazı kısıtlamalar mevcuttur ancak şu an kullanılan diğer yapısal denetleme yöntemlerine kıyasla kurulumu ve bakımı oldukça kolaydır. UYGULAMA DENETİMİNİ EN İYİ ŞEKİLDE KULLANMAK İŞLEVSEL DENETLEME İşlevsel denetlemede, uygulamanın tümü, bir son kullanıcı ya da ara yüz uygulaması gibi hareket eden harici bir yoklayıcı (probe) tarafından test edilir YAPAY İŞLEM DENETLEYİCİLERİ Yapay işlemler, gerçek bir insanın bir uygulamayı özgün hızlarda kullanırken gerçekleştirdiği eylemleri taklit eden komutları oluşturan bir makro kaydedici kullanılarak yaratılır. Alarm, taklit edilen işlemin tamamlanmasını gerektiren süreye odaklıdır. Yapay işlem süreci, herhangi bir gerçek işlem süreci ile aynı sürede gerçekleştiğinden dolayı, tepki süresi, yapay işlemin yürütüldüğü süre içerisindeki kapasiteye karşı talep tarafından etkilenir. Dolaysıyla, ölçüm sadece uygulamanın gerçekçi bir görüntüsünü vermekle kalmaz aynı zamanda sistemin tepki performansını da gösterir. Davranışsal çalışmalar göstermiştir ki, kullanıcıya göre, işlemi yapan yazılımın yüksek ya da düşük olmasına bakmaksızın, yavaş performans ve var olamayan performans birbiriyle karşılaştırılabilinir. Çok katmanlı işlemler çoğu zaman yola bağımlıdır, bu yüzden de uygulamanın tüm kullanıcılar için olan performansının tamamıyla ölçmek için çoklu noktaların hazırlanması gerekebilir. Yapay işlem makro kaydedicilerinin iki çeşidi bulunmaktadır; ilki geniş pencere istemcileri için, diğeri ise dar tarayıcı istemcileri içindir. Bu işlevler standart denetleme araçlarının çoğunda bulunmaktadır ancak daha genel olarak, Mercury Interactive, Software Research, Rational, Quest, Compuware ve diğerlerinin başı çektiği yazılım testi piyasasından elde edilebilir. BAĞLANTI NOKTASI TABANLI TARAMALAR Bunlar, bir sunucunun elverişliliğini test etmek için kullanılan en basit ve en doğrudan yöntemlerdir. Aslında tüm denetleme sistemleri, bir uygulamaya erişen özgün bağlantı noktalarından birini kullanarak, bir get komutunu gerçekleştirmek için, kolayca biçimlendirilebilinir. Örneğin bir “eş dizgili bir URL get” denetleyicisi, DNS ve diğer yardımcı ağ sunucularını, sunucunun NIC kartını, özgün bağlantı nokta(ları)sının hayalet (daemon) bağlantı noktasını, işletim sistemini ve uygulamayı tek bir denetleyici üzerinden denetler. Bu tipteki uygulama denetimleri genellikle düşük etkideki uygulamalar için veya çok aşamalı konuşlandırmalarda sonradan eklenecek olan daha kapsamlı bir denetleyicinin yerine geçici olarak kullanılabilir. YAPISAL DENETLEMEYE KARŞI İŞLEVSEL DENETLEME Çok katmanlı yazılım mimarileri, günümüzün işletme uygulamaları için karmaşık sistemler olarak nitelendirilebilinir. Etkileşimler sadece aynı sistemin bileşenleri arasında oluşmaz, aynı zamanda iletişim ağı tarafından temsil edilen paylaşılan sistem kaynakları ve belirli bir uygulamanın kontrolü altında olmayan ortak hafıza sistemleri nedeniyle sanal olarak diğer tüm sistemlerle de etkileşimler meydana gelir. Karmaşık sistemlerde, sistem bileşenleri ve paylaşılan kaynaklar arasındaki fazla göze çarpmayan etkileşimler, genellikle hedeflenen sistem performansına hakim olur. Bu gerçek, hizmet seviyesi ölçümleri için yapısal denetlemenin etkinliğine bir üst limit oluşturur. Daha pratik bir ifadeyle, BT müşterileri, sağlanmış hizmet seviyesinin ölçümü için, kullanıcı deneyiminin doğrudan benzetimini kabullenmeye hazır gibi gözükmektedirler. Diğer bir taraftan ise yapısal denetleme, hızlı teşhis, izole etme ve sistem hatalarını çözmek ve performans ayarlarını yapmak için oldukça değerli bilgiler sağlar. Önemli görevleri yürüten birçok uygulama için hem yapısal hem de işlevsel denetleme yöntemlerini kullanmak oldukça faydalı olabilir. UYGULAMA DENETİMİNİ EN İYİ ŞEKİLDE KULLANMAK TASARIM PROSEDÜRLERİ Uygulama denetimi tasarımının değer mühendisliği için gereken asıl prosedür karmaşık ve aşama aşama tekrarlı bir yaklaşımdır. Yaklaşım, marjinal analiz kavramını kullanır ve ilk konuşlandırma maliyetini yanında özellikle uygulama denetiminin ömür maliyetini de kapsar. Uygulama tasarım prosedürünün ilk aşaması, denetlenecek bütün önemli uygulamaları tanımlamaktır. Daha sonra uygulamalar hizmet dışı kalmaları halinde işletmeye olan etkilerine göre derecelendirilir. Aşağıdaki grafik bu derecelendirmeyi göstermektedir: Bir sonraki aşama, tasarım sürecinin sonuncunda satın alınacak ya da daha önceden konuşlandırılmış denetleme araçları arasından, kullanılacak yöntemleri seçmektir. Bu sürecin bir parçası olarak, çeşitli uygulama denetleme yöntemlerinin ihtiyacını karşılayacak yeni araçların temin edilme maliyeti ve performansı hakkında hesaplar yapılır. Kavramsal olarak, sonuç, aşağıdaki grafikte gösterildiği gibi, uygulama denetleme araçlarının göreceli maliyetleri temel alınarak yapılan yatay bir küme derecelendirmesidir: UYGULAMA DENETİMİNİ EN İYİ ŞEKİLDE KULLANMAK Deneyimler göstermiştir ki; yapay işlem denetiminin en iyi çözümü ticari denetleme araçlarındaki “built in” makro kaydediciler yerine merkezi bir denetleme sisteminin kontrolü altında çalışan serbest makro kaydedicileri kullanmaktır. Benzer bir şekilde, biz de GroundWork’te bazı denetleme sistemlerinin içerisinde yer alan makro kaydedicilerin kullanım maliyetini hesaplamak yerine, bu yaklaşımınkini hesapladık. Daha sonra tekrar bu tasarım tercihine dönüp, kurulmuş olan araçların gerekli kapasiteye sahip olup olmadığına baktık. Yapay işlem denetleyicilerinin etkinliği, üretim denetlemesi, ön sürüm testi ve yük testi kullanımı için aynı test ortamı sağlandığı zaman, önemli oranda artmaktadır. Lisans ücretlerinin korunmasına ek olarak, üretim denetlemesi tarafından bildirilen teşhis bilgileri hem QA hem de geliştirme personeli için tanıdıktır. Yerleştirilmiş platform ürünlerinin kurulu olduğu ve uygulama içersisindeki “dizi” (tier) sayısının az olduğu durumlarda, yapısal denetleme araçlarını seçmek çok daha uygundur. Bu, uygulama denetlemesinin ihtiyacı olan ilintili iletişim ağının kurulumunu ve bakımını kolaylaştırır. Çoklu ölçüm barındırıcılarını kullanımı ise, uygulamanın tek bir donanım sunucusunda olduğu durumlarda çok daha uygundur. Örneğin, Exchange denetlemeleri için Microsoft’un tavsiyeleri bu yaklaşım ile kolayca uygulanabilir, ancak sadece oldukça cesur olanlar bunu SAP altyapısı için denemek isterler. Denetleme sisteminin son tasarımı, değişken denetleme yoğunluğunun çoklu denetleme yöntemlerine atanması üzerinedir. Son tasarımda, en yüksek etkiye sahip uygulamalar, HP Open View veya CA Unicenter (eğer önceden lisanslı ise) gibi denetleme sistemlerinde yer alan yapısal denetleme eklentilerini, çoklu denetleme işlemleri ve özgün bağlantı noktalarının bağlantı noktası taramaları ile yapısal işlemleri kullanabilirler. Buna karşın, orta seviyede etkiye sahip bir uygulama, tek bir yapay işlem ve bağlantı noktası tabanlı taramalar ile çoklu ölçüm barındırıcılarını kullanabilirler. Son olarak, düşük seviyede etkiye sahip bir uygulama, sadece geri gelen alanın dizgi eşi (string match) ile bağlantı noktası tabanlı taramalar aracılığıyla denetlenebilir. Bir yönetici konsolu sunan uygulamalarda, genellikle hata mesajları için konsolu tarama, önerilir. Uygulamalar üzerine denetleme yöntemlerinin sonuç görevi olarak, maliyet ve fayda arasındaki ilişkiyi en iyi şekilde sağlamak, gösterilebilir. UYGULAMA DENETİMİNİ EN İYİ ŞEKİLDE KULLANMAK SONUÇ Düzinelerce uygulama denetleme tasarımı üzerinde çalıştıktan sonra, basit ve daha az öneme sahip uygulamalar için en iyi çözüme genellikle, çoklu ölçüm barındırıcıları ile birleştirilmiş basit yapay işlemler aracılığıyla ulaşıldığını bulduk. Aynı araçlar sürüm testi ve çok katmanlı uygulamaların yük testinde de kullanıldığı zaman, bu çözümün maliyet etkinliği daha fazla artmaktadır. Bunun yanında, yapısal denetleme yöntemlerinin öncelikli olarak teşhis koymada faydalı olduğunu bulduk. Bu ilkeleri iyi yönetilen bir proje ile birlikte uygulama denetlemesinde kullanmak, yüksek uygulama elverişliliği, çalışan verimliliği, düşük sermaye ve işletim maliyeti gibi önemli ticari faydalar sağlamaktadır. İster pahallı uygulama denetleme yazılımlarını isterse açık kaynak araçlarını kulanın denetleme sistemlerinin değeri tasarımının ve uygulama planının etkinliğine ve iş sürecinin sonuçlarının nasıl kullandığına bağlıdır. Bu da çoğu kurum için oldukça iyi bir haberdir. İletişim 1.866.899.4342 [email protected] www.groundworkopensource.com GroundWork Open Source, Inc. 139 Townsend Street, Suite 100 San Francisco, CA 94107 GROUNDWORK HAKKINDA GroundWork Open Source, Inc. açık kaynak tabanlı BT yönetimi çözümleri sunar. Groundwork’ün çözümleri, BT yönetiminin, ticari yazılım maliyetinin bir parçası olarak, işletme seviyesinde elverişlilik, performans ve operasyon verimine ulaşmak için açık kaynak araçlarının düşük maliyetini ve esnekliğini arttırmasına olanak sağlar. ©2006GroundWork Open Source. Tüm hakları saklıdır. UYGULAMA DENETİMİNİ EN İYİ ŞEKİLDE KULLANMAK Şekil 1. Uygulama Kesintilerinin İşletmeye Etkisi EMAIL ERP ORDER PROCESSING ERP MANUFACTURING WEB PRESENCE INTRANET PORTAL ERP HR DOCUMENT MANAGEMENT RANK ORDER IMPACT OF OUTAGE DERECE SIRASI KESİNTİ ETKİSİ E‐POSTA ERP (İŞLETME KAYNAK PLANLAMASI) SİPARİŞ KARŞILAMA
ERP ÜRETİM WEB VARLIĞI INTRANET BAĞLANTI NOKTASI EPR İNSAN KAYNAKLARI BELGE YÖNETİMİ
Şekil 2. Uygulama Denetleme Araçları TCO APP.SCANS PROCESS MONITORS APPLICATION LOG MONITORS APPLICATION ADMIN CONSOLE MULTI‐MEASURE CONTAINERS SYNTHETIC TRANSACTIONS APPLICATION MONITOR PLUG‐INS TCO INVERSE STACK RANK BY TCO UYGULAMA TARAMALARI SÜREÇ DENETLEYİCİLERİ UYGULAMA GÜNLÜĞÜ DENETLEYİCİLERİ
UYGULAMA YÖNETİM KONSOLU ÇOKLU ÖLÇÜM BARINDIRICILARI
YAPAY İŞLEMLER
UYGULAMA DENETLEME EKLENTİLERİ
TCO TCO TARAFINDAN TERS KÜME DERECESİ 

Benzer belgeler