DevOps metodolojisi nedir ve buna kimin ihtiyacı vardır?

Metodolojinin özünün ne olduğunu ve kime fayda sağlayabileceğini bulalım.

Ayrıca DevOps uzmanları hakkında da konuşacağız: görevleri, maaşları ve becerileri.

DevOps metodolojisi nedir ve buna kimin ihtiyacı vardır?
Fotoğraf Matt Moore /Flickr/CC BY-SA

DevOps nedir?

DevOps, görevi bir şirketteki programcılar ve sistem yöneticileri arasında etkileşim kurmak olan bir yazılım geliştirme metodolojisidir. Farklı departmanlardan BT uzmanları birbirlerinin görevlerini anlamazlarsa, yeni uygulamaların ve güncellemelerin yayınlanması gecikir.

DevOps "kesintisiz" bir geliştirme döngüsü oluşturarak bir yazılım ürününün piyasaya sürülmesinin hızlandırılmasına yardımcı olur. Otomasyon sistemlerinin devreye girmesiyle hızlanma sağlanır. Ayrıca programcılar sunucuların kurulumuna ve hataların bulunmasına katılmaya başlarlar, örneğin otomatik testler yazabilirler.

Bu, departmanlar arasındaki etkileşimi artırır. Çalışanlar, bir yazılım ürününün kullanıcının eline geçmeden önce hangi aşamalardan geçtiğini daha iyi anlamaya başlıyor.

Geliştirici, sunucu kurulumu sırasında yöneticinin neyle karşı karşıya olduğunu anladığında, koddaki olası "keskin köşeleri" düzeltmeye çalışacaktır. Bu, bir uygulamayı dağıtırken ortaya çıkan hata sayısını azaltır; istatistiklere göre, azalır yaklaşık beş kez.

Metodolojiye kimin ihtiyacı var ve ihtiyacı yok

Çok BT uzmanları inanıyorDevOps'un yazılım geliştiren her kuruluşa fayda sağlayacağını düşünüyoruz. Şirket BT hizmetlerinin basit bir tüketicisi olsa ve kendi uygulamalarını geliştirmese bile bu durum geçerlidir. Bu durumda DevOps kültürünü uygulamak inovasyona odaklanmanıza yardımcı olacaktır.

Istisna hesaba katılmak yeni başlayanlar, ancak burada her şey projenin ölçeğine bağlı. Amacınız yeni bir fikri test etmek için minimum uygulanabilir ürünü (MVP) piyasaya sürmekse DevOps olmadan da bunu yapabilirsiniz. Örneğin Groupon'un kurucusu hizmet üzerinde manuel olarak çalışmaya başladı gönderildi web sitesindeki tüm teklifler ve toplanan siparişler. Herhangi bir otomasyon aracı kullanmadı.

Otomasyon metodolojisini ve araçlarını uygulamak yalnızca uygulama popülerlik kazanmaya başladığında mantıklı olur. Bu, iş süreçlerini kolaylaştırmaya ve güncellemelerin yayınlanmasını hızlandırmaya yardımcı olacaktır.

DevOps nasıl uygulanır?

Aşağıda yeni bir metodolojiye geçiş için bazı öneriler bulunmaktadır.

İş süreçlerindeki sorunları tanımlayın. Metodolojiyi uygulamadan önce kuruluşun hedeflerini ve sorunlarını vurgulayın. DevOps'a geçiş stratejisi bunlara bağlı olacaktır. Bunu yapmak için bir soru listesi yapın, örneğin:

  • Yazılımı güncellerken en çok zaman alan şey nedir?
  • Bu süreci otomatikleştirmek mümkün mü?
  • Organizasyonun yapısı bunu etkiliyor mu?

Bir kuruluştaki sorunları tanımlama hakkında daha fazla bilgi edinin kitaplarda okuyabilirsiniz «"Phoenix" projesi"Ve"DevOps Kılavuzu» Metodolojinin yazarlarından.

Şirketteki kültürü değiştirin. Tüm çalışanları olağan çalışma şekillerini değiştirmeye ve yetkinlik alanlarını genişletmeye ikna etmek önemlidir. Örneğin, Facebook'ta tüm programcılar cevap tüm uygulama yaşam döngüsü boyunca: kodlamadan uygulamaya kadar. Ayrıca Facebook'un ayrı bir test departmanı yoktur; testler geliştiricilerin kendileri tarafından yazılır.

Küçük başlayın. Güncellemeleri yayınlarken en çok zaman ve çaba harcayan süreci seçin ve otomatikleştirin. Bu belki test veya uygulama dağıtım süreci. Uzmanlar bildirmek İlk adım, dağıtılmış sürüm kontrol araçlarını uygulamaktır. Kaynakları yönetmeyi kolaylaştırırlar. Bu tür çözümler arasında en ünlüleri Git, Mercurial, Subversion (SVN) ve CVS'dir.

Nihai ürünün montajından ve test edilmesinden sorumlu sürekli entegrasyon sistemlerine de dikkat etmek önemlidir. Bu tür araçlara örnekler: Jenkins, TeamCity ve Bamboo.

İyileştirmeleri değerlendirin. Uygulanan çözümler için performans ölçümleri geliştirin ve bir kontrol listesi oluşturun. Metrikler arasında sürüm sıklığı, yazılım özellikleri üzerinde çalışmak için harcanan süre ve koddaki hata sayısı yer alabilir. Sonuçları yalnızca yöneticilerle değil aynı zamanda projeye dahil olan ekibin geri kalanıyla da tartışın. Hangi araçların eksik olduğunu sorun. Süreçlerinizi daha da optimize ederken bu istekleri dikkate alın.

DevOps'un Eleştirisi

Her ne kadar metodoloji помогает Kuruluşların uygulama geliştirme konusunda daha hızlı kararlar alabilmesi, azaltır Yazılımdaki hataların sayısı ve çalışanları yeni şeyler öğrenmeye teşvik etmesiyle ilgili eleştiriler de var.

Var görünümprogramcıların sistem yöneticilerinin çalışmalarının ayrıntılarını anlamaması gerektiğini. İddiaya göre DevOps, şirketin geliştirme veya yönetim uzmanları yerine her şeyi yüzeysel olarak anlayan insanlara sahip olmasına yol açıyor.

Ayrıca DevOps'un da olduğuna inanılıyor çalışmıyor kötü yönetimle. Geliştirme ve yönetici ekiplerinin ortak hedefleri yoksa ekipler arasındaki iletişimi organize etmemenin sorumlusu yöneticilerdir. Bu sorunu çözmek için yeni bir metodolojiye değil, astlardan gelen geri bildirimlere dayanarak yöneticileri değerlendirecek bir sisteme ihtiyaç vardır. Buradan okuyabilirsiniz Çalışan anket formlarına hangi sorular dahil edilmelidir?.

DevOps metodolojisi nedir ve buna kimin ihtiyacı vardır?
Fotoğraf Ed Ivanushkin /Flickr/CC BY-SA

DevOps Mühendisi Kimdir?

Bir DevOps mühendisi DevOps metodolojisini uygular. Bir yazılım ürünü oluşturmanın tüm aşamalarını senkronize eder: kod yazmaktan uygulamayı test etmeye ve yayınlamaya kadar. Böyle bir uzman, geliştirme ve yönetim departmanlarını kontrol eder, ayrıca çeşitli yazılım araçlarını uygulayarak görevlerinin yürütülmesini otomatikleştirir.

DevOps mühendisinin püf noktası birçok mesleği birleştirmesidir: yönetici, geliştirici, test uzmanı ve yönetici.

Bir sanallaştırma yazılımı şirketi olan VMware'in DevOps savunucusu Joe Sanchez, seçildi Bir DevOps mühendisinin sahip olması gereken bir dizi beceri. DevOps metodolojisine ilişkin bariz bilgiye ek olarak, bu kişinin Windows ve Linux işletim sistemlerini yönetme deneyimine ve aşağıdaki gibi otomasyon araçlarıyla çalışma deneyimine sahip olması gerekir: ŞefKuklayanıtlayıcı '. Ayrıca birkaç dilde script ve kod yazabilmeli ve ağ teknolojilerini anlayabilmelidir.

Bir DevOps mühendisi, uygulamaların yapılandırılması ve dağıtılmasıyla ilgili görevlerin her türlü otomasyonundan sorumludur. Yazılım izleme de onun omuzlarına düşüyor. Bu sorunları çözmek için çeşitli konfigürasyon yönetim sistemlerini, sanallaştırma çözümlerini ve kaynakları dengelemeye yönelik bulut araçlarını kullanıyor.

Kim işe alıyor

DevOps mühendisleri, uygulamalar geliştiren veya çok sayıda sunucuyu yöneten her kuruluşa fayda sağlayabilir. DevOps mühendisleri işe alıyorlar Amazon, Adobe ve Facebook gibi BT devleri. Ayrıca Netflix, Walmart ve Etsy'de de çalışıyorlar.

İşe almıyorum DevOps mühendisleri yalnızca yeni başlayanlardır. Görevleri, yeni bir fikri test etmek için minimum uygulanabilir ürünü piyasaya sürmektir. Çoğu durumda, startup'lar DevOps olmadan da yapabilirler.

Ne kadar ödenir

DevOps mühendisleri kazanmak sektördeki herkesten daha fazla. Dünya çapında bu tür uzmanların ortalama kazancı yılda 100 ila 125 bin dolar arasında değişiyor.

ABD'de onlar almak Yılda 90 bin dolar (ayda 500 bin ruble). Kanada'da onlar ödeme Yılda 122 bin dolar (ayda 670 bin ruble) ve Birleşik Krallık'ta - yılda 67,5 bin sterlin (ayda 490 bin ruble).

Rusya'ya gelince, Moskova şirketleri hazır DevOps uzmanlarına ayda 100 ila 200 bin ruble arasında ödeme yapın. St.Petersburg'da işverenler biraz daha cömert - ayda 160-360 bin ruble teklif ediyorlar. Bölgelerde maaşlar ayda 100-120 bin ruble olarak belirtiliyor.

Nasıl DevOps uzmanı olunur?

DevOps, BT'de nispeten yeni bir yön olduğundan DevOps mühendisleri için belirlenmiş bir gereksinim listesi yoktur. Açık pozisyonlarda, bu pozisyonun gereksinimleri arasında hem Debian hem de CentOS yönetim becerilerini ve disk sürücüleriyle çalışma yeteneğini bulabilirsiniz. RAID dizileri.

Buradan yola çıkarak bir DevOps mühendisinin öncelikle iyi bir teknik bakış açısına sahip olması gerektiği sonucuna varabiliriz. Böyle bir kişinin sürekli olarak yeni araç ve teknolojileri öğrenmesi önemlidir.

DevOps mühendisi olmanın en kolay yolu sistem yöneticisi veya geliştiricisi olmaktır. Zaten geliştirilmesi gereken bir takım becerilere sahipler. Ana görev, DevOps'taki minimum bilgi setini geliştirmek, otomasyon araçlarıyla nasıl çalışılacağını anlamak ve yönetim, programlama ve sanallaştırma becerilerindeki boşlukları doldurmaktır.

Bilginin hala nerede eksik olduğunu anlamak için şunları kullanabilirsiniz: GitHub'daki mini Vikipedi veya zihinsel harita. Hacker News sakinleri de Tavsiye kitapları oku ""Phoenix" projesi"Ve"DevOps Kılavuzu" (yukarıda bahsettiğimiz) ve "DevOps felsefesi. BT Yönetimi Sanatı» O'Reilly Media'nın damgası altında.

Ayrıca abone olabilirsiniz Devops Haftalık bülteni, güncel makaleleri okuyun portal DZone ve DevOps mühendisleriyle iletişim kurmaya başlayın Gevşek sohbet. Ayrıca ücretsiz kurslara göz atmaya değer. Udacity veya EDX.

Blogumuzdan yazılar:



Kaynak: habr.com

Yorum ekle