24 Ocak 2012

Korkmayın, Kapatın

Slogan şu: Kapatın gitsin. Geri geliyorsa yedeklidir, gelmiyorsa hiç yedekli olmamıştır.

Geçen haftalarda ekip olarak güzel bir tecrübe yaşadık. Bir denetleme kapsamında, yedekli omurga switch'lerimizin sırayla kapatılarak, yedekliliğin düzgün çalışıp çalışmadığını kontrol etmemiz istendi. Üzerlerindeki dörder switch modülünün 48 portunun tamama yakın dolulukta olduğu switch'lerden bahsediyorum. Bu switch'ler en son iki yıl önce test için kapatılmış, ama sonrasında yapı üç katına büyümüş. Taleple ilk karşılaşan herkesin tepkisi hemen hemen aynıydı. Geneli pek kibar olmadığı için bu ortamda teferruata girmeyeceğim. Sonucu baştan söyleyeyim, biz bu switch'leri istendiği şekilde kapattık.

Önümüzde çok kısa bir süre, sorumluluğumuzda da çok kritik sistemler varken şahsen ben de böyle bir operasyon için istekli değildim. Murphy'ye göre birşeylerin ters gitmesi gerekiyordu. Herhangi bir beklenmedik durumda uygulamaların tekrar düzgün çalışır hale getirilmesi saatler sürebilirdi. Nitekim bu testi yaptığımızda terslikler de olmadı değil.

Büyük gün gelmeden önce birşeyleri test etmek istiyorduk ve zaman kısıtından dolayı tüm sistemi kapsamlı kontrol etme imkanımız yoktu. İlk yaptığımız iş tecrübeli arkadaşlarda omurga üzerindeki sistemleri belirlemek oldu. Bunları risk ve olasılıklarına göre bir matrise yerleştirdik. Sistematik bir yöntemden bahsetmiyorum, tamamen arkadaşların birikimlerine dayalı sezgisel bir değerlendirme. Etkisi düşük olan riskleri görmedik bile. Sonuç olarak belirlediğimiz birkaç riskli uygulamanın üstüne gittik. İki gecelik operasyonla ön testler yaptık. Switch portlarını "shutdown" komutuyla kapatacak scripti arkadaşlar önceden hazırladılar. İki yıl önce yedekli çalıştığı görülen sistemlerin hala yedekli çalışmaya devam ettiğini gördük ve içimiz biraz rahatladı. Tabi bu arada birkaç yanlış etiketlenmiş kablo, tek switch'e yedeksiz bağlanmış birkaç sunucu vb de ortaya çıktı. Bu halde büyük teste girdik.

Switch'i kapattığımız anda tüm ekiplerden arkadaşlar hazırdı. Herkes kendi masasında sistemlerinin durumunu takip ediyordu. Power off anahtarını kimin çevireceği geyik konusu oldu. Sonunda yaptık. Saat gecenin bir vakti, 20-25 kişi dile kolay koca amiral gemisini suya batırıp çıkardık. Tarifi zor saniyeler geçti. Ne ile karşılaşacağınızı merak, bir parça heyecan ve ister istemez bir gerginlik. Uyku aklınızda değil. Ekranlar önce gitti, birkaç saniye sonra geri geldi. İşte o rahatlama ve haz anı gerçekten yaşamaya değer. Kontrollere devam ettik, alarm ekranlarında birkaç terslik mevcut, biraz sonra onlar da düzeldi. Switch'i açarken iki uygulamada beklenmedik bir problem oluştu ama ekip hemen müdahale etti.

Şimdi biliyorum ki, orada yedekliliğine müdahale etmem gereken sunucular var. İyileştirmem gereken noktaları da not alıyorum. Birlikte çalıştığım diğer firmalara da kontrol etmesi gereken yerleri aktarıyorum. Artık rahat uyuyabilirim çünkü sistemim yedek yapısı üzerinden devam edebiliyor. İhtiyaç olsa bir taşınma senaryosu bile düzenleyebilirim.

Sonuç (hatalarına rağmen) benim için tatmin edici oldu. Kritik sistemler yönetip bunun için yedekli yapı kuranlar bu testleri mutlaka yapmalı. Bunun için denetlemeler uygun zamanlar değil. Ekipler kendi iradesiyle planlayarak yapabilmeli. Yönetimler bu riski üstlenebilmeli. Yoğun operasyonel baskılar ve iş geliştirme birimlerinin zaman baskısı altında bazı acil çözümler, yapıyı korumaya müsade etmiyor. Bu testler rutine bağlanırsa bu baskı altında kendinizi de kontrol etme imkanınız olur. Üstelik ekipleri daha uyanık tutma konusunda da yardımı olur. Dolayısıyla en güzeli takvimlendirilip uygulanmalı, yapılamıyorsa en azından büyük değişiklikler sonrasında yapılmalı. En başta dediğim gibi, ekranlarınız geri geliyorsa yedeklidir, gelmiyorsa belki de hiç yedekli olmamıştır.

0 yorum:

Yorum Gönder