Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
DevOps, uygulama planlama, geliştirme, teslim ve operasyonlardaki kişileri, süreci ve teknolojiyi birleştirmek için geliştirme (Geliştirme) ve işlemleri (Ops) birleştirir. DevOps, geliştirme, BT operasyonları, kalite mühendisliği ve güvenlik gibi eski silolu roller arasında koordinasyon ve işbirliği sağlar.
Ekipler, derledikleri uygulamalara olan güveni artırmak, müşteri ihtiyaçlarına daha iyi yanıt vermek ve iş hedeflerine daha hızlı ulaşmak için DevOps kültürünü, uygulamalarını ve araçlarını benimser. DevOps, ekiplerin daha iyi, daha güvenilir ürünler üreterek müşterilere sürekli değer sağlamasına yardımcı olur.
DevOps ve uygulama yaşam döngüsü
DevOps, uygulamayaşam döngüsünü planlama, geliştirme, teslim ve operasyon aşamaları boyunca etkiler. Her aşama diğer aşamalara dayanır ve aşamalar role özgü değildir. DevOps kültürü, bir ölçüde her aşamadaki tüm rolleri içerir.
Aşağıdaki diyagramda DevOps uygulama yaşam tarzının aşamaları gösterilmektedir:
DevOps hedefleri ve avantajları
Bir ekip DevOps kültürünü, uygulamalarını ve araçlarını benimsediğinde harika şeyler elde edebilir:
Pazara sunma süresini kısaltın
Artan verimlilikler, geliştirilmiş ekip işbirliği, otomasyon araçları ve sürekli dağıtım sayesinde ekipler, ürün başlangıcından pazara sunulmasına kadar geçen süreyi hızla kısaltabiliyor.
Pazara ve rekabete uyum sağlama
DevOps kültürü, ekiplerin müşteri öncelikli bir odak noktası oluşturmasını talep eder. Ekipler çeviklikle, ekip işbirliğiyle evlenerek ve müşteri deneyimine odaklanarak müşterilerine sürekli değer sağlayabilir ve marketteki rekabet gücünü artırabilir.
Sistem kararlılığını ve güvenilirliğini koruma
Ekipler sürekli iyileştirme uygulamalarını benimseyerek dağıttığı ürün ve hizmetlerin kararlılığını ve güvenilirliğini artırabilir. Bu uygulamalar hataları ve riski azaltmaya yardımcı olur.
Ortalama kurtarma süresini iyileştirme
Ortalama kurtarma süresi ölçümü, bir hata veya ihlalden kurtarmanın ne kadar sürdüğünü gösterir. Yazılım hatalarını, güvenlik ihlallerini ve sürekli geliştirme planlarını yönetmek için ekiplerin bu ölçümü ölçmesi ve geliştirmek için çalışması gerekir.
DevOps kültürünü benimseme
DevOps'yi tam olarak uygulamak için bir DevOps kültürünü benimsemeniz gerekir. DevOps kültürünün yetiştirilmesi için insanların çalışma ve işbirliği yapma biçiminde derin değişiklikler yapılması gerekir. Kuruluşlar bir DevOps kültürüne bağlandığında, yüksek performanslı ekiplerin gelişmesi için bir ortam oluşturur. DevOps uygulamalarını benimsemek, teknoloji aracılığıyla süreçleri otomatikleştirir ve iyileştirirken, kuruluştaki ve kişileri içindeki devOps kültürüne geçiş yapmadan DevOps'un tüm avantajlarından yararlanamazsınız.
Aşağıdaki görüntü, Microsoft'un canlı site kültürünün önemli yönlerini yakalar.
Aşağıdaki uygulamalar, DevOps kültürünün temel bileşenleridir:
- İşbirliği, görünürlük ve hizalama: İyi durumdaki DevOps kültürünün bir işareti, ekipler arasındaki işbirliğidir. İşbirliği görünürlükle başlar. Geliştirme, BT ve diğer ekipler DevOps süreçlerini, önceliklerini ve endişelerini birbirleriyle paylaşmalıdır. Birlikte çalışmalarını planlayarak, işle ilgili olarak başarı hedeflerine ve ölçülerine uygun şekilde daha iyi konumlandırılırlar.
- Kapsam ve sorumluluktaki geçişler: Ekipler uyumlu hale geldikçe sahiplik alır ve yalnızca rollerinin merkezi olan yaşam döngüsü aşamalarına değil diğer yaşam döngüsü aşamalarına da katılır. Örneğin, geliştiriciler yalnızca geliştirme aşamasında oluşturulan yeniliklerden ve kaliteden değil, aynı zamanda değişikliklerinin çalışma aşamasına getirdiği performans ve istikrardan da sorumlu hale gelir. Bt operatörleri aynı zamanda idare, güvenlik ve uyumluluğu plan ve geliştirme aşamasına dahil eder.
- Daha kısa sürüm döngüleri: DevOps ekipleri, kısa döngülerde yazılım yayımlayarak çevik olmaya devam eder. İlerleme artımlı olduğundan daha kısa sürüm döngüleri planlama ve risk yönetimini kolaylaştırır ve bu da sistem kararlılığı üzerindeki etkiyi azaltır. Yayın döngüsünün kısaltılması, kuruluşların gelişen müşteri ihtiyaçlarına ve rekabet baskısına uyum sağlamasına ve tepki vermesine de olanak tanır.
- Sürekli öğrenme: Yüksek performanslı DevOps ekipleri bir büyüme zihniyeti oluşturur. Hızla başarısız olup edindikleri öğrenimleri süreçlerine dahil ederler. Sürekli olarak gelişmeye, müşteri memnuniyetini artırmaya, yenilik ve pazara uyarlanabilirliği hızlandırmaya çalışırlar.
DevOps uygulamalarını uygulama
Uygulama yaşam döngüsü boyunca DevOps uygulamalarını izleyerek (izleyen bölümlerde açıklanmıştır) DevOps'u uygularsınız. Bu uygulamalardan bazıları belirli bir aşamayı hızlandırmaya, otomatikleştirmeye ve geliştirmeye yardımcı olur. Diğerleri çeşitli aşamalara yayarak ekiplerin üretkenliği artırmaya yardımcı olan sorunsuz süreçler oluşturmalarına yardımcı olur.
Sürekli tümleştirme ve sürekli teslim (CI/CD)
Sürekli Tümleştirme (CI), geliştirme ekipleri tarafından kodu otomatikleştirmek, birleştirmek ve test etmek için kullanılan uygulamadır. CI, hataları geliştirme döngüsünün başlarında yakalamaya yardımcı olur ve bu da düzeltilmesi daha az maliyetli olmasını sağlar. Otomatikleştirilmiş testler, kaliteyi sağlamak için CI işleminin bir parçası olarak yürütülür. CI sistemleri artefaktlar üretir ve bunları sık dağıtımları gerçekleştirmek üzere yayın süreçlerine aktarır.
Sürekli Teslim (CD), kodun derlendiği, test ettiği ve bir veya daha fazla test ve üretim ortamına dağıtıldığı bir işlemdir. Birden çok ortamda dağıtım ve test etme, kaliteyi artırır. CD sistemleri altyapı ve uygulamalar dahil olmak üzere dağıtılabilir yapıtlar üretir. Otomatik sürüm işlemleri, mevcut sistemlere yeni sürümler ve düzeltmeler yayınlamak için bu yapıtları kullanır. Uyarıları izleyen ve gönderen sistemler, CD işleminin tamamına görünürlük sağlamak için sürekli olarak çalışır.
Sürüm Denetimi
Sürüm denetimi, kodu gözden geçirmeyi ve kurtarmayı kolaylaştırmak için düzeltmeleri ve değişiklik geçmişini izleme gibi sürümlerde kodu yönetme uygulamasıdır. Bu uygulama genellikle birden çok geliştiricinin kod yazmada işbirliği yapmasına olanak tanıyan Git gibi sürüm denetim sistemleri kullanılarak uygulanır. Bu sistemler, aynı dosyalarda gerçekleşen kod değişikliklerini birleştirmeye, çakışmaları işlemeye ve değişiklikleri önceki durumlara geri döndürmeye yönelik net bir işlem sağlar.
Sürüm denetiminin kullanımı, geliştirme ekiplerinin birlikte çalışmasına, kodlama görevlerini ekip üyeleri arasında bölmesine ve gerekirse kolay kurtarma için tüm kodları depolamasına yardımcı olan temel bir DevOps uygulamasıdır. Sürüm denetimi, sürekli tümleştirme ve kod olarak altyapı gibi diğer uygulamalarda da gerekli bir öğedir.
Çevik yazılım geliştirme
Çevik, ekip işbirliğini, müşteri ve kullanıcı geri bildirimlerini ve kısa sürüm döngüleri aracılığıyla değişikliğe yönelik yüksek uyarlanabilirliği vurgulayan bir yazılım geliştirme yaklaşımıdır. Çevik uygulamalı ekipler müşterilere sürekli değişiklikler ve geliştirmeler sağlar, geri bildirimlerini toplar, ardından müşteri isteklerine ve ihtiyaçlarına göre öğrenip ayarlamalar gerçekleştirir. Çevik, sıralı aşamalar tarafından tanımlanan uzun yayın döngülerini içeren şelale gibi diğer daha geleneksel çerçevelerden önemli ölçüde farklıdır. Kanban ve Scrum, Agile ile ilişkili iki popüler çerçevedir.
Kod olarak altyapı
Kod olarak altyapı, sistem kaynaklarını ve topolojilerini, ekiplerin bu kaynakları kod gibi yönetmesini sağlayan açıklayıcı bir şekilde tanımlar. Bu tanımlar, yeniden kod gibi gözden geçirilip geri döndürülebilecekleri sürüm denetim sistemlerinde de depolanabilir ve sürüm oluşturulabilir.
Kod olarak altyapıyı uygulamak, ekiplerin sistem kaynaklarını güvenilir, yinelenebilir ve denetimli bir şekilde dağıtmasını sağlar. Kod olarak altyapı ayrıca dağıtımı otomatikleştirmeye yardımcı olur ve özellikle karmaşık büyük ortamlar için insan hatası riskini azaltır. Ortam dağıtımı için bu yinelenebilir, güvenilir çözüm, ekiplerin üretimle aynı geliştirme ve test ortamlarını korumasını sağlar. Ortamları farklı veri merkezlerine ve bulut platformlarına çoğaltma aynı şekilde daha basit ve daha verimli hale gelir.
Yapılandırma yönetimi
Yapılandırma yönetimi, sunucular, sanal makineler ve veritabanları dahil olmak üzere bir sistemdeki kaynakların durumunu yönetmeyi ifade eder. Ekipler, yapılandırma yönetimi araçlarını kullanarak değişiklikleri denetimli ve sistematik bir şekilde dağıtarak sistem yapılandırmasını değiştirme risklerini azaltabilir. Ekipler, sistem durumunu izlemek ve yapılandırma kaymasını önlemeye yardımcı olmak için yapılandırma yönetim araçlarını kullanır. Bu, sistem kaynağının yapılandırmasının zaman içinde bu kaynak için tanımlanan istenen durumdan nasıl sapmaya neden olduğunu gösterir.
Kod olarak altyapının yanı sıra, ekiplerin karmaşık ortamları büyük ölçekte çalıştırmasına yardımcı olan sistem tanımı ve yapılandırmasını kolayca ayarlayıp otomatikleştirebilirsiniz.
Sürekli izleme
Sürekli izleme, tüm uygulama yığınının performansı ve durumu hakkında tam ve gerçek zamanlı görünürlüğe sahip olmak anlamına gelir. Bu görünürlük, uygulamayı çalıştıran temel altyapıdan daha üst düzey yazılım bileşenlerine kadar değişir. Görünürlük, telemetri ve meta verilerin toplanması ve operatör tarafından dikkat gerektiren önceden tanımlanmış koşullar için uyarıların ayarlanması yoluyla gerçekleştirilir. Telemetri, sistemin çeşitli bölümlerinden toplanan ve analiz edilebilecekleri ve sorgulanabilecekleri yerlerde depolanan olay verilerini ve günlükleri içerir.
Yüksek performanslı DevOps ekipleri, eyleme dönüştürülebilir, anlamlı uyarılar ayarlamalarını ve çok büyük miktarlardaki verilerden içgörüler elde edebilmeleri için zengin telemetri verilerini toplamalarını sağlar. Bu içgörüler, ekibin sorunları gerçek zamanlı olarak azaltmasına ve gelecekteki geliştirme döngülerinde uygulamayı nasıl geliştireceklerini görmesine yardımcı olur.
Planning
Planlama aşamasında DevOps ekipleri, oluşturmayı planladıkları uygulama ve sistemlerin özelliklerini ve özelliklerini belirler, tanımlar ve açıklar. Ekipler, tek ürünlerden birden çok ürün portföyüne kadar düşük ve yüksek ayrıntı düzeylerinde görev ilerleme durumunu izler. Ekipler çeviklik ve görünürlük ile planlama yapmak için aşağıdaki DevOps uygulamalarını kullanır:
- Backloglar oluşturun.
- Hataları takip et.
- Scrum ile Çevik yazılım geliştirmeyi yönetin.
- Kanban panolarını kullanın.
- Panolarla ilerleme durumunu görselleştirin.
Şirketin yazılım ekiplerinde DevOps planlamasını desteklemek üzere Microsoft'un benimsediği çeşitli derslere ve uygulamalara genel bakış için bkz. Microsoft DevOps ile nasıl planlanır?
Gelişme
Geliştirme aşaması, yazılım kodu geliştirmenin tüm yönlerini içerir. Bu aşamada DevOps ekipleri aşağıdaki görevleri yerine getirin:
- Bir geliştirme ortamı seçin.
- Kodu yazın, test edin, gözden geçirin ve tümleştirin.
- Kodu çeşitli ortamlara dağıtmak için yapıtlar halinde oluşturun.
- Kod üzerinde işbirliği yapmak ve paralel çalışmak için sürüm denetimini (genellikle Git) kullanın.
DevOps ekipleri, kalite, kararlılık ve üretkenlikten ödün vermeden hızla yenilik yapmak için:
- Yüksek verimli araçlar kullanın.
- Sıradan ve el ile gerçekleştirilen adımları otomatikleştirin.
- Otomatik test ve sürekli tümleştirme (CI) aracılığıyla küçük artışlarla yineleme yapın.
Microsoft'un DevOps'a geçişini desteklemek üzere benimsediği geliştirme uygulamalarına genel bir bakış için bkz. Microsoft DevOps ile geliştirme.
Teslim etmek
Teslim, uygulamaları sürekli teslim (CD) aracılığıyla üretim ortamlarına tutarlı ve güvenilir bir şekilde dağıtma işlemidir.
Teslim aşamasında DevOps ekipleri:
- Açık el ile onay aşamalarıyla bir yayın yönetimi süreci tanımlayın.
- Uygulamaları aşamalar arasında müşterilere son sürüme kadar taşımak için otomatik geçitler ayarlayın.
- Ölçeklenebilir, yinelenebilir, denetlenebilir ve iyi test edilmiş hale getirmek için teslim işlemlerini otomatikleştirin.
Teslim, teslim ortamının temel altyapısını dağıtmayı ve yapılandırmayı da içerir. DevOps ekipleri, tam olarak yönetilen altyapı ortamları sunmak için kod olarak altyapı (IaC), kapsayıcılar ve mikro hizmetler gibi teknolojileri kullanır.
Güvenli dağıtım uygulamaları , sorunları müşteri deneyimini etkilemeden önce belirleyebilir. Bu uygulamalar DevOps ekiplerinin kolayca, güvenle ve gönül rahatlığıyla sık sık teslim etmelerine yardımcı olur.
Microsoft'un verimli teslim sistemleri sağlamak için geliştirdiği temel DevOps ilkeleri ve süreçleri , Microsoft'un DevOps ile yazılım sunma şekli bölümünde açıklanmıştır.
Operations
İşlem aşaması, hibrit veya Azure gibi genel bulutlar dahil olmak üzere üretim ortamlarında uygulamaların bakımını, izlenmesini ve sorun gidermeyi içerir. DevOps ekipleri sistem güvenilirliğini, yüksek kullanılabilirliği, güçlü güvenliği ve sıfır kapalı kalma süresini hedefler.
Otomatik teslim ve güvenli dağıtım uygulamaları, ekiplerin ortaya çıkan sorunları hızla belirlemelerine ve azaltmalarına yardımcı olur. Tetikte olmak için zengin telemetri, eyleme geçirilebilir uyarılar ve uygulamalar ile temel sistemlere tam erişim gerekir.
Microsoft'un karmaşık çevrimiçi platformları çalıştırmak için kullandığı uygulamalar, Microsoft'un DevOps ile güvenilir sistemleri nasıl çalıştırdığı konusunda açıklanmıştır.
Sonraki Adımlar
- DevOps ile verimli iş yükleri planlama
- DevOps ile modern yazılım geliştirme
- DevOps ile kaliteli hizmetler sunma
- DevOps ile güvenilir sistemler çalıştırma
Diğer kaynaklar
- Azure'da DevOps çözümleri
- Microsoft'ta DevOps yolculuğu
- Azure ile DevOps yapmaya başlama
- DevOps'ta Güvenlik (DevSecOps)
- Platform mühendisliği nedir?
Eğitim ve Sertifikalar
- Azure DevOps kullanmaya başlama
- DevOps Dojo'yu tanıtın: İşletmenizi destekleyen verimlilikler oluşturma
- AZ-400: DevOps dönüşüm yolculuğuna başlama
- İletişimi ve işbirliğini kolaylaştırma
- AZ-400 Sınavı: Microsoft DevOps Çözümlerini Tasarlama ve Uygulama
- AZ-400: Uyumluluk için güvenlik uygulama ve kod temellerini doğrulama