Site güvenilirliği mühendisliği nedir?

Site güvenilirliği mühendisliği (SRE), sistem yönetimi ve uygulama izleme gibi BT altyapı görevlerini otomatikleştirmek için yazılım araçlarını kullanma uygulamasıdır. Kuruluşlar, yazılım uygulamalarının geliştirme ekiplerinin sık sık güncellemeleri arasında güvenilir kalmasını sağlamak için SRE kullanır. SRE özellikle ölçeklenebilir yazılım sistemlerinin güvenilirliğini artırır, çünkü yazılım kullanarak büyük bir sistemi yönetmek yüzlerce makineyi manuel olarak yönetmekten daha sürdürülebilir. 

Site güvenilirliği mühendisliği neden önemlidir?

Site güvenilirliği, bir uygulamanın son kullanıcıların kullanımına açıldıktan sonra sunduğu hizmetin kararlılığını ve kalitesini tanımlar. Teknik sorunlar tespit edilmezse yazılım bakımı bazen yazılım güvenilirliğini etkiler. Örneğin, geliştiriciler yeni değişiklikler yaptığında, yanlışlıkla mevcut uygulamayı etkileyebilirler ve belirli kullanım örneklerinde çökmesine neden olabilirler.

Site güvenilirliği mühendisliği (SRE) uygulamalarının bazı avantajları aşağıda verilmiştir.

Geliştirilmiş iş birliği

SRE, geliştirme ile operasyon ekiplerinin arasındaki iş birliğini artırır. Geliştiriciler genellikle yeni özellikler yayınlamak veya kritik hataları düzeltmek için bir uygulamada hızlı değişiklikler yapmak zorundadır. Öte yandan, operasyon ekibi sorunsuz hizmet teslimi sağlamak zorundadır. Bu nedenle, operasyon ekibi, her güncellemeyi yakından izlemek ve değişiklikler nedeniyle ortaya çıkan sorunlara anında müdahale etmek için SRE uygulamalarını kullanır.

Gelişmiş müşteri deneyimi

Kuruluşlar, yazılım hatalarının müşteri deneyimini etkilemediğinden emin olmak için bir SRE modeli kullanır. Örneğin, yazılım ekipleri yazılım geliştirme yaşam döngüsünü otomatikleştirmek için SRE araçlarını kullanır. Bu, hataları azaltır; yani ekip hata düzeltmeleri yerine, yeni özellik geliştirmeye öncelik verebilir.

Geliştirilmiş operasyon planlaması

SRE ekibi, yazılımın başarısız olmasına yönelik gerçekçi bir olasılık olduğunu kabul eder. Bu nedenle ekip, kesinti süresinin işletme ve son kullanıcılar üzerindeki etkisini en aza indirmek için uygun olay müdahalesini planlar. Ayrıca kesinti süresinin maliyetini daha iyi tahmin edebilir ve bu tür olayların iş operasyonları üzerindeki etkisini anlayabilirler. 

Site güvenilirliği mühendisliğinin temel prensipleri nelerdir?

Site güvenilirliği mühendisliğinin (SRE) bazı temel prensipleri aşağıda verilmiştir.

Uygulama izleme

