Rehber
Yazılım Yayına Girdikten Sonra: Bakım, Güvenlik Güncellemesi, Yedekleme ve İşletim Sistemi Uyumu
Yazılım, çevresi değiştikçe eskir. Güvenlik güncellemeleri, altyapı sürümleri, izleme, geri dönülebilen yedek, mobil uygulamalarda mağaza takvimi ve bakım anlaşmasında yazılması gerekenler.
· 4 dk okuma · Mood Reklam
Bir web sitesi, işletme programı ya da mobil uygulama yayına girdiği gün bitmiş gibi görünür. Oysa yazılım, çevresi değiştikçe eskiyen bir şeydir: üzerinde çalıştığı sunucu yazılımı güncellenir, telefonların işletim sistemi yenilenir, bağlı olduğu ödeme ya da e-fatura servisi kurallarını değiştirir, kullandığı parçalarda güvenlik açıkları bulunur. Kimse koda dokunmasa bile, uzun süre bakılmamış bir yazılım bir sabah çalışmayı bırakabilir.
Bu yazı yayından sonra nelerin yapılması gerektiğini ve bakım anlaşmasında neyin yazılı olması gerektiğini anlatıyor. Amaç sizi bir bakım paketine yönlendirmek değil, neyin neden gerektiğini bilmenizi sağlamak.
Yazılım neden kendi kendine eskir?
Bugünün yazılımları tek parça değildir. Yazılımcının yazdığı kodun altında hazır kütüphaneler, bir çatı (framework), programlama dilinin çalışma ortamı, bir veritabanı ve bir işletim sistemi vardır. Bu katmanların her birinin kendi güncelleme takvimi ve destek süresi bulunur. Desteği biten bir sürüme artık güvenlik yaması gelmez. Hosting firması eski bir sürümü kaldırdığında site bir gün hata vermeye başlayabilir.
Ayrıca her yazılım bir şeylere bağlıdır: kargo firmasının servisi, bankanın ödeme sayfası, SMS sağlayıcısı, harita servisi. Onlar kendi tarafında bir şeyi değiştirdiğinde sizin tarafınızda da değişiklik gerekir. Bu değişiklikler genellikle önceden duyurulur; duyuruyu birinin takip etmesi gerekir.
Bakımın dört parçası
Güvenlik güncellemeleri
Kullanılan çatı ve kütüphanelerde bir açık bulunduğunda düzeltilmiş sürüm yayımlanır. Bu güncellemelerin düzenli izlenip uygulanması, yönetici şifrelerinin güçlü tutulması ve işten ayrılan çalışanların hesaplarının kapatılması bakımın temelidir. SSL sertifikası, yani adres çubuğundaki kilidi sağlayan şifreleme sertifikası da belirli aralıklarla yenilenir; çoğu hosting bunu kendiliğinden yapar ama yapılıp yapılmadığı kontrol edilmelidir.
Altyapı sürümleri
Programlama dili ve çatı sürümleri belirli bir süre desteklenir. Desteği bitmeden bir üst sürüme geçmek, bitince aceleyle geçmekten çok daha kolaydır. Bu geçişler zaman zaman planlanması gereken, kendi başına bir iştir ve küçük güncellemelerle karıştırılmamalıdır.
İzleme ve hata düzeltme
Sitenin ya da panelin erişilemez olduğunu müşteriden öğrenmek istemezsiniz. Basit bir erişim izleme ve hata kayıtlarının düzenli okunması, sorunu kullanıcıdan önce fark etmeyi sağlar.
Küçük iyileştirmeler
Kullanım başladıkça “şu alan da olsun”, “bu rapor şöyle çıksın” istekleri gelir. Bunlar bakım değil, yeni geliştirmedir; ama düzenli bir bakım ilişkisi içinde daha kolay ele alınır.
Yedekleme: alınan değil, geri dönülebilen yedek
Yedeğin değeri, ondan geri dönülebildiği an ortaya çıkar. Birçok işletme yedek alındığını sanır ama o yedekten programı geri yüklemeyi hiç denememiştir. Yaygın bir pratik şöyle özetlenir: verinin birden fazla kopyası olsun, kopyalar farklı ortamlarda dursun, en az biri asıl sunucudan uzakta, başka bir konumda bulunsun. İskenderun’da depremi yaşamış bir işletmeye, yedeğin neden aynı binada ya da aynı sunucuda durmaması gerektiğini anlatmaya gerek yoktur.
Bakım anlaşmasında yedeğin ne sıklıkla alındığı, nerede tutulduğu, ne kadar geriye gidilebildiği ve geri yüklemenin en son ne zaman denendiği yazmalıdır. Yalnızca veritabanı değil, kullanıcıların yüklediği dosyalar (fotoğraflar, belgeler, imzalar) da yedeğe dâhil olmalıdır.
Mobil uygulamalarda ek bir takvim
Mobil uygulamalarda bakım web’e göre daha zorunludur, çünkü kurallar mağazanın elindedir. Google Play, uygulamaların yeni Android sürümlerini hedeflemesini belirli aralıklarla şart koşar; bu şartı karşılamayan uygulamalar yeni telefonlarda yeni kullanıcılara görünmez hâle gelebilir. Apple da yeni gönderilen uygulamaların güncel geliştirme araçlarıyla derlenmesini ister. Her yeni işletim sistemi sürümünde izin ekranları, bildirim davranışları ya da arka plan kuralları değişebilir. Uygulamanın kullandığı çapraz platform aracı ve eklentiler de bu değişikliklere ayak uydurmak için güncellenmelidir. Mağazadaki bir uygulama için yıl içinde birkaç kez kontrol ve güncelleme planlamak gerçekçi bir beklentidir.
Bakım anlaşmasında yazması gerekenler
- Hangi güncellemelerin bakım kapsamında olduğu, hangilerinin yeni iş sayıldığı
- Bir hata bildirildiğinde nasıl ve kime ulaşılacağı
- Yedekleme düzeni ve geri yükleme denemesinin sıklığı
- Sunucu, alan adı ve sertifika yenilemelerini kimin takip ettiği
- Mağaza uyarılarını ve işletim sistemi değişikliklerini kimin izlediği
- Bakım bittiğinde erişimlerin nasıl devredileceği
Son madde, projenin başındaki teslim kararlarıyla doğrudan bağlıdır; ayrıntısı teslim ve sahiplik yazısında.
Bakımı kim yapmalı?
En doğal aday yazılımı geliştiren kişi ya da ekiptir, çünkü kodu en yakından o tanır. Ama bakım bir ilişkiye bağlıysa o ilişki de yazılı olmalıdır; yoksa “acil bir şey olursa ararız” cümlesi ilk acil durumda karşılıksız kalır. Yazılımınız İskenderun’da yazılmış olsun ya da olmasın, bakımı devralacak kişi koda ve hesaplara erişebilmelidir. Yeni bir site ya da program planlıyorsanız bakımı baştan konuşmak için web tasarım ve özel yazılım sayfalarına göz atın; yayından sonraki değişiklik ve bakım ihtiyacı, kapsam konuşulurken ayrıca ele alınır.