Gezintiyi Atla

DevOps Öğreticisi: Giriş

DevOps ile yazılım teslimi sürecini iyileştirme öğreticisi

DevOps çok sayıda farklı aşama, kavram ve bileşen içerir. Bu DevOps öğreticisi, DevOps'un ne olduğu ve yazılım teslimi sürecini iyileştirmeye nasıl yardımcı olabileceği hakkında harika bir kaynaktır.

DevOps'u anlama

Bu DevOps öğreticisinin başında DevOps'un ne olduğunu ve genel yazılım geliştirme sürecinizle ilişkisini anlamanıza yardımcı olacak bazı temel tanımlar sunacağız.
  • DevOps, geliştirme ve operasyon birimleri arasında işbirliğini teşvik ederek yazılım teslimini daha hızlı ve güvenilir hale getiren bir yazılım geliştirme uygulamasıdır. Genellikle bir kültür olarak bahsedilen DevOps kişiler, süreç ve teknolojiyi birbirine bağlayarak sürekli değer sağlar.

    DevOps hakkında daha fazla bilgi edinin

  • Yazılım geliştirme sürecinde el ile yapılan çalışmaların oranı son derece yüksek olabilir. Böyle bir durumda kod hatalarının sayısı da oldukça yüksek olacaktır. Geliştirme ve operasyon ekipleri çoğu zaman uyumsuz bir şekilde çalışıyor olabilir. Bu da yazılım teslimini yavaşlatarak iş paydaşlarının memnuniyetsizliğine yol açabilir. DevOps, yazılımın geliştirilmesi, dağıtımı ve bakımıyla ilgili tüm görevlerin verimliliğini artırır.

    Geliştirme ve operasyon birimleri arasında kurulan bağlantı sayesinde görünürlük artar, gereksinimler daha doğru bir şekilde sunulur, iletişim iyileşir ve pazara sunma süresi kısalır.

  • DevOps, geliştirme ve operasyon birimleri arasında bir köprü kurarak yazılımın geliştirilmesi ve dağıtımında ciddi ölçüde verimlilik artışı sağlar. DevOps, otomasyona büyük önem verir. Bu sayede toplam hata sayısı azaltılır.

  • DevOps felsefesi, projenin tüm unsurlarının sorumluluğunu uçtan uca almayı gerektirir. Geleneksel yazılım geliştirme yöntemlerinin aksine, DevOps ile geliştirme ve operasyon ekipleri arasında bir köprü kurulur. Genelde böyle bir köprü yoktur ve yazılım teslimi bundan oldukça olumsuz bir şekilde etkilenir.

    Yazılım geliştirip yayınlamaya yönelik kapsamlı bir çerçeve sağlayan DevOps, geliştirme ve operasyon ekiplerini birbirine bağlar. Böyle bir bağlantının eksik olması, yazılım tesliminde zorluklara ve verimsizliklere yol açabilir.

  • Hem DevOps hem çevik yaklaşım, yazılım geliştirme uygulamaları olsa da odak noktaları biraz farklıdır. DevOps, yazılımın geliştirilmesi, dağıtımı ve bakımında yer alan tüm paydaşlar için verimliliği artırmayı hedefleyen bir kültürdür. Çevik yaklaşım, yazılım geliştirme üretim çerçevesi sağlamaya yardımcı olan bir yalın üretim sürecidir. Çevik yaklaşım, genellikle geliştirme ekibine özeldir. DevOps'un kapsamı ise yazılımın üretimi ve bakımıyla ilgili tüm paydaşları içine alır. DevOps ve çevik yaklaşım, birlikte kullanılarak son derece verimli bir yazılım geliştirme ortamı oluşturulabilir.

    DevOps ve çevik geliştirme karşılaştırması hakkında daha fazla bilgi edinin

DevOps hakkında daha ayrıntılı bilgi edinmenize yarayacak görevler

Bu DevOps öğreticisinin her bölümünde DevOps uygulamanızı oluşturacak adımları atmanıza yardımcı olacak birkaç görev sunulmaktadır. Biraz zaman ayırıp aşağıdaki soruları yanıtlayın:

  • Yazılım geliştirme ve dağıtma sırasında karşılaştığınız bazı zorluklar nelerdir?
  • Yazılım geliştirip dağıtırken hangi alanlarda verimlilik artışı görmek istersiniz?

DevOps uygulamalarının temelleri

Bu DevOps kılavuzunda şimdi DevOps uygulamalarında kullanılan ana kavramları anlamaya çalışacağız. Bu bölümde, ana bileşenler açıklanıp netleştirilmektedir.
  • Yazılım ekiplerinde sık olarak kullanılan çevik geliştirme, yalın üretimle ilişkili bir teslim yaklaşımıdır. Geliştirme süreci, kısa ve artımlı sprint'ler şeklinde tamamlanır. Bu yaklaşım DevOps'tan farklı olsa da iki yaklaşım birbirine engel olmaz. Çevik uygulama ve araçlar, geliştirme ekibinde verimliliği artırmaya yardımcı olarak genel DevOps kültürüne katkıda bulunabilir.

    Azure Boards ile çevik planlamaya başlayın

  • Sürüm denetimi, bir ekibin birlikte çalıştığı durumlarda yazılım geliştirmenin doğru ve verimli bir şekilde gerçekleştirilmesi için çok önemlidir. Sürüm denetim sistemi (örneğin Git), dosyalarınızın anlık bir görüntüsünü alır. Böylece dilediğiniz anda, dilediğiniz sürüme geri dönebilirsiniz. Sürüm denetim sistemi sayesinde, üzerinde çalıştığınız değişiklikler nedeniyle çakışma yaşamayacağınızdan emin olabilirsiniz.

    Azure Repos ile sürüm denetimini kullanmaya başlayın

  • Sürekli tümleştirme, kod tamamlanıp sisteme işlenirken gerçekleştirilen derleme ve testlerin otomatik hale getirilmesi sürecidir. Kod tamamlandığında otomatik bir sürece girer. Bu süreç, kodu doğrular ve yalnızca test edilip doğrulanmış kodları ana kaynak koduna işler. Ana kaynak kodu, ana dal veya gövde olarak da bilinir. Sürekli tümleştirme, bu süreci otomatik hale getirerek verimlilikte ciddi artışlar sağlar. Tüm hatalar, kodu ana dalla birleştirmeden önce erkenden tespit edilir.

    Azure Pipelines ile sürekli tümleştirmeyi uygulamaya başlayın

  • Sürekli teslim, DevOps kapsamında gerçekleştirilen temel uygulama olup hızlı ve güvenilir yazılım teslimine olanak sağlar. Süreç genel DevOps kavramına benzer olsa da sürekli teslim, her kod bileşeninin tamamlandığında test edildiği, doğrulandığı ve işlendiği çerçeve olup bu sayede yazılımın her an teslim edilebilmesini sağlar. Sürekli tümleştirme, sürekli teslimin bileşenlerinden biri olan bir süreçtir.

    Azure Pipelines ile sürekli teslimi uygulamaya başlayın

  • Kaynakların sağlanması ve yapılandırılması, hem şirket içinde hem de bulutta ortam işlemlerinin önemli bir parçasıdır. Ekipler, süreç otomasyonu ve altyapının bildirim temelli bir tanımını sağlayan araçların (örneğin, metin tabanlı tanım dosyaları) kullanımı sayesinde kaynakları güvenilir ve yinelenebilir bir şekilde dağıtabilir ve yapılandırabilir. Metin tabanlı tanım dosyaları, sürüm denetimine sahip kod şeklinde yönetilebilir. Böylece karmaşık ortamlar için kolayca geri alma, yeniden oluşturma ve kaldırma olanağı elde edilir. Terraform ve Ansible gibi teknolojiler, kod olarak altyapının uygulanması için sık kullanılan çözümlerdir.

    Terraform ile Azure'da altyapı oluşturun

    Azure ile Ansible'ı kullanma hakkında daha fazla bilgi edinin

  • DevOps'un kapsamı geliştirme faaliyetlerinin ötesine geçerek teslim aşaması boyunca da yazılım performansı dahil yazılımın sorumluluğu üstlenilir. DevOps sürecinin tamamı bir geri bildirim döngüsü oluşturur. Gelecekteki projeleri iyileştirmeye ve yazılımı dağıtma kararını doğrulamaya yardımcı olabilecek veri noktaları elde edilir. İzleme ve günlüğe kaydetme işlemleri, doğrulanmış öğrenim sürecini destekleyen önemli bileşenlerdir. Bu süreç de sürekli olarak yazılım geliştirme ve teslim sürecinde verimliliğin artırılmasına çalışan genel girişimi destekler.

    Azure İzleyici ile telemetri verilerini toplayıp analiz etme hakkında bilgi edinin

  • Yaşam döngüsü boyunca, bir sonraki döngüde alınacak kararlara yardımcı olması amacıyla geri bildirim ve telemetri verileri toplanır. Toplanan bu bilgilere doğrulanmış öğrenim adı verilir. Doğrulanmış öğrenim, döngü süresini kısaltacak yeni yollar bulmak için kullanılabilecek içgörüler sağlar. Toplanan verilerden otomasyonu artıracak, süreçleri iyileştirecek ve dağıtıma daha hızlı ve verimli bir şekilde hazırlanacak yollar bulmak için yararlanılır.

DevOps hakkında daha ayrıntılı bilgi edinmenize yarayacak görevler

DevOps uygulamalarına ilişkin temel kavramları artık öğrendiğinize göre biraz zaman ayırıp aşağıdaki soruları yanıtlayın:

  • Geliştirme sürecinizin elle yürütülen ve otomasyona geçişin faydasını görebilecek bölümleri hangileri?
  • Ekibinizin derleme sürecinde sürekli tümleştirme ekleyebileceğiniz noktalar var mı?
  • Ekibiniz altyapıyı şu anda nasıl yönetiyor? Süreç yinelenebilir ve güvenilir mi yoksa kod olarak altyapı kullanılarak iyileştirilebilir mi?
  • Ne tür telemetri verileri, çalışmalarınıza yarayacak bilgiler sunabilir?
  • Doğrulanmış öğrenim sürecinizi destekleyebilecek diğer veri noktaları nelerdir?

DevOps kültürünüzü oluşturma

Bu DevOps öğreticisinin sıradaki bölümü DevOps kültürünü nasıl oluşturabileceğinizden bahsediyor. İşletmenizde DevOps'a geçiş yaparken büyük olasılıkla yazılım teslimine mevcut yaklaşımınıza göre farklılıklarla karşılaşacaksınız.

Yeni bir kültür oluşturmak, anında gerçekleştirilebilecek bir iş değildir ve yeni bir grup araç satın almaktan biraz daha karmaşıktır. Ekibinizin DevOps'u öğrenip kullanabilmesi için mevcut ekip yapılarınız, iş akışlarınız ve alışkanlıklarınızda bazı değişikliklere gitmeniz gerekebilir.

Microsoft'un kendi DevOps kültürünü nasıl oluşturduğunu öğrenin

DevOps hakkında daha ayrıntılı bilgi edinmenize yarayacak görevler

İşletmenizde DevOps kültürü oluşturmayı değerlendirirken biraz zaman ayırıp aşağıdaki soruları yanıtlayın:

  • DevOps, yazılımın geliştirilmesi, teslimi ve bakımında rol alan tüm paydaşların koordine edilmesine yardımcı olur: Kurumunuzda bu paydaşlar kimler olacak? Birlikte çalışacak kişilerin listesini yapın.
  • Geliştirme ve operasyon birimleri arasındaki iletişimi artırmak için neler yapabilirisiniz? Paydaşlar arasındaki işbirliğini iyileştirmek için kullanabileceğiniz birkaç yöntem düşünün.

Azure DevOps'u kullanmaya başlayın

Çeşitli modern geliştirme hizmetleri ile yazılımı daha hızlı ve daha güvenilir şekilde sunun. Daha akıllı planlayın, daha iyi işbirliği yapın ve daha hızlı gönderin. Tüm DevOps özelliklerini kullanın veya size uygun olanları seçin.