SRE ve DevOps: Farklılıklar ve Benzerlikler

Perform Yazılım
4 min readDec 18, 2023

--

Bir DevOps yolculuğuna başlamış olan birçok kuruluş artık operasyonları optimize etmek için SRE’ye yöneliyor. İkisini de uygulamadıysanız, başlamak için en iyi uygulama hem DevOps hem de SRE uygulamalarını içeren bir strateji geliştirmektir.

Covid-19 süreci, çevrimiçi hizmetlere olan talepteki çarpıcı artışa yanıt olarak kuruluşların buluta özgü teknolojilere geçiş eğilimini hızlandırdı. Buluta özgü ortamlar, yazılım geliştirme ve operasyon (DevOps) uygulamalarına hız ve çeviklik getiriyor. Ancak bu hız ve çeviklik ile yeni komplikasyonlar ve karmaşıklık geliyor, tüm bunlar yılda %1'den daha az kesinti ile performans ve güvenilirliği koruyor. SRE’nin devreye girdiği yer burası olmaktadır.

SRE, DevOps mu yoksa SRE ve DevOps mu? DevOps, yazılım geliştirme ve teslimatını optimize etmeye ve SRE, operasyon süreçlerine odaklanmıştır. Her iki uygulama da aynı kapsayıcı ilkelerle yaşıyor. Burada her birinin amacını ele alacağız ve nasıl etkileşimde bulunduklarını keşfedeceğiz.

Bir felsefe olarak DevOps:

DevOps, SRE’den daha uzun süredir var, o yüzden oradan başlayalım. DevOps belirli bir süreç değil, yazılım geliştirme ve BT işlemleri arasındaki boşluğu kapatmaya yönelik genel bir esnek yazılım oluşturma ve dağıtım uygulamaları koleksiyonudur. Amacı, çevik süreçleri kullanarak, mümkün olduğunca otomatikleştirerek ve organizasyon tarafından silolanmak yerine hizmet odaklı ekipleri yatay olarak hizalayarak daha iyi yazılımları daha hızlı geliştirmek ve sunmaktır.

Bu her zaman kolay değildir. Ekipler, yeni uygulamaları kullanıma sunarken, tanıdık manuel süreçlerde ve parça parça çözümlerde yerleşik olabilir ve silolanabilir. Bu durumda, liderler mümkün olduğunca çok süreci düzene sokmak ve otomatikleştirmek için yöntemler geliştirmek ve benimsemek için DevOps ekiplerini desteklemelidir.

DevOps, süreçlerden ve otomasyondan daha fazlasıdır — ekipleri ortak bir hedefler kümesi üzerinde hizalamak için bir zihniyettir. Kuruluşların genellikle geliştiricilerin ve operasyonların hedeflerini sentezlemek için bazı ekip oluşturmaları gerekir. Genel olarak, geliştiriciler daha büyük bir çeviklikle oluşturmak isterken, operasyon ekipleri istikrarı ve öngörülebilirliği korumak ister. Amaç, ekipleri bu kültürel yakınlaşmada, güçlerini birleştirerek ihtiyaç duydukları şeyi elde edebileceklerine dair bir güvence ile uyumlu hale getirmektir.

DevOps uygulaması olarak SRE:

DevOps, yeni yazılım geliştirmeyi ve teslimatını hızlandırmak için pratik bir yaklaşım olarak düşünülür. SRE, uygulamalara ve altyapıya esneklik oluşturarak sürümlerin kullanılabilirliğini, performansını ve ölçeklenebilirliğini geliştirmek için yazılım mühendisliği ve DevOps ilkelerini kullanarak geleneksel operasyon uygulamalarının dönüşümüdür. Google’dan Ben Treynor’un açıkladığı gibi, “Temel olarak, bir yazılım mühendisinden bir operasyon işlevi tasarlamasını istediğinizde olan budur.”

Saha güvenilirliği mühendisleri, aşağıdakiler gibi temel uygulamaları takip ederek DevOps misyonunu yerine getirir:

  • Operasyon sorununu çözmek için yazılım mühendisliğini kullanma
  • Bir hizmet için kullanılabilirlik hedefleri olarak Hizmet Düzeyi Hedeflerini (SLO’lar) belirleme ve yönetme
  • Zorluğu önlemek için otomasyona ve takımlara yatırım yapmak
  • Shift-left yaklaşımını teşvik etmek, geliştirme yaşam döngüsünde daha erken test etmek

SRE Raporunun Durumu

Bir dizi endüstrideki 450 SRE’den, saha güvenilirliği mühendisliğinin (SRE) bir disiplin olarak nasıl geliştiğine dair filtrelenmemiş bakış açılarını paylaşmalarını istedik. Rapor, SRE’lerin üstesinden gelmesi gereken zorlukları ve SRE’nin geleceğinin nasıl göründüğünü ortaya koyuyor.

SRE ve DevOps arasındaki farklar nelerdir?

SRE, yazılım mühendisliği ilkelerini DevOps’un operasyon tarafına uygularsa, ikisinin çok ortak nokta paylaşmasını beklemek mantıklıdır. Google’ın açıkladığı gibi, hem SRE hem de DevOps, ekiplerin şunları yapmasını gerektirir:

  • Değişimin iyileştirme için gerekli olduğunu anlayın
  • Tek ekiplere yayılan değerleri paylaşın
  • API’ler ve sürüm kontrollü eserler kullanarak “her şey kod olarak” felsefesini benimseyin
  • Ölçülebilirliğe işlerini yapmak için kritik olarak değer verin
  • Yazılım dağıtım hattı aracılığıyla daha iyi hız elde etmeyi hedefleyin

SRE’ye karşı DevOps

SRE ve DevOps, farklı alanlarda farklı kapsamlarla çalışmak kadar rekabet etmez. DevOps, işlemlerin ayrıntılı bir düzeyde nasıl yürütüleceği ile ilgilenmez. Öte yandan SRE’nin amacı, operasyonel süreçleri geliştirmek için DevOps ilkelerini uygulamaktır.

Evet, DevOps, ilkeleri diğer alanlarda (örneğin DevSecOps için Güvenlik veya CI/CD yapmak için yazılım dağıtımında) uygulanabilen geniş bir felsefedir, ancak en saf haliyle daha çok yazılım geliştirme ve teslimatı ile ilişkilidir.

SRE, aşağıdakiler de dahil olmak üzere, özellikle operasyonel süreçleri geliştirmek için DevOps ilkelerini uygular:

  • Kullanılabilirlik
  • Kesintisizlik
  • Verimlilik
  • Kolaylaştırılmış değişim yönetimi
  • Sağlam acil durum müdahalesi
  • Doğru kapasite planlaması

SRE’ler DevOps’u nasıl destekleyebilir?

Bir DevOps yolculuğuna başlamış olan birçok kuruluş artık operasyonları optimize etmek için SRE’ye yöneliyor. İkisini de uygulamadıysanız, başlamak için en iyi uygulama hem DevOps hem de SRE uygulamalarını içeren bir strateji geliştirmektir.

Bu uygulamaları benimsemek bir kültür değişimidir. Başarı, uygulamaları geliştirmenin ve sunmanın daha entegre bir yolunu desteklemek için yönetici vizyonu ve katılım, iç tartışma ve yönetim koordinasyonu gerektirir.

Dynatrace’de, müşterilerin ve endüstrinin son derece otomatikleştirilmiş, AI-driven DevOps’a doğru hareketini ilerletmeye inanıyoruz, böylece ekipler sıradan görevleri otomatikleştirebilir ve inovasyonu daha hızlı ve daha az riskle sunabilir.

Dynatrace Yazılım Zekası Platformu, kuruluşların buluta özgü uygulamaları geliştirme ve yönetme şeklini dönüştürmelerine yardımcı olarak DevOps ekiplerinin CI/CD boru hattını otomatikleştirmesini ve SRE ekiplerinin test ve düzeltmeyi otomatikleştirmesini sağlar. Bu, DevOps ve SRE ekiplerinin yazılım yaşam döngüsünün daha önceki kalite sorunlarını tanımlamasını, daha fazla süreci otomatikleştirmesini ve üretime giderken koda dayanıklılık oluşturmasını sağlar.

Detaylı bilgi için lütfen tıklayınız.

--

--

Perform Yazılım
Perform Yazılım

No responses yet