- Ajanik kodlama çağında bile yazılım mühendisi talebinin artması bekleniyor; asıl mesele kod yazmak değil, hizmet işletme yetkinliği
- Kod yazmak her zaman kolay kısım oldu; gerçekten zor olan şey sistemleri uzun süre boyunca istikrarlı biçimde işletmek
- No-code ve elektronik tablo örneklerinde olduğu gibi uzman olmayan kişiler de araçlar oluşturabilir, ancak bakım ve işletim yükü eninde sonunda profesyonel mühendislik gerektirir
- Kullanıcılar yazılım değil hizmet satın alır; iyi yazılım görünmeden çalışmalıdır
- Uptime, hata oranı, kurtarma hızı, güvenlik güncellemeleri gibi operasyonel mükemmellik (operational excellence) gelecekteki rekabet gücünün anahtarıdır
- Tüm bu gereksinimleri karşılayan rol olarak SRE, yazılım mühendisliğinin merkezine doğru kayıyor
SRE'nin en çok işe alınan rol olması bekleniyor
- Kod ucuzladıkça kazanan yapı operasyonel mükemmellik oluyor
- Greenfield demoları herkes yapabilir, ancak bir hizmeti istikrarlı biçimde işletmek için mühendislik yetkinliği gerekir
- "Herkes greenfield demo yazmak istiyor ama kimse hizmet işletmek istemiyor"
- Yazılım mühendisliği yalnızca programlama değil, zaman içinde değişen sistemleri yönetme işi
No-code ve elektronik tablo çağından çıkarılan dersler
- Muhasebe çalışanı Joe, haftada 10 saat alan tekrar eden işi no-code araçlar ve elektronik tablo makrolarıyla 1 saate indirdi
- Başlangıçta kazanım belirgindi, ancak zamanla karmaşıklık hızla arttı
- İş ortamındaki değişimler, muhasebe kurallarındaki güncellemeler, saat dilimi ve yaz saati uygulaması sorunları birikti
- Her hafta yeni edge case'ler ortaya çıktı ve sürekli bakım ile düzeltme gerekti
- Sonunda Joe, kendi kurduğu sisteme bağımlı hale geldi
- Tatildeyken bile sistemi düşünmek zorunda kaldı ve işletimini başkasına devretmek zorlaştı
- Kodu çalıştırmak ve sonuçları kontrol etmek bile kaygı ve gerginlik kaynağı oldu
Bilgisayar Hastalığı (The Computer Disease)
- Feynman'ın adlandırdığı bu kavram, bilgisayarlarla ilgili sorunun insanı durmadan kurcalamaya itmesi olmasıdır
- Otomasyonun kendisi eğlenceli olsa da gerekli olmayan alanları da otomatikleştirip karmaşıklığı büyütme tuzağı vardır
- Asıl yük hizmet işletimindedir
- Kararlı çalışmasını sürdürmek
- Büyük ölçekli ortamlarda sorunsuz biçimde ölçeklemek
- Yıllar boyunca sürekli yönetmek
- Hizmet sunumunda temel unsur istikrar, güvenilirlik ve sürekliliktir
Operasyonel mükemmellik neden gelecektir
- İnsanlar yazılım satın almaz; sorunlarını çözen bir hizmeti kullanıma alırlar
- Kimse iCloud'un içeride nasıl çalıştığıyla ilgilenmez; fotoğrafların cihazlar arasında her zaman otomatik senkronize olmasını bekler
- Word, Notion ve gDocs'un nasıl yapıldığı önemli değildir; önemli olan düşünceleri yazma ve paylaşma deneyimidir
- Ödeme ağının mimarisinden çok 7 dolarlık matcha latte'nin sorunsuz ödenmesi önemlidir
- İyi yazılım görünmezdir (doğal biçimde, varlığını hissettirmeden çalışır)
Gerçekten zor mühendislik problemleri
- Çalışan bir demo oluşturmanın ilk %90'ı kolaydır; kalan %190 asıl önemli kısımdır
- Operasyon açısından yanıtlanması gereken sorular:
- Uptime ne kadar
- Hata oluşum oranı ne düzeyde
- Bir kesinti olduğunda iyileşme süresi ne kadar hızlı
- Sorunlar kullanıcı fark etmeden önce tespit ediliyor mu
- Upstream bağımlılıklar yönetilebiliyor mu
- Bir vendor sorunu olduğunda kullanıcı şikayet etmeden önce fark ediliyor mu
- Kullanıcıların önerdiği fikirlerin yansıtılması ne kadar sürüyor
- Mühendislerin birbirlerinin sistemlerini bozmasını önleyen mekanizmalar var mı
- Uygulama karmaşık bir yığına dönüşmeden mühendislerin ilerlemeyi sürdürebileceği bir sistem var mı
- Tek bir kişinin zihninde taşınamayacak ölçekteki yazılım yönetilebiliyor mu
- Mühendisin 12 saat fark olan bir saat diliminde uyuduğu sırada büyük bir sorun çıkarsa, kullanıcı vazgeçmeden önce düzeltilebiliyor mu
- Kendi kesintilerinden ve upstream kesintilerinden kurtulmak mümkün mü, kritik veriler kayboluyor mu
- Güvenlik güncellemeleri düzenli olarak uygulanıyor mu
- Kullanıcı verileri sızmıyor mu
- Güvenilebilir mi
- Dayanılabilir mi
- Bu güveni destekleyen kanıt var mı
- Gerektiğinde yazılımın çalışacağına dair yasal olarak bağlayıcı bir garanti imzalanabilir mi
- Bunlar gerçekten zor mühendislik problemleridir; kod yazmak ise kolay kısımdır
8 yorum
Yorum tepkileri hahaha, sanki orijinal metinden sadece gerekenler budanıp alınmış gibi~ Elinize sağlık, keyifle okudum
Yapay zeka inceleme sonucu bip bip biiiip.. %95 olasılıkla bir yapay zeka blogu.
ahaha 90 190 ahaha
Hahahahahahahaha
Ne diyorsun?
SRE'nin ne olduğuna dair bir açıklama da olsaydı daha iyi olurdu diye düşünüyorum.