SRE ekipleri, hataların yazılım dağıtım sürecinin bir parçası olduğunu kabul eder. Mükemmel bir çözüm için çabalamak yerine, yazılım performansını hizmet düzeyi sözleşmeleri (SLA'lar), hizmet düzeyi göstergeleri (SLI'lar) ve hizmet düzeyi hedefleri (SLO'lar) açısından izlerler. Uygulamayı üretim ortamlarında dağıttıktan sonra performans ölçümlerini gözlemler ve izlerler. 

Kademeli değişim uygulaması

SRE uygulamaları, sistem güvenilirliğini sürdürmek için sık fakat küçük değişikliklerin yayınlanmasını teşvik eder. SRE otomasyon araçları, tutarlı ancak tekrarlanabilir süreçler kullanarak şunları gerçekleştirir:

  • Değişiklikler nedeniyle ortaya çıkan riskleri azaltma.
  • Sistem performansını ölçmek için geri bildirim döngüleri sağlama.
  • Değişim uygulamasının hızını ve verimliliğini artırma.

Güvenilirliği artırmak için otomasyon

SRE, teslim işlem hattının her adımında güvenilirlik prensiplerini dâhil eden politikalar ve süreçler kullanır. Sorunları otomatik olarak çözen bazı stratejiler şunları içerir:

  • Sorunları daha erken tespit etmek için hizmet düzeyi hedeflerine dayalı kalite geçitleri geliştirme
  • Hizmet düzeyi göstergelerini kullanarak derleme testini otomatikleştirme
  • Yazılım geliştirmenin başında sistem esnekliği sağlayan mimari kararlar alma

Site güvenilirliği mühendisliğinde gözlenebilirlik nedir?

Gözlenebilirlik, yazılım son kullanıcılar için yayınlandıktan sonra yazılım ekibini belirsizliklere hazırlayan bir süreçtir. Site güvenilirliği mühendisliği (SRE) ekipleri, yazılımdaki anormal davranışları tespit etmek ve daha da önemlisi geliştiricilerin soruna neyin sebep olduğunu anlamalarına yardımcı olacak bilgileri toplamak için araçlar kullanır. Gözlenebilirlik, aşağıdaki bilgilerin SRE araçlarıyla toplanmasını içerir. 

Ölçüm

Ölçümler, bir uygulamanın performansını veya sistem durumunu yansıtan ölçülebilir değerlerdir. SRE ekipleri, yazılımın aşırı kaynak tüketip tüketmediğini veya anormal davranıp davranmadığını belirlemek için ölçümleri kullanır.

Günlükler

SRE yazılımı, belirli olaylara yanıt olarak günlük adı verilen ayrıntılı, zaman damgalı bilgiler üretir. Yazılım mühendisleri, belirli bir soruna yol açan olaylar zincirini anlamak için günlükleri kullanır. 

İzlemeler

İzlemeler, dağıtılmış bir sistemdeki belirli bir işlevin kod yolunun gözlemleridir. Örneğin, bir sipariş sepetine göz atmak şunları içerebilir:

  • Veri tabanı ile fiyatın hesaplanması
  • Ödeme ağ geçidi ile kimlik doğrulama
  • Siparişlerin satıcılara gönderilmesi

İzlemeler bir kimlik, isim ve zamandan oluşur. Yazılım geliştiricilerinin, gecikme süresi sorunlarını tespit etmelerine ve yazılım performansını iyileştirmelerine yardımcı olurlar. 

Site güvenilirliği mühendisliğinde izleme nedir?

İzleme, bir uygulamada önceden tanımlanmış ölçümleri gözlemleme sürecidir. Geliştiriciler, uygulama durumunu belirlemede hangi parametrelerin kritik öneme sahip olduğuna karar verir ve bunları izleme araçlarında ayarlar. Site güvenilirliği mühendisliği (SRE) ekipleri, sistem performansını yansıtan kritik bilgileri toplar ve grafiklerde görselleştirir.

SRE'de yazılım ekipleri, sistem güvenilirliği hakkında öngörü kazanmak için bu ölçümleri izler.

Gecikme süresi

Gecikme süresi, uygulamanın bir isteğe yanıt verdiği sıradaki gecikmeyi belirtir. Örneğin, bir web sitesindeki form gönderimi, kullanıcıları bir onay web sayfasına yönlendirmeden önce 3 saniye sürer. 

Trafik

Trafik, hizmetinize eş zamanlı olarak erişen kullanıcı sayısını ölçer. Yazılım ekiplerine, tüm kullanıcılar için tatmin edici bir hizmet düzeyini korumak amacıyla bilgi işlem kaynaklarını buna göre bütçeleme konusunda yardımcı olur.

Hata

Hata, uygulamanın beklentilere uygun şekilde performans göstermediği veya sonuç sağlamadığı bir durumdur. Örneğin, bir web sayfası yüklenemediğinde veya bir işlem gerçekleşmediğinde, SRE ekipleri uygulamadaki hataları otomatik olarak izlemek ve bunlara yanıt vermek için yazılım araçlarını kullanır. 

Doygunluk

Doygunluk, uygulamanın gerçek zamanlı kapasitesini gösterir. Yüksek düzeyde doygunluk genellikle performansın düşmesine neden olur. Site güvenilirliği mühendisleri doygunluk seviyesini izler ve belirli bir eşiğin altında olmasını sağlar. 

Site güvenilirliği mühendisliğinin temel ölçümleri nelerdir?

Site güvenilirliği mühendisliği (SRE) ekipleri aşağıdaki ölçümleri kullanarak hizmet tesliminin kalitesini ve güvenilirliğini ölçer. 

Hizmet düzeyi hedefleri

Hizmet düzeyi hedefleri (SLO'lar), yazılımın aşağıdaki gibi diğer ölçümlere makul bir maliyetle ulaşabileceğinden emin olduğunuz belirli ve ölçülebilir hedeflerdir: 

  • Çalışma süresi veya sistemin çalıştığı süre
  • Sistem verimliliği veya
  •  çıktı
  • İndirme hızı veya uygulamanın yükleme hızı

Bir SLO, yazılım aracılığıyla müşteriye teslimat sözü verir. Örneğin, şirketinizin yemek teslimatı uygulaması için %99,95 çalışma süresi belirlersiniz.

Hizmet düzeyi göstergeleri

Hizmet düzeyi göstergeleri (SLI'lar), bir SLO'nun tanımladığı ölçümün gerçek hesaplamasıdır. Gerçek hayattaki durumlarda, SLO'ya uyan veya SLO'dan farklı değerler alabilirsiniz. Örneğin, uygulamanız, zamanın %99,92'sinde çalışır durumdadır ve bu da söz verilen SLO'dan düşüktür. 

Hizmet düzeyi sözleşmeleri

Hizmet düzeyi sözleşmeleri (SLA'lar), bir veya daha fazla SLO karşılanmadığında ne olacağını belirten yasal belgelerdir. Örneğin, SLA, teknik ekibin bir rapor alındıktan sonraki 24 saat içinde müşterinizin sorununu çözeceğini belirtir. Ekibiniz sorunu belirtilen süre içinde çözemezse müşteriye geri ödeme yapmak zorunda kalabilirsiniz.

Hata bütçeleri

Hata bütçeleri, SLO için uyumsuzluk toleransıdır. Örneğin, SLO'da %99,95 çalışma süresi, izin verilen kesinti süresinin %0,05 olduğu anlamına gelir. Yazılım kesinti süresi hata bütçesini aşarsa yazılım ekibi uygulamayı stabilize etmek için tüm kaynakları ve dikkati buna ayırır.

Site güvenilirliği mühendisliği nasıl çalışır?

Site güvenilirliği mühendisliği (SRE), site güvenilirliği mühendislerinin bir yazılım ekibine katılımını içerir. SRE ekibi, SRE için temel ölçümleri belirler ve sistemin risk toleransı düzeyine göre belirlenen bir hata bütçesi oluşturur. Hata sayısı düşükse geliştirme ekibi yeni özellikler yayınlayabilir. Ancak hatalar izin verilen hata bütçesini aşarsa ekip yeni değişiklikleri beklemeye alır ve mevcut sorunları çözer.

Örneğin, bir site güvenilirliği mühendisi performans ölçümlerini izlemek ve anormal uygulama davranışını tespit etmek için bir hizmet kullanır. Uygulama ile ilgili sorunlar varsa SRE ekibi yazılım mühendisliği ekibine bir rapor gönderir. Geliştiriciler bildirilen vakaları düzeltir ve güncellenmiş uygulamayı yayınlar.

DevOps

DevOps, geliştirme ve operasyon ekiplerinin geleneksel sınırlarını yıkan bir yazılım kültürüdür. DevOps sayesinde, geliştiriciler ve operasyon mühendisleri artık silolarda çalışmaz. Bunun yerine, iş birliğini geliştirmek ve yazılım güncelleme sürümlerinin hızlı hızına ayak uydurmak için yazılım araçları kullanırlar.

DevOps ve SRE karşılaştırması

SRE, DevOps'un pratik uygulamasıdır. DevOps, giderek kısaltılan geliştirme zaman çizelgesinde yazılım kalitesini korumak için yapılması gerekenlerin felsefi temelini sağlar. Site güvenilirliği mühendisliği, DevOps'un başarısına nasıl ulaşılacağına dair cevaplar sunar. SRE, DevOps ekibinin hız ve istikrar arasında doğru dengeyi kurmasını sağlar. 

Bir site güvenilirliği mühendisinin sorumlulukları nelerdir?

Site güvenilirliği mühendisi, üretim ortamında yazılım güvenilirliğini izlemek ve gözlemlemek için otomasyon araçlarını kullanan bir BT uzmanıdır. Ayrıca yazılımda sorun bulma ve bunları düzeltmek için kod yazma konusunda da deneyimlidirler. Genellikle eski sistem yöneticileri veya iyi kodlama becerilerine sahip işletme mühendisleridir. Aşağıda bazı site güvenilirliği sorumlulukları verilmiştir.

Operasyonlar

Site güvenilirliği mühendisleri zamanlarının yarısını operasyon işlerinde harcar. Bu, aşağıdakiler gibi çeşitli görevleri içerir: 

  • Acil durum olay müdahalesi
  • Değişiklik yönetimi
  • BT altyapı yönetimi

Mühendisler, çeşitli operasyon görevlerini otomatikleştirmek ve ekip verimliliğini artırmak için site güvenilirliği mühendisliği (SRE) araçlarını kullanır.

Sistem desteği

Site güvenilirliği mühendisleri, yeni özellikler oluşturmak ve üretim sistemlerini stabilize etmek için geliştirme ekibiyle yakın bir şekilde çalışır. Tüm yazılım ekibi için bir SRE süreci oluştururlar ve yönlendirme konularını desteklemek için hazırdırlar. Daha da önemlisi, site güvenilirliği ekipleri, şikayetlerle etkili bir şekilde başa çıkmalarına yardımcı olmak için müşteri desteğine belgelenmiş prosedürler sağlar. 

Süreç iyileştirme

Site güvenilirliği mühendisleri, olay sonrası incelemeler yaparak yazılım geliştirme yaşam döngüsünü iyileştirir. SRE ekibi, tüm yazılım sorunlarını ve ilgili çözümleri ortak bir bilgi tabanında belgeler. Bu, yazılım ekibinin gelecekte benzer sorunlara verimli bir şekilde yanıt vermesine yardımcı olur. 

Yaygın kullanılan site güvenilirliği mühendisliği araçları nelerdir?

Site güvenilirliği mühendisliği (SRE) ekipleri izleme, gözlem ve olay müdahalesini kolaylaştırmak için farklı türde araçlar kullanır. 

Container düzenleyicisi

Yazılım geliştiricileri, çeşitli platformlarda container'lı uygulamaları çalıştırmak için bir container düzenleyicisi kullanır. Container'lı uygulamalar, kod dosyalarını ve ilgili kaynaklarını container adı verilen tek bir pakette depolar. Örneğin, yazılım mühendisleri bulut uygulamalarını çalıştırmak ve ölçeklendirmek için Amazon Esnek Kubernetes Hizmeti (Amazon EKS) kullanır. 

Çağrı üzerine yönetim araçları

Çağrı üzerine yönetim araçları, SRE ekiplerinin bildirilen yazılım sorunlarıyla ilgilenen destek personelini planlamasına, düzenlemesine ve yönetmesine olanak tanıyan yazılımlardır. SRE ekipleri, yazılım sorunları hakkında zamanında uyarılar almak için her zaman beklemede bir destek ekibinin olmasını sağlamak için yazılımları kullanır. 

Olay müdahalesi araçları

Olay müdahalesi araçları, tespit edilen yazılım sorunları için net bir yönlendirme yolu sağlar. SRE ekipleri, bildirilen vakaların ciddiyetini kategorilere ayırmak ve bunlarla derhâl ilgilenmek için olay müdahale araçlarını kullanır. Araçlar, benzer sorunların tekrar oluşmasını önlemek için olay sonrası analiz raporları da sağlayabilir. 

Yapılandırma yönetimi araçları

Yapılandırma yönetimi araçları, yazılım iş akışını otomatikleştiren yazılımlardır. SRE ekipleri, tekrarlayan görevleri kaldırmak ve daha üretken olmak için bu araçları kullanır. Örneğin, site güvenilirliği mühendisleri AWS ortamlarında sunucuları otomatik olarak kurmak ve yönetmek için AWS OpsWorks'ü kullanır. 

AWS, site güvenilirliği mühendisliğine nasıl yardımcı olur?

AWS Yönetim ve İdare hizmetleri, yazılım ekibinin sistem güvenilirliğinden ödün vermeden, dağıtılmış uygulamaları oluşturması, ölçeklendirmesi ve dağıtması için gerekli araçları sağlar. Site güvenilirliği mühendisliği (SRE) ekibi, AWS'yi ve şirket içi bilgi işlem kaynaklarını izlemek ve yönetmek için çeşitli AWS Yönetim ve İdare hizmetlerini kullanır.

  • AWS Hizmet Kataloğu, SRE ekiplerinin BT hizmetlerini kataloglamasına, yönetmesine ve hızla dağıtmasına olanak tanır.
  • AWS Sistem Yöneticisi, site güvenilirliği mühendislerinin yazılım bilgi işlem kaynakları hakkında operasyonel içgörüler elde etmeleri için merkezi bir yönetim merkezi sağlar.
  • AWS Proton, container'lı ve sunucusuz uygulamaları dağıtmaya yarayan otomatik bir yönetim aracıdır.

Hemen bir AWS hesabı oluşturarak AWS'de site güvenilirliği mühendisliğini kullanmaya başlayın.

AWS üzerinde sonraki adımlar

Ücretsiz bir hesap için kaydolun

AWS Ücretsiz Kullanım için anında erişim elde edin.

Kaydolun 
Konsolda oluşturmaya başlayın

AWS yönetim konsolunda site güvenilirliği mühendisliği ile oluşturmaya başlayın.

Oturum açın