SRE ve DevOps Kavramlarına Felsefik Bakış

Perform Yazılım
3 min readApr 21, 2021

--

Bir felsefe olarak DevOps, DevOps SRE’ye karşı, DevOps’un bir uygulaması olarak SRE mi?

Nereden başlayacağınızı bilmek ve 2020 olayları, çevrimiçi hizmetlere olan talebin dramatik artışına yanıt olarak kuruluşların bulut tabanlı teknolojilere geçiş eğilimini hızlandırdı. Bulut tabanlı ortamlar, yazılım geliştirme ve operasyon (DevOps) uygulamalarına hız ve çeviklik getirir. Ancak bu hız ve çeviklik, her yıl% 1'den daha az kesinti süresiyle performans ve güvenilirliği korurken yeni komplikasyonlar ve karmaşıklık getirir. SRE’nin devreye girdiği yer burasıdır.

Peki hangisi ?: SRE mi DevOps mu, yoksa SRE ve DevOps mu? DevOps, yazılım geliştirme ve sürüm hizmet sunumunu optimize etmeye odaklanır ve SRE, operasyon süreçlerine odaklanır. Her iki uygulama da aynı kapsayıcı ilkelere göre yaşar. Burada her birinin amacını ele alacağız ve nasıl etkileşim kurduklarını keşfedeceğiz.

Bir felsefe olarak DevOps:

DevOps, SRE’den daha uzun süredir var, o yüzden buradan başlayalım. DevOps belirli bir süreç değil, yazılım geliştirme ile BT operasyonları arasındaki boşluğu kapatmayı amaçlayan genel bir esnek yazılım oluşturma ve dağıtım uygulamaları koleksiyonudur. Amacı, çevik süreçleri kullanarak, olabildiğince otomatik hale getirerek ve organizasyon tarafından gruplandırılmak yerine hizmet odaklı ekipleri yatay olarak hizalayarak daha iyi yazılımı daha hızlı geliştirmek ve sunmaktır.

Fakat bu her zaman kolay değildir. Ekipler, yeni uygulamaları hayata geçirdikçe aşina oldukları manuel süreçlere ve parça parça çözümlere yerleşebilir ve silinebilir. Durum böyleyse liderler, DevOps ekiplerini mümkün olduğunca çok süreci düzene koymak ve otomatikleştirmek için yöntemler geliştirmeleri ve benimsemeleri için desteklemelidir.

DevOps, süreçler ve otomasyondan çok daha fazlasıdır ve ekipleri ortak hedefler kümesine yöneltmek bir zihniyettir. Organizasyonlar, geliştiricilerin ve operasyonların hedeflerini sentezlemek için genellikle bir takım ekibi oluşturma ihtiyacı duyarlar. Genel olarak, geliştiriciler daha fazla çeviklikle yaratmak isterken, operasyon ekipleri kararlılığı ve öngörülebilirliği korumak ister. Amaç, ekipleri bu kültürel yakınsama konusunda aynı hizaya getirmek ve güçlerini birleştirerek her ikisinin de ihtiyaç duyduklarını elde edebileceklerini güvence altına almaktır.

DevOps uygulaması olarak SRE:

DevOps, en iyi yeni yazılım geliştirme ve dağıtımını hızlandırmak için pratik bir yaklaşım olarak düşünülür. SRE, uygulamalara ve altyapıya dayanıklılık oluşturarak sürümlerin kullanılabilirliğini, performansını ve ölçeklenebilirliğini iyileştirmek için yazılım mühendisliği ve DevOps ilkelerini kullanarak geleneksel operasyon uygulamalarının dönüştürülmesidir. Google’dan Ben Treynor’un açıkladığı gibi, “Temelde, bir yazılım mühendisinden bir operasyon işlevi tasarlamasını istediğinizde olan şey budur.

“Site güvenilirliği mühendisleri, DevOps misyonunu aşağıdakiler gibi temel uygulamaları takip ederek gerçekleştirir:

  • İşlem problemini çözmek için yazılım mühendisliğini kullanma,
  • Bir hizmet için kullanılabilirlik hedefleri olarak Hizmet Seviyesi Hedeflerini (SLO’lar) belirleme ve yönetme,
  • İş tekrarından ve tuzaklardan kaçınmak için otomasyona ve araçlara yatırım yapmak,
  • Geliştirme yaşam döngüsünde kodları mümkün olduğunca erken test ederek kaliteli süreç yaklaşımını teşvik etmek,

SRE mi DevOps mu?

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

  • İyileştirme için değişimin gerekli olduğunu anlayın,
  • Kültürü ekiplerle paylaşın ve yayın,
  • API’leri ve sürüm kontrollü yapıları kullanarak “her şey kod olarak” felsefesini benimseyin,
  • Kritik önemde ölçülebilirliğe değer verin,
  • Yazılım teslim hattı aracılığıyla daha iyi hız elde etmeyi hedefleyin.

SRE ve DevOps, farklı alanlarda ve farklı kapsamlarla çalıştığı için birbirleriyle rekabet etmez. DevOps, işlemlerin ayrıntılı bir düzeyde nasıl çalıştırılacağıyla ilgilenmez. Evet, ilkeleri diğer alanlarda (örneğin, DevSecOps için Güvenlik veya CI / CD) uygulanabilen geniş bir felsefedir, ancak en saf haliyle, daha çok yazılım geliştirme ve dağıtım ile ilişkilidir.

Öte yandan SRE’nin amacı, özellikle operasyonel süreçleri geliştirmek için DevOps ilkelerini uygulamaktır:

  • Kullanılabilirlik,
  • Daha az gecikme,
  • Verimlilik,
  • Kolaylaştırılmış değişiklik yönetimi,
  • Kuvvetli acil müdahale,
  • Doğru kapasite planlaması,

Nereden başlayacağınızı bilmek önemlidir:

Hali hazırda bir DevOps yolculuğuna başlamış olan birçok kuruluş, operasyonlarını optimize etmek için şimdi 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ştirme ve sunmanın daha entegre bir yolunu desteklemek için yönetici vizyonu ve satın alma, iç tartışma ve yönetim koordinasyonunu gerektirir.

Dynatrace olarak, ekiplerin sıradan görevleri otomatikleştirip yenilikleri daha hızlı ve daha az riskle sunabilmesi için müşterilerin ve sektörün yüksek düzeyde otomatikleştirilmiş, yapay zeka odaklı DevOps’a doğru hareketini ilerletmeye inanıyoruz. Dynatrace Software Intelligence Platform, kuruluşların bulut tabanlı uygulamaları geliştirme ve yönetme biçimlerini dönüştürmelerine yardımcı olarak DevOps ekiplerinin CI / CD ardışık düzenini ve SRE ekiplerinin test ve iyileştirmeyi otomatikleştirmesini sağlar. Bu, DevOps ve SRE ekiplerinin kalite sorunlarını yazılım yaşam döngüsünün başlarında tespit etmesine, daha fazla işlemi otomatikleştirmesine ve üretime giden yolda koda esneklik kazandırmasına olanak tanır.

--

--

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

No responses yet