DevOps Nedir? Nasıl Çalışır? Neden Önemlidir?

Günümüzün hızla değişen dijital dünyasında, yazılım geliştirme süreçlerinin ve IT operasyonlarının sorunsuz ve etkin bir şekilde yönetilmesi, başarı için hayati öneme sahiptir. Bu nedenle DevOps, birçok işletme ve teknoloji ekibi için vazgeçilmez bir strateji haline gelmiştir.Bu makalede, DevOps’un temellerini, faydalarını, zorluklarını ve yaygın olarak kullanılan araçlarını keşfedeceğiz.

DevOps Nedir?

DevOps, geliştirme (development) ve operasyon (operations) kelimelerinin birleşimi ile ortaya çıkmış bir terimdir. Bu terim, bir şirketin uygulama geliştirme ve IT operasyon ekipleri tarafından gerçekleştirilen görevlerde ortak veya iş birliğine dayalı bir yaklaşımı temsil eder.

En geniş anlamıyla DevOps, bu ekipler arasında daha iyi iletişim ve iş birliğini teşvik eden bir felsefeyi ifade eder. En dar anlamıyla ise, yinelemeli yazılım geliştirme, otomasyon ve programlanabilir altyapı dağıtımı ve bakımının benimsenmesini tanımlar. Terim, aynı zamanda teknolojik projelerin iş gereksinimlerine göre hizalanması gibi kültürel değişiklikleri ve geliştiriciler ile sistem yöneticileri arasında güven ve uyum oluşturulmasını da kapsar. DevOps, yazılım dağıtım zincirini, hizmetleri, iş rolleri, IT araçlarını ve en iyi uygulamaları değiştirebilir.

DevOps bir teknoloji olmamakla birlikte, DevOps ortamlarında genellikle aşağıdaki ortak metodolojiler uygulanır:

Sürekli entegrasyon ve sürekli teslimat (CI/CD) ya da sürekli dağıtım araçları, görev otomasyonuna vurgu yapılır.

DevOps benimsemeyi destekleyen sistemler ve araçlar, yazılım geliştirme, gerçek zamanlı izleme, olay yönetimi, kaynak sağlama, yapılandırma yönetimi ve iş birliği platformları içerir.

Bulut bilişim, mikro hizmetler ve konteynerler, DevOps metodolojileri ile aynı anda uygulanır.

Bir DevOps yaklaşımı, IT personelinin iş ihtiyaçlarını karşılayan IT projelerini yürütmek için kullandığı birçok teknikten biridir. DevOps; Agile ve diğer sürekli yazılım geliştirme paradigmalarıyla, IT hizmet yönetimi frameworkleri ile (örneğin ITIL), proje yönetimi direktifleri ile ve diğer stratejilerle birlikte var olabilir.

 

DevOps Neden Önemlidir?

Temelde, DevOps ve DevOps uygulamaları, işletmeler için yazılım kalitesini ve yazılım geliştirme projelerinin sonuçlarını iyileştirdiği gösterilmiştir. Bu iyileştirmeler birkaç farklı şekilde kendini gösterir:

İşbirliği ve İletişim: DevOps, yaratıcı düşünce ve iş akışını engelleyebilecek geleneksel organizasyonel ayrılıkları ortadan kaldırır. Geliştiriciler, IT operasyonları, iş liderleri ve uygulama paydaşlarını bir araya getirerek, yazılımın işletme ve kullanıcılar için en iyi şekilde tasarlanmasını, geliştirilmesini, test edilmesini, dağıtılmasını ve yönetilmesini sağlar.

Geliştirme Sonuçları: DevOps, sürekli ve döngüsel bir geliştirme sürecini benimser. Geleneksel geliştirme metodolojileri, örneğin Şelale (Waterfall) modeli, gereksinimleri ve sonuçları aylar ya da yıllar öncesinden belirler. DevOps projeleri genellikle minimal özelliklerle küçük ölçekli başlar ve proje süresi boyunca sistematik olarak işlevsellik eklenir ve iyileştirilir. Bu, işletmenin değişen pazar koşullarına, kullanıcı taleplerine ve rekabet baskılarına daha hızlı yanıt verebilmesini sağlar.

