Bireyler SRE'ye katılmayı düşünürken ve ekipler SRE uygulamalarını eklemeyi düşünürken, sık sorulan bir soru "Nasıl kodlanması gerektiğini bilmeniz gerekiyor mu?" sorusudur.
Kısa cevap: evet.
Ama cevabın tamamı biraz daha nüanslı. Her biri için gereken kodlama uzmanlığı düzeyiyle birlikte site güvenilirliği mühendisliğinde kodlamanın devreye girdiği üç yere göz atalım. Bu liste tamamlanmadı, ancak bu senaryolar daha yaygın kullanım örneklerinden bazılarıdır.
Senaryo 1: Otomasyon aracılığıyla emekleri kaldırma
Site güvenilirlik mühendisleri ve SRE uygulamalarını kullanan diğer kişiler, mümkün olan her yerde işlerden yararlanmaya çalışır. "Toil" SRE'de belirli bir şey anlamına gelir. Toil, belirli özelliklere sahip bir insan tarafından yapılan işlemleri ifade eder. Zahmetin uzun vadede kazanılan bir değeri yoktur. Anlamlı herhangi bir yoldan hizmeti ileri taşımaz. Çoğunlukla tekrarlanan ve (otomatikleştirilebilse de) büyük ölçüde el ile yapılan bir şeydir. Hizmet veya sistemler zamanla büyüdükçe, bununla orantılı olarak söz konusu sisteme yönelik isteklerin sayısı da büyük olasılıkla artar ve daha da fazla el emeği gerektirir.
Örneğin, bir hizmet, SRE ekibinin her hafta bir şeyi sıfırlamasını ya da elle yeni hesaplar ve disk alanı sağlamasını ya da el ile tekrar tekrar yeniden başlatmasını gerektiriyorsa, bu iş yüküdür. Bu eylemlerin tamamlanması uzun vadede ve kalıcı bir şekilde hizmeti daha iyi hale getirmez. Bu eylemlerin büyük olasılıkla sürekli tekrar tekrar gerçekleştirilmesi gerekecektir.
SRE'ler zahmetli işlerden nefret eder. Mümkün ve uygun olduğu her durumda bunu ortadan kaldırmaya çalışır. SRE'de otomasyonun gündeme geldiği noktalardan biri budur. Bu istekler otomatik olarak işlenebilirse, bu da ekibi daha ödüllendirici ve etkili şeyler üzerinde çalışmaya serbesttir.
Kodlama uzmanlığı: Otomasyon biraz kodlama uzmanlığı gerektirir, ancak tam yazılım mühendisliği becerileri gerektirmesi gerekmez. Küçük betikler yazabiliyorsanız (PowerShell veya Bourne kabuğunda olabilir) veya neredeyse hiç kod içermeyen bir Azure mantıksal uygulaması oluştursanız bile, bu uygulama zahmetli durumları ortadan kaldırmaya yardımcı olabilir.
Senaryo 2: API'ler/etki alanına özgü diller (DLL'ler)/şablonlar aracılığıyla denetim
SRE çalışması için kesinlikle gerekli olmasa da API'ler, DLL'ler ve Şablonlar (özellikle bulut ortamları) aracılığıyla ortamları denetleyebilmek, SRE'lerin çalışmalarının ölçeğini artırmasına olanak tanır. Altyapı sağlama/sağlamayı kaldırma, izlemeyi yapılandırma ve çeşitli hizmetleri tümleştirme, kodlama yoluyla çok daha verimli hale gelir.
Kodlama uzmanlığı: Önceki senaryoda olduğu gibi, bu da biraz kodlama uzmanlığı gerektirir, ancak tam yazılım mühendisliği becerileri gerektirmez. Daha önce bahsedilen betiklere ve mantıksal uygulamalara ek olarak, Azure Resource Manager şablonları da en düşük kodlama deneyimiyle kullanılabilir.
Senaryo 3: Kodu düzeltme
Site güvenilirliği mühendisleri, bir sistemin güvenilirliğini artırmayı arar. Bu hedef bazen bir sistemin kaynak kodunun araştırılması, sorunun belirlenmesi ve genellikle kod tabanına bir düzeltme yapılması gerekir. Bu çalışmanın karmaşıklık düzeyi duruma göre büyük ölçüde farklılık gösterse de, bu gibi durumlarda kodlama uzmanlığı kesin bir gereksinimdir.
Kodlama uzmanlığı: Bu senaryoda genellikle tam yazılım mühendisliği uzmanlığı gerekir.