collaboration devops
DevOps'ta İşbirliği:
DevOps'ta küçük Teslimat artışları önceki eğitimimizde ayrıntılı olarak açıklanmıştır.
DevOps'un temel mantığının işbirliği olduğunu biliyoruz ve bu nedenle DevOps kelimesi geldi.
Oku => Derinlemesine DevOps Eğiticileri
İşbirliği, programdaki herhangi bir sorunu çözmek için tek bir ekip olarak bir araya gelerek programın kaleci müşterinin akılda kalmasına engel olur ve bunları herhangi bir suçlama oyunu olmaksızın mümkün olan en kısa sürede kendi sorunları olarak sahiplenerek çözmektir.
İşbirliği, herkese birbirleriyle konuşmayı, birbirleriyle yüz yüze görüşmeyi, toplantılarına, tartışmalara katılmayı, birbirlerinin görevlerini anlamayı, bağımlılık ve işlerde şeffaflık ve sorunları önlemek için proaktif olarak çalışmayı öğretir.
VİDEO Bölüm 2 Blok 5: İşbirliği - 15 dakika 36 saniye
Transcript:
İşbirliği terimi DevOps'ta tekrar tekrar tekrarlanır ve Devops mantrası işbirliğidir. Öyleyse, yazılım geliştirme ve DevOps bağlamında 'ortak çalışmanın' gerçekte ne anlama geldiğini anlayalım.
Bana göre, bir kuruluş dediği anda DevOps'u uyguluyoruz, devops uygulamasına bağlı işbirliği düşüncesi otomatik olarak herkesin zihninde başlıyor ve onları işbirliğine daha odaklı ve uyanık hale getiriyor ve işbirliği yapmaları gerektiğini hissetmeye başlıyorlar. . İşbirliğinin büyüsü budur.
Bu nedenle, DevOps işbirliğini projenin başlangıcından itibaren başlatmak, organizasyon ve ekip için çok önemlidir. Takım demek istediğim, programın takım üyeleri.
DevOps bağlamında gerçekte ortak çalışmanın ne anlama geldiğini bilmemiz için Dev'in Ops ile işbirliği yaptığını ve geliştirici ekibiyle ops iş birliği yaptığını gördüğüm birkaç örneği açıklayacağım.
Bu, birinci örneğin temsilidir.
Kurulum komut dosyasında veya yapılandırma komut dosyasında, operasyon ekibinin yazılımı belirli bir coğrafyadaki bir kümenin belirli bir kurulumuna kurmada zorluk bulduğu bilinmeyen bir sorun olduğu bir durum vardı.
Bu, bilinmeyen bir hatayı fırlatıyordu ve tamamen bir üretim problemiydi, geliştirme ortamında hiç gerçekleşmedi ve operasyon ekibi, kurulumla ilgili bir şey olduğunu ve çözmeleri gerektiğini düşünerek bunları çözmek için gerçekten çok çaba harcadı. uzun bir süre çözülemedi.
Sonra hemen Dev ekibi yardım etmeye davet edilmeden devreye girdi, zaman dilimi farklı olsa da, üretim sahasının kontrolünü ele geçirdi, genel olarak prodüksiyona erişimin herkese verilmeyeceğini biliyorsunuz, Ops sadece hatayı paylaşıyor Ekibin hata ayıklama amacıyla ihtiyaç duyduğu ayrıntılar veya diğer bilgiler.
Ancak bu durum, sorunu canlı olarak analiz etmek için özel olarak birkaç saat harcayan ve anında çözüm sağlayan geliştirici ekip üyelerinden birine erişim sağlamak için çağrılır ve bu nedenle sorun hızla çözülür.
Bu, geliştirici ekibin soruna gönüllü olarak sahip olduğu ve operasyon ekibinin sorunu çözmesine yardımcı olduğu bir işbirliği örneğidir. Bu saf bir işbirliği örneğidir.
Benzer şekilde, başka bir örnek, çizdiğim şematik olarak göstermeme izin verin. Başka bir örnek, belirli bir sitede birkaç gün boyunca yazılım güncellemesinden sonra işlerin oldukça iyi çalıştığı, aniden uygulamanın performansının yavaşlamaya başladığıdır.
Son kullanıcılar, bu yavaşlama nedeniyle ciddi işlem kayıplarıyla karşılaşmaya başladı. Çok sayıda şikayet çağrısı CSR’lere, yani müşteri hizmetleri temsilcilerine gelmeye başladı ve onlar da bu konuyla ilgili olarak ekibi takip etmeye başladılar.
Bu durumda, hem Dev hem de Ops ekibi hemen bir araya geldi ve Ops ekibinin geliştirici ekibine sağladığı bilgi ve telemetri ayrıntılarıyla, problemin hatalarını ayıklayıp yük paylaşımı açısından bir sorun olduğunu belirleyebilirler ve dolayısıyla performans yavaştı.
Böylece, her iki ekip de sorunu çözmek ve birkaç saat içinde normale dönmek için birlikte çalıştı. Böylece, burada hem Dev hem de Ops bir araya geldi ve sorunu çözmek için Dev'in Ops sorununu söylemesi ve Ops'un bunun Dev'in sorunu olduğunu ve geliştirme ekibinin bakması ve düzeltmesi gerektiğini düşünmesi yerine sorunu çözmek için birlikte çalıştı.
Bu, kimin sorununa bakılmaksızın suçlama oyunu oynamak yerine sorunların sahibi olduğu veya sorunun kimin sorunu olduğunu bulmak için zaman harcadığı, son kullanıcının acı çektiğini ve sorunun ihtiyaç duyduğunu akılda tutarak herkesin sorunlara sahip olduğu açık bir işbirliği örneğidir. yakında düzeltilecek.
Yani, yine burada, sorunun sadece üretimden olması gerekmiyor, basit bir şirket içi yazılım geliştirme sorunu, günlük problemler kadar basit, bir tasarım sorunu veya bir mimari sorun, hatta basit bir araç sorunu.
Programla ilgili herhangi bir sorun veya ekibin bildiği, müşteriye zarar veren veya programı yavaşlatan herhangi bir sorun, geliştirme problemi veya operasyon problemi veya test problemi olduğu konuyu izole etmek yerine, herkes tarafından sahiplenilmesi gerektiğini, ve sorunun olabildiğince çabuk ele alınmasına katkıda bulunmak, bir işbirliğidir.
Dolayısıyla, DevOps bağlamında işbirliği, geliştirme ve operasyonların bir araya gelerek sorunu olabildiğince erken çözmek için birlikte çalışarak müşteri odağını akılda tutmaktır.
İşbirliği, hem Dev hem de Ops'un canlı yayında olup bitenlere sahip olmasıdır, izleme ve kayıt tutma ve performans kontrolü, özellikle son kullanıcının çıkarına yönelik üretimde ortaya çıkan sorunu çözmek için en üstte yer alır.
YA DA basitçe, problemi çözmek için program hedeflerine ulaşmak için sürekli birlikte çalışan ve müşteri odağını akılda tutarak tüm ekibin işbirliği olduğunu söyleyebilirim. Tekrar ediyorum, müşteri odağını göz önünde bulundurarak program hedeflerine ulaşmak için sorunları çözmek için sürekli birlikte çalışmak işbirliğidir.
Sonra bir soru ortaya çıkıyor, bu işbirliğini nasıl geliştireceğiz ve birbirinden kilometrelerce uzakta oturan ekip arasında işbirliğini ne zaman başlatmamız gerekiyor?
Açıkçası, hem Dev'in hem de Ops'un aynı yerde bulunamayacağını biliyoruz. Ops ekibinin çalışma sahasına veya veri merkezlerine daha yakın olması ve geliştiricinin yazılım geliştirme merkezine daha yakın olması gerekir. Öyleyse, iki ekip arasında sürekli işbirliğini nasıl başarabiliriz?
Öncelikle DevOps işbirliğini projenin başlangıcından itibaren başlatmak, organizasyon ve ekip için çok önemlidir. Burada kastettiğim ekip, programın ekip üyeleridir.
Aşağıdakilerden birkaçını uygulamak, ekip arasındaki boşluğu doldurmaya ve sanal ekiplerin kısıtlamalarının üstesinden gelmeye yardımcı olur ve işbirliğini gerçekleştirmeye yardımcı olur.
Öyleyse, ortak çalışmayı gerçekleştirmeye yardımcı olan uygulamaların hangileri olduğunu görelim.
yazılım testi mülakat sorusu ve cevabı
Geliştirmeyi Operasyon ekibinin tüm ilgili toplantılarına ve tartışmalarına dahil edin ve bunun tersi de geçerlidir.
Bu sadece onları bir araya getirmekle kalmaz, aynı zamanda çalışma alanlarının her birini, günlük sorunlarını ve işlerinin birbirlerini nasıl etkilediğini ve daha sonra sorunlardan kaçınmak için her birinin dikkat etmesi gereken kritik şeyler nelerdir anlamaya yardımcı olur. bu nedenle onları yakınlaştırır ve her seferinde aralarında rahat bir tartışma başlatır.
DevOps uygulamasına geçilmeden önce, geliştirme ekibi yazılımı Operasyonlara teslim etme konusunda hiçbir şey umursamıyordu. Eskiden altyapı, konfigürasyonlar, sunucu kurulumları, ağ konfigürasyonları, canlı performansları izleme vb. Şeyler hakkında bilgisiz olduklarını ya da asla rahatsız etmediklerini biliyorsunuz.
Tüm bu faaliyetlerin Operasyon ekibinin sorumlulukları olduğunu düşünürlerdi ve geliştirici ekip bundan hiç haberdar değildi. Daha önce geliştirme ekibi için teslimat, yalnızca Operasyon ekibine teslimat anlamına geliyordu, ancak DevOps uygulamasıyla, teslimat sadece operasyonlara değil, üretime de sunulmaktaydı.
Benzer şekilde, operasyonlar asla geliştirme ekibinin ürettiği kodla ilgilenmezdi. Yazılım kurulumu sırasında karşılaştıkları herhangi bir sorun, üretimde işlevsellik veya performans sorunları, sadece işi Geliştirme ekibine aktarır ve onlardan düzeltmelerini ve geri vermelerini isterlerdi.
Dolayısıyla, döngü boyunca birbirlerinin işlerini bilmek ve görevlerini anlamak ve birbirlerinin sorunlarına sahip olmak, ekibin sorunları hızlı bir şekilde çözmesine yardımcı olur.
Çünkü sorunun nerede olduğunu ve programda ne olduğunu ve üretimde soruna neyin neden olduğunu biliyorlar ve bu nedenle doğrudan gidip çok fazla zorluk çekmeden düzeltebilirler.
Dolayısıyla, işbirliği, geliştirme ekibinin altyapıyı ve yapılandırmayı anlaması gerektiği anlamına gelir ve operasyon ekibinin kod, kalite, teslimat ve zaman çizelgeleri konusunda endişelenmesi gerekir.
Birbirine bağımlılığı anlamak, işi hızlandırmaya ve zamanında teslim etmeye yardımcı olacaktır.
Yazılım kurulumu sırasında olduğu gibi, operasyon ekibi kurulumla ilgili sorunları çözmek için bir geliştirme ekibine bağlıdır. Benzer şekilde, geliştirme ekibinin kodlanması, operasyon ekibinin kodlama sürecinde dikkat etmesi için canlı olarak var olan birçok ön koşula bağlıdır.
Bir diğeri Misal Test ekibi, test için üretimden örnek canlı veriler sağlamak için operasyon ekibine bağlıdır. Geliştirme ortamında kurulacak ortam yapılandırma ayrıntıları vb.
Bu nedenle, hem ekibin birbirleriyle işbirliği yapması ve birbirlerine olan bağımlılığı anlaması hem de zaman dilimi faktörünü akılda tutarak verileri veya bilgileri gecikmeye neden olmadan zamanında sağlaması gerekir.
Ekibin programla ilgili her şeyi anlamasını sağlayan ve herhangi bir yanlış anlamadan kaçınmaya yardımcı olan kaynak kontrolü veya sürüm kontrolü gibi DevOps uygulamalarını benimseyerek şeffaflığı koruyun.
Yani bu, temelde ekip içindeki şeffaflığı korumaktır.
Ekip üyelerinin herhangi bir bireye veya belirli bir bilgiye bağlı olmaları gerekmez, örneğin birisi kümedeki belirli bir düğümde ayarlanan yapılandırmayı bilmek isterse, operasyon ekibinin uyanmasını beklemek zorunda kalmazlar ve bu ayrıntıları onlara sağlayın, bunun yerine sürüm kontrol aracına gidip bu bilgileri alabilir ve görevlerini gecikmeden tamamlayabilirler.
Birbirinden, özellikle de başkalarının hatasından öğrenmek, işbirliğinin en büyük özelliğidir. Böylece başka birinin yaptığı bu hataları zaten tekrarlamasınlar.
Yani, gelişme, operasyondan öğrenmektir ve operasyonlar, ister yeni bir teknoloji, ister araç, ister bir şeyi daha basit ve daha iyi bir şekilde yapmak olsun, geliştirmeden öğrenmektir. Her ikisinin de aynı sayfada olduğu yerde ve dolayısıyla birbirlerinden öğrenerek birbirleriyle işbirliği yapıyorlar.
Operasyonlar eskiden geliştirici ekibin çok yavaş olduğunu ve zamanında teslim edemediklerini düşünürdü, artık geliştirme ekibiyle her gün etkileşim halindeyken, gecikmeye neyin neden olduğunu anlıyorlar, daha az netlik gereksinimler, tasarım problemi, kodlama problemi veya diğer herhangi bir araç problemi.
Onlar bile dahil oluyor ve iyileştirmek için değerli önerilerini sunuyorlar.
Ayrıca, üretimden veya geliştirme sitesinden herhangi bir sorun olması durumunda, DevOps, bu sorunu kimin veya hangi ekibin ortaya çıkardığını bulmaya çalışmaktan çok önce sorunu çözme kültürü sunar. Ve böylece herkes soruna kimin neden olduğunu bulmak için zaman harcamak yerine sorunu çözmeye odaklanmaya çalışıyor.
Öyleyse, her birini suçlamayı ve her birinin sorununu kendisininmiş gibi düşünmeyi, birlikte çözmek için öne çıkmayı ve sorunları desteklemeyi bırakın, sorunları sırasında birbirlerini desteklemek yine bir işbirliği.
Yani, oyunu suçlamayı bırak, oyun oynamayı bir kez daha işbirliğinin bir özelliği diyebilirim.
Herkes ortak olarak aynı yönde düşünmeye başladığında, aynı zihniyette ve aynı yönler ve uygulamalar üzerinde çalışmaya başladığında, yeni bir özellik geliştirildiğinde, herkes bunu nasıl test edeceğini, bunu nasıl uygulayacağını, nasıl izleyeceğini, bir işbirliğidir.
Bu nedenle, ekip içinde ortak düşünmek, bir kez daha işbirliğinin bir özelliğidir.
Şimdi biraz ara verelim ve sonraki videomuzda ortak çalışmayı biraz daha anlayalım.
PREV Eğitimi | SONRAKİ Eğitici
Önerilen Kaynaklar
- DevOps Takımlarında İşbirliği Nasıl Geliştirilir
- DevOps'ta Küçük Teslimat Artışlarının Önemi
- DevOps'ta Sürekli Entegrasyon
- DevOps'ta Sürekli Dağıtım
- DevOps'ta Sürekli Teslimat
- DevOps Otomasyonu: Otomasyon DevOps Uygulamasında Nasıl Uygulanır?
- DevOps Eğiticisi: DevOps için Nihai Kılavuz (25'ten Fazla Eğitici)
- DevOps Test Eğitimi: DevOps QA Testini Nasıl Etkileyecek?