Ürün Kalitesi: DevOps’un döngüsel ve iteratif doğası, ürünlerin sürekli olarak test edilmesini ve mevcut hataların düzeltilirken yeni sorunların tespit edilmesini sağlar. Çoğunlukla, bu süreç her yeni sürümden önce gerçekleştirilir ve bu sayede DevOps, geleneksel yöntemlerle geliştirilen yazılımlara kıyasla daha az hatalı ve daha yüksek kullanılabilirlikte yazılımlar sunar.

Dağıtım Yönetimi: DevOps, yazılım geliştirme ve IT operasyonlarını birleştirir ve geliştiricilerin, IT müdahalesine ihtiyaç duymadan her yazılım sürümünü sağlama, dağıtma ve yönetme yeteneğine sahip olmasını sağlar. Bu durum, IT personelini daha stratejik görevler için serbest bırakır. Dağıtım, projenin özel hedeflerine bağlı olarak yerel altyapıda veya genel bulut kaynaklarında gerçekleşebilir.

İyi yönetilen bir DevOps ortamı, bir işletmenin daha rekabetçi ve daha kaliteli yazılım ürünlerini daha hızlı bir şekilde piyasaya sürmesine ve geleneksel geliştirme paradigmalarına göre daha düşük destek ve bakım talepleri ile gerçekleştirmesine olanak tanır.

 

DevOps Nasıl Çalışır?

DevOps, yazılım geliştirme yaşam döngüsü boyunca işi iyileştirmeyi amaçlayan bir metodolojidir. DevOps sürecini, planlama, kodlama, inşa etme, test etme, yayınlama, dağıtım, operasyon ve izleme adımlarından oluşan sonsuz bir döngü olarak gözünüzde canlandırabilirsiniz. Bu döngü, geri bildirimlerle tekrar plan aşamasına dönerek başa sarar.

DevOps’un döngüsel yapısı, geleneksel su şelalesi (Waterfall) geliştirme yöntemine kıyasla geliştirme sonuçlarındaki stresi önemli ölçüde hafifletir. Waterfall metodolojisi gereklilikleri baştan toplayarak kodun tek seferde yazılıp test edilmesi ve tüm sürecin büyük bir olay olarak son bulması üzerine kurulu iken; DevOps, yazılımın sistematik bir şekilde zaman içinde olgunlaşmasını sağlar. Böylece, ekiplerin ayar yapmasına, değişiklik yapmasına, öğrenmesine ve yenilikçi yaklaşımlar denemesine olanak tanır. Organizasyonlar bu hedef doğrultusunda kültür ve teknolojiyi birlikte kullanır.

Yazılımın beklentilere uyum sağlaması için geliştiriciler ve paydaşlar proje hakkında iletişim kurar. Geliştiriciler, birbirinden bağımsız olarak canlıya alınan küçük güncellemeler üzerinde çalışır.

Bekleme sürelerini önlemek için BT ekipleri, CI/CD (Continuous Integration/Continuous Deployment – Sürekli Entegrasyon ve Sürekli Dağıtım) hatları ve diğer otomasyon araçlarını kullanarak kodu bir geliştirme adımından diğerine taşıma sürecini hızlandırır. Ekipler değişiklikleri hemen gözden geçirir ve politikaların uygulanmasını sağlamak için araçlardan yararlanırlar.

Yazılımı hızlıca yazmak kolaydır; ancak, çalışır durumda yazılım oluşturmak bambaşka bir hikayedir. İyi kodu canlı ortama dağıtmak için DevOps uzmanları, yazılımı geliştirmeden test etmeye ve üretime kadar aynı şekilde çalışmasını sağlamak için konteynerler veya diğer yöntemler kullanır. Değişiklikleri münferit olarak dağıtarak sorunların izlenebilir olmasını sağlarlar. Ekipler, otomasyon ve yapılandırma yönetimi ile tutarlı dağıtım ve barındırma ortamları oluşturur. Canlı operasyonlarda karşılaşılan sorunlar genellikle suçlayıcı olmayan bir inceleme (blameless post-mortem) ve sürekli geri bildirim kanallarıyla kod iyileştirmelerine yol açar.

Geliştiriciler, canlı ortamdaki yazılımın desteklenmesinden sorumlu olabilir, bu da onları çalıştırma koşullarını dikkate almaya iter. BT operasyon yöneticileri ise, yazılım tasarım toplantılarına katılarak kaynakların verimli ve güvenli kullanılmasını sağlama konusunda rehberlik edebilir. Bu uzmanlar ne kadar çok işbirliği yapar ve yeteneklerini paylaşırsa, o kadar güçlü bir DevOps kültürü oluşturabilirler.

 

DevOps Hangi Sorunları Çözer?

Her şirketin kendine özgü zorlukları olsa da, genel olarak karşılaşılan bazı temel sorunlar şunlardır: Uzun süren yazılım sürüm döngüleri, beklentileri karşılamayan yazılımlar ve iş büyümesini sınırlayan BT (Bilgi Teknolojileri) yapıları.

Bekleme sürelerinin, manuel süreçlerin ve uzun incelemelerin olmadığı bir ortamda, DevOps projeleri gereksinimlerden canlı yazılıma çok daha hızlı geçer. Daha kısa döngü süreleri, gereksinimlerin değişiminden kaçınarak ürünü müşteri beklentilerine uygun hale getirir. Gereksinimlerin değişmesi gerektiğinde, kısa döngüler bu değişikliklerin uygulanmasını ve güncellemelerin hızlı bir şekilde piyasaya sürülmesini sağlar.

DevOps, BT uzmanlıkları arasındaki iletişim ve öncelik sorunlarını çözer. Kullanılabilir yazılım oluşturmak için geliştirici ekipleri üretim ortamını anlamalı ve kodlarını gerçekçi koşullar altında test etmelidir. Geleneksel yapılarda, geliştirici ve operasyon ekipleri arasında silo’lar oluşur. Bu durumda geliştiriciler, yazılımları işlevselliği sağladığında memnun olurlar ve sürüm üretimde iyi performans göstermediğinde ya da başarısız olduğunda operasyon ekipleri hataları düzeltmek zorunda kalır.

DevOps kültürü ile, bir sorun çıktığında geliştiriciler “Benim makinemde çalışıyordu” savunmasına başvurmaz. Üretime sunulan değişiklikler küçük ve geriye alınabilir niteliktedir. Ayrıca, tüm ekip bu değişiklikleri anlar ve bu durum olay yönetimini basitleştirir.

Fikirden canlı yazılıma giden süreç daha hızlı olduğunda, şirketler piyasa fırsatlarından daha iyi yararlanabilir. Bu şekilde, DevOps işletmelere rekabet avantajı sağlar.

 

DevOps Metodolojileri, Prensipleri ve Stratejileri

DevOps, Agile yazılım geliştirme ile ilişkilidir çünkü Agile uygulayıcıları, metodolojiyi üretime genişletmek için DevOps’u teşvik etmişlerdir. Bu yaklaşım, ITIL’de savunulan BT hizmet yönetimi uygulamalarına karşı bir karşı kültür olarak bile adlandırılmıştır. DevOps’un resmi bir framework’ü yoktur.

Stratejilerini geliştirmek isteyen organizasyonlar, DevOps, Agile ve Waterfall geliştirme, site güvenilirlik mühendisliği (SRE) ve SysOps gibi ilgili bağlamları anlamalıdır. Ayrıca, DevOps içinde bile çeşitli varyasyonlar bulunmaktadır.

DevOps ve Waterfall Geliştirme Karşılaştırması

Waterfall geliştirme, üretime doğru doğrusal bir ilerleme gösterir ve bir dizi adım ve aşamadan oluşur: gereksinimler, analiz, tasarım, kodlama ve uygulama, test, işletim, dağıtım ve bakım. Bu takımlarda, yeni kod izole bir ortamda kalite güvencesi (QA) için test edilir ve gereksinimler karşılanırsa operasyonlara yayınlanır. BT operasyonları, birden çok sürümü bir kerede detaylı kontrollerle dağıtır. Destek operasyonların sorumluluğundadır. Waterfall yaklaşımları, yazılım sürümleri arasında uzun bekleyişlere neden olur. Geliştirme ve operasyon takımları ayrı çalıştığı için, geliştiriciler genellikle kodun beklenilen şekilde çalışmasını engelleyen operasyonel engellerden habersizdir.

DevOps modeli, geliştirme, QA ve BT operasyonlarının çabalarını daha az aşama ve daha sürekli iş akışı ile hizalar. Örneğin, bazı operasyonel görevler uygulama teslimat hattında geliştirme takımına doğru kaydırılır. BT operasyonları, kod iyileştirmeleri için geri bildirim sağlar. Birçok kapı içeren adımlar yerine, DevOps sürekli entegrasyon/sürekli teslimat (CI/CD) ve sürekli izleme süreçlerine dayanır.

DevOps ve Agile Geliştirme Karşılaştırması

Agile, Agile Manifesto’da tanımlanan bir yazılım geliştirme yaklaşımıdır. Agile takımları, kod oluşturma ve teslim etme konusunda artımlı ve hızlı döngüler üzerine odaklanır, bunlara sprint adı verilir. Her sprint, bir öncekine ek yapar ve bu sayede yazılım değişen gereksinimlere uyum sağlayabilir. Ancak, bu döngü sırasında projenin orijinal vizyonu kaybolabilir.

DevOps, Agile’ın geliştirme hızını artırmadaki başarısından ve yazılımın kullanıcılara teslim edilmesini ciddi şekilde engelleyen geliştirme ve operasyon takımları arasındaki kopuklukların fark edilmesinden doğmuştur. Yalnızca Agile bir iş akışında, geliştirme ve operasyon takımlarının ayrı hedefleri ve liderlikleri vardır. Bir organizasyon hem DevOps hem de Agile kullanıyorsa, geliştirme ve operasyon takımları yazılım geliştirme yaşam döngüsü boyunca kodu birlikte yönetir. Agile çalışmaları genellikle Scrum gibi bir framework ile şekillendirilirken, DevOps’un bir framework’ü yoktur.

DevOps ve Sürekli Teslimat (CD) Karşılaştırması

Sürekli Teslimat (CD) metodolojileri, kod değişikliklerini merkezi bir depoda sık sık yapma ve taahhüt etme şeklinde döngüsel bir model içerir. Kod, otomatik ve manuel test teknolojileri kullanılarak test edilir ve doğrulanır. Testler başarılı olursa, derlenen kod üretime sunulmak üzere değerlendirilir.

DevOps da aynı döngüsel geliştirme ve test desenini takip eder. İletişim ve iş birliğini iyileştirme amacında olan DevOps’un sunduğu prensipleri içermez.

DevOps ve Site Güvenilirlik Mühendisliği (SRE) Karşılaştırması

SRE, Agile ve DevOps ile eş zamanlı olarak ortaya çıktı. 2000’lerin başında Google’da başlayan bu yaklaşım, yazılım geliştirme yaşam döngüsüne programlama ve otomasyon odaklı bir yaklaşımdır. SRE, yazılımın güvenilirliğine ve ölçeklenebilirliğine dikkat edilmesini ve uygulamanın istikrarını ve sağlığını tehlikeye atabilecek problemleri önceden görüp hafifletmeyi vurgular. Sorunlar, tekrar etmelerini engelleyecek şekilde çözülmelidir. Rutin görevler en aza indirilmelidir.

SRE, DevOps ile oldukça benzerdir. Her iki disiplin de sürekli iyileştirmeyi amaçlar. SRE ve DevOps mühendisleri geliştirme ve operasyonlar arasındaki izolasyonları ortadan kaldırmayı hedefler. Ancak, DevOps işletme paydaşlarına da uzanabilirken, SRE genellikle BT süreçlerinin sınırları içinde kalır.

DevOps ve SysOps Karşılaştırması

SysOps, genellikle bir BT yöneticisinin veya BT takımının büyük bir dağıtımlı uygulamayı (örneğin, SaaS ürün) yönetmesini ifade eder. DevOps kullananlar gibi, SysOps takımları da bulut bilişim ve otomasyon gibi teknolojilere hakim olmalıdır. SysOps takımları, BT kesintileri ve olaylarını giderir, performans sorunlarını izler, güvenlik kurallarını uygular ve operasyonları optimize eder.

SysOps profesyonelleri de diğer BT yöneticileri gibi yüksek kullanılabilirlik, hata toleransı, güvenlik ve performans üzerinde odaklanır. SysOps profesyonelleri bazı geliştirme araçlarını kullanabilir ve geliştirme süreçlerini anlayabilir, ancak işleri geliştirme ile DevOps’taki kadar iç içe geçmez. Bununla birlikte, SysOps rolleri DevOps ve SRE organizasyonları içinde var olabilir.

DevSecOps, BizDevOps ve GitOps

Bazı organizasyonlar, DevOps’un kapsamını güvenlik takımları veya departmanları gibi diğer rolleri içerecek şekilde genişletir. DevSecOps’ta, güvenlik ve uyum planlama, taramalar, testler ve incelemeler DevOps döngüsü boyunca sürekli olarak gerçekleşir.

BizDevOps, yöneticiler, uygulama sahipleri ve diğer işletme paydaşlarını yazılımı geliştiren, test eden ve destekleyen teknik takım ile bağlamaya odaklanır. Daha fazla iş birliği iyidir; ancak bu iş birliği etkili, zamanında ve belirgin olmalıdır.

DevOps’un başka bir varyasyonu ya da aynı hareketin farklı bir grubu olan GitOps, uygulama ve altyapı kodu üzerinde beyan edici kaynak kontrolü savunur. Yazılım ile ilgili her şey (özellik gereksinimlerinden dağıtım ortamına kadar) tek bir gerçek kaynağından gelir. GitOps, değişiklik yönetimi ve dağıtım teknikleri gibi değişmez altyapı ile sıklıkla ilişkilendirilir ve her değişiklik yapıldığında dağıtılan kodun değiştirilmesi yerine yeniden oluşturulmasını ya da yeniden yerleştirilmesini dikte eder.

 

DevOps’un Faydaları

DevOps, geleneksel yazılım geliştirme yaklaşımlarına göre birçok avantaj sunduğu için geliştiriciler ve organizasyonlar tarafından geniş çapta benimsenmiştir. DevOps’un faydaları şunlardır:

  • BT grupları arasında daha az izolasyon ve artan iletişim.
  • Yazılımın pazara daha hızlı sunulması, bu da işletmeye gelir artışı ve rekabet avantajı sağlar.
  • Kullanıcı ve paydaş geri bildirimlerine dayalı hızlı iyileştirmeler.
  • Daha fazla test, yazılım kalitesinin artmasını, daha iyi dağıtım uygulamalarını ve daha az kesinti süresini beraberinde getirir.
  • Derlemeler, depo kullanımı, doğrulamalar ve dağıtım yoluyla tüm yazılım teslimat hattının iyileştirilmesi.
  • Otomasyon sayesinde DevOps hattındaki angarya işlerin azalması.
  • Gelişim süreçlerinin sorumluluk ve kod sahipliğinin artmasıyla daha verimli hale gelmesi.
  • Daha geniş rol ve beceriler.

 

DevOps’un Zorlukları

Yukarıdaki tüm faydalarına rağmen, DevOps’un kendi zorlukları da vardır. DevOps paradigmaları hızlı bir şekilde uygulamak ve yönetmek, yoğun bir organizasyon için zor olabilir. Yaygın DevOps zorlukları şunlardır:

  • Pahalı araçlar ve platformlar, bunları etkili bir şekilde kullanmak için eğitim ve destek gerektirir.
  • Gelişim ve BT araçlarının çoğalması.
  • Gereksiz, kırılgan, yanlış uygulanmış veya güvensiz otomasyon.
  • Birden fazla proje ve ekipte DevOps’u ölçeklendirmek için lojistik ve iş yükü zorlukları.
  • Hızlı hata yapma mentalitesi ve iş uzmanlaşması yerine genelleşmiş rollere sahip kişilerin üretim sistemlerine erişmesi nedeniyle daha riskli dağıtım.
  • Özellikle görev ayrımı gerektiğinde düzenleyici uyumluluk.
  • Otomatik test ve depo kullanımı gibi yeni darboğazlar.

Özetle, DevOps her işletme problemini çözmez veya her yazılım geliştirme projesine aynı şekilde fayda sağlamaz.

 

DevOps Araçları

DevOps, bir prensip olarak düşünülmelidir, belirli bir araç seti olarak değil. Ancak, uygun ve entegre araçlar olmadan bir BT ekibinin bir şeyler yapması zordur. Genelde DevOps pratiği yapanlar CI/CD (Sürekli Entegrasyon/Sürekli Teslimat) hattı, konteynerler ve bulut sunucuları kullanır. Araçlar açık kaynaklı, ticari ya da açık kaynaklı teknolojinin desteklenen dağıtımları olabilir.

Kod Depoları (Repository)

Sürüm kontrollü kod depoları (code repository), bir dizi geliştiricinin kod üzerinde çalışmasına olanak tanır. Geliştiriciler kodu kontrol edip, değişiklik yapabilir ve gerekirse önceki bir sürüme geri dönebilir. Bu araçlar, kaynak kodda yapılan değişikliklerin kaydını tutar; kim hangi değişikliği yapmış ve ne zaman yapmış gibi bilgileri içerir. Bu takip olmadan, geliştiriciler yapılan değişikliklerin hangi sırada olduğunu ya da kodun hangi sürümlerinin son kullanıcıya sunulduğunu izlemekte zorlanabilir.

CI/CD hattında, sürüm kontrol deposuna yapılan bir kod değişikliği, otomatik olarak bir sonraki adımı tetikler. Bu adımlar statik kod analizi, derleme ve birim testleri olabilir. Kaynak kod yönetimi için Git ve GitHub, Bitbucket, Mercurial, Subversion gibi araçlar kullanılabilir.

Artifact Repository

Kaynak kodu, test için derlenerek bir artifact’e dönüştürülür. Artifact depoları, sürüm kontrollü, nesne tabanlı çıktıları sağlar. Artifact yönetimi, kaynak kodu yönetimi gibi iyi bir uygulamadır. Bu depolara örnek olarak JFrog Artifactory, Nexus Repository, Azure Artifacts, Amazon Elastic Container Registry, Cloudsmith verilebilir.

CI/CD

CI/CD, DevOps ekiplerinin uygulamaları kullanıcıya sık sık ve otomasyon yardımıyla sunmasını sağlar. Sürekli entegrasyon aracı, geliştiricilerin kodu bir paylaşım deposunda oluşturabileceği, test edebileceği ve doğrulayabileceği işlemleri başlatır. Sürekli teslimat, bu otomatik adımları üretim seviyesi testler ve yapılandırma kurulumlarıyla genişletir. Sürekli dağıtım ise testleri, yapılandırma ve sağlama işlemlerini, izlemeyi ve gerekirse geri alma yeteneklerini içerir. Yaygın olan CI, CD veya her ikisi için kullanılan araçlar arasında Jenkins, GitLab, Travis CI, Atlassian Bamboo, Concourse ve CircleCI bulunur.

Konteynerler

Konteynerler, yazılımın ortak bir işletim sistemi üzerinde yalıtılmış çalıştırma ortamlarıdır. Bu yalıtım, kodun geliştirme, test, geçiş ve üretim aşamalarında aynı alt yapı üzerinde çalışmasını sağlar. Docker en bilinen konteynerleştirme yazılımları arasındadır. Konteyner düzenleyiciler ise Kubernetes ve onun ticari sürümleri olan Red Hat OpenShift ve Amazon Elastic Kubernetes Service gibi araçlar konteynerleri otomatik olarak dağıtır, ölçeklendirir ve sürdürür.

Yapılandırma Yönetimi

Yapılandırma yönetim sistemleri, BT’nin bir betik veya şablona dayalı olarak yazılım, ara katman ve alt yapı kurmasını ve yapılandırmasını sağlar. DevOps ekibi, yazılım kodu sürümleri için dağıtım ortamları kurabilir ve sunucular, konteynerler ve sanal makinelerde politikaları bir yapılandırma yönetim aracı yardımıyla uygulayabilir. Yapılandırma yönetimi araçlarına Ansible, Terraform, SaltStack, Puppet ve Chef örnek verilebilir.

Bulut Ortamları

DevOps organizasyonları, genelde bulut altyapısını da benimser çünkü bu tür altyapılar otomatik dağıtım, ölçeklendirme ve diğer yönetim görevlerini destekler. AWS, Google Cloud ve Microsoft Azure en çok kullanılan bulut sağlayıcıları arasındadır. Birçok bulut sağlayıcısı ayrıca CI/CD hizmetleri de sunar.

İzleme

İzleme araçları, DevOps profesyonellerinin kod sürümlerinin sistemler, ağlar ve altyapı üzerindeki performans ve güvenliğini gözlemlemesini sağlar. Bu araçlar, operasyonel zeka sunan analiz araçları ile birlikte kullanılabilir. DevOps ekipleri, kod değişikliklerinin genel ortam üzerindeki etkisini analiz etmek için bu araçları kullanır. Örnek olarak New Relic One, Dynatrace, Prometheus, Datadog ve Splunk verilebilir.

Bulut Tabanlı DevOps

Halka açık bulut sağlayıcıları, platformlarında yüklerle kullanmak üzere yerel DevOps araç setleri sunar. AWS CodePipeline ve CloudFormation, Azure DevOps ve Pipelines, Google Cloud Deployment Manager bu araçlara örnektir.

Hizmet Olarak Modeller (DevOps-as-a-service)

Son olarak, DevOps as a Service, bir kuruluşun yazılım geliştirme ekibi ile BT operasyon ekibi arasındaki iş birliğini kolaylaştıran bir araç seti sağlama modelidir. Bu modelde hizmet sağlayıcı, araçların entegrasyonlarını yönetir ve kod oluşturma, teslimat ve bakım süreçlerini kapsar. Diğer bazı durumlarda, DevOps as a Service sağlayıcıları, kuruluşlara DevOps projelerinde yardımcı olan ya da DevOps sürecinin herhangi bir aşamasında eksik olan uzmanlığı tamamlayan danışmanlar olarak görev yapar. Herhangi bir hizmet sağlayıcı mevcut DevOps araçları ve uygulamalarıyla uyumluluk gibi faktörler açısından değerlendirilmelidir.

 

Related articles