Küçük Ekipler için 4 DevOps İpucu
Yayınlanan: 2020-02-08Küçük ekipler için DevOps'u nasıl dağıtacağınızı mı merak ediyorsunuz? DevOps, her büyüklükteki şirkette büyüyen bir strateji ve uygulama alanıdır. Pazara sunma süresini hızlandırır, daha hızlı kullanıma sunar ve daha mutlu geliştiriciler, operasyon yöneticileri ve müşteriler sağlar.
DevOps'un ne olduğu, büyük şirketlerin onu nasıl dağıttığı ve küçük şirketlerin şu anda hangi dersleri ve ipuçlarını toplayıp uygulayabileceği hakkında konuşacağız.
DevOps Nedir?
DevOps, temel olarak bir dizi uygulamayı kapsadığı için tanımlanması zor bir terimdir. Temel olarak DevOps, daha iyi iletişim amacıyla iki şeyin birleşimidir: "Dev", "geliştiriciler" ve "Ops" operasyonlar anlamına gelir.
O halde DevOps, genellikle, bilgi silolarını yıkmak için işbirliği yapan kod geliştiricileri ve sistem operasyonları yöneticilerinden oluşan bir gruptur - özünde, kod geliştirme ve etkin bir şekilde dağıtma söz konusu olduğunda her zaman aynı sayfada olduklarından emin olmak için.
DevOps, departmanlar arasında etkili iletişim anlamına gelir. Bir departman için diğer departman için hayatı kolaylaştıran stratejiler oluşturmak için birlikte çalışmak anlamına gelir. Ayrıca genellikle daha fazla kod otomasyonu, daha küçük kod parçaları, kaynak kontrol sistemleri ve belki birkaç toplantı daha anlamına gelir.
Peki DevOps olmadan ne olur?
DevOps neden gereklidir?
Geleneksel olarak, operasyon yöneticileri üretim ortamını, yani müşterilerin ve müşterilerin etkileşime girdiği her şeyi korur.
Öte yandan geliştiriciler, sahne arkasında çalışarak, üretim ortamından duvarlarla çevrili bir alan olan test ortamında kod oluştururlar. Bu geliştirme ortamı, ideal olarak, üretim ortamını ve kodun veya uygulamanın gerçek dünyada nasıl çalıştığını simüle eder.
Pratikte bu, geliştiricilerin kendi baloncuklarına kod yazması ve bunu, operasyon yöneticilerinin yeni kodu entegre ederken her şeyin nasıl çalışır ve istikrarlı tutacağını bulmaları gereken üretim ortamına dağıtmak için göndermeleri anlamına gelir. Ve geliştiriciler genellikle yeni özellikleri kodlamakla çok meşguldür ve operasyon yöneticileri her plakayı döndürmeye çalışmakla çok meşguldür, bu nedenle iletişim ve ortam revizyonu için zaman kısadır.
DevOps'un kurulması ve başlaması biraz zaman alırken, sonuçlar büyük veya küçük her şirketi daha çevik ve daha rekabetçi hale getirebilir.
Büyük Şirketlerde DevOps
DevOps, büyük şirketler için bir smaçtır. Çok sayıda geliştirici ve yeterince büyük bir kod tabanı ile kodun geliştirilmesi ve dağıtılması devasa bir mücadele olabilir.
Büyük şirketlerin daha fazla müşterisi var. Daha fazla müşteri, daha fazla sunucu, genellikle daha fazla özellik ve ağ üzerinde daha fazla yük anlamına gelir. Bu, daha büyük bir kod tabanı oluşturur; bu, küçük tweaks'lerin bile çevrede kademeli bir etkiye sahip olabileceği anlamına gelir. Ve büyük şirketler pazarda rekabet edebilmek için genellikle yeni özellikler çıkarmaya çalıştıklarından, geliştirme ortamının ve üretim ortamının birbirine yakın olması gerekir.
Netflix, Amazon ve Target gibi şirketler, hizmetlerini kolaylaştırmak için DevOps'u benimsedi. Geliştirme ortamlarının üretim ortamlarıyla entegrasyonu (ağır otomasyonun yanı sıra), Netflix ve Amazon'un günde binlerce kez dağıtım yapmasına olanak tanır .
Amazon, revizyonları otomatik olarak kontrol etmek ve bunları insan müdahalesi olmadan derleme ve test sürecinden geçirmek için sürekli dağıtım ve otomatik kaynak denetimi sistemi kullanır.
NASA, NASA veri uzmanlarının telemetri verilerini ve analizlerini mühendisleriyle sabit bir hızda paylaşmasına izin vermek için Amazon'un AWS hizmeti ve kapsayıcılı veri sistemlerinin bir kombinasyonunu kullanan benzer bir sistem kullanır.
Ancak bu şirketler ve kuruluşlar çok büyük. Küçük bir ekip, bu düzeyde bir organizasyon ve otomasyona nasıl yaklaşabilir? Küçük ekipler için DevOps doğada nasıl çalışır?
Küçük Ekiplerin Benimseyebileceği DevOps Çözümleri
Küçük ekipler, hem insan, departman hem de kaynak sayısı bakımından daha büyük şirketlerle aynı bant genişliğine sahip değildir. Bununla birlikte, genel olarak daha küçük ekipler zaten birçok DevOps çözümü kullandığından, bu iki ucu keskin bir kılıç haline gelir. İstemeden de olsa.
Ancak bu, yapılacak iş olmadığı anlamına gelmez. Şu anda, yazılım endüstrisinin yalnızca %25'i DevOps'u yüksek bir seviyede çekiyor.
Ve diğer DevOps araçları ve stratejileri daha büyük şirketlerden alınabilir ve aynı derecede etkili bir şekilde kullanılabilir.
1. Bir DevOps Ekibi Oluşturun
Geniş bir geliştirici ekibiniz yoksa, bağımsız bir DevOps ekibi oluşturmak muhtemelen söz konusu değildir. Bir geliştiriciniz ve bir sistem yöneticiniz varsa veya bu roller aynı kişi tarafından dolduruluyorsa, "ekip" fikri aptalca gelebilir.
Sorun değil. Bu mutlaka bir tür görev gücü oluşturmakla ilgili değil - bu sadece iletişimle ilgili. Bir geliştiriciniz ve bir BT yöneticiniz olsa bile, DevOps "ekibi" formunuz, neler olup bittiği konusunda birbirinizi bilgilendirmek için haftalık bir toplantı ve günlük eşzamansız güncellemeler olabilir.
Ekibin birincil hedefleri, geliştirme ortamını üretim ortamıyla uyumlu hale getirmek, daha küçük kod parçalarını daha sık yazmak (ve dağıtmak), otomasyonu ve kaynak kontrolünü artırmak olmalıdır.
Bu şeylerin ne anlama geldiği ve nasıl başarılabileceği hakkında konuşalım.
2. Uygulamaları ve Ortamları Hizalama
Küçük ekipler bile, yalnızca revizyonların nihai ürünü nasıl etkilediğini izlemek için bile geliştiricilere üretim ortamına daha fazla erişim vererek ortamlarını uyumlu hale getirmeye başlayabilir.
Geliştirici ekibinize, yalnızca köşedeki bir monitörde olsa bile, ağ durumunun çalışan bir beslemesini vermeyi deneyin. Dağıtılan kodlarının trafiği nasıl etkilediğini hemen görebilir veya büyük bir sorun olabilecek ani bir düşüş olup olmadığını not edebilirler.
Geliştirme test ortamını ve gerçek üretim ortamını mümkün olduğunca yakın, ideal olarak özdeş kılmak için bir strateji oluşturmak için DevOps ekibine de ihtiyacınız olacak. Yalnızca ortamları uyumlu hale getirmekle kalmayıp aynı zamanda zaman içinde değişiklikler meydana geldikçe onları uyumlu tutmak için çok sayıda toplantı ve güçlü bir belgeleme projesi içerecektir.
İki ortamı hizalamak, operasyon ekibinin geliştirici kodunu nihai ürünün gerçeklerine uyarlamaya çalışmak için daha az zaman harcaması anlamına gelir.
3. Daha Küçük Kod Parçaları Dağıtın
Üçüncü adım, büyük güncellemenin zihniyetinden çıkmaktır. Büyük kod revizyonlarının test edilmesi, onaylanması ve devreye alınması haftalar veya aylar alabilir. Bu, özelliklerin kullanıma sunulmasını yavaşlatır ve genellikle sizi pazarda daha az rekabetçi hale getirir. Ayrıca yeni, heyecan verici bir trend veya felaketle sonuçlanan bir problem durumunda sizi daha az çevik yapar.
Şirketinizdeki küçük ekipler için DevOps'u genişletmenin anahtarlarından biri, daha küçük kod parçaları yazma ve bunları daha hızlı dağıtma zihniyetine girmektir. Bunlar, birkaç saat içinde test edilip uygulanabilecek kadar küçük olmalıdır.
4. Otomasyonu ve Kaynak Kontrolünü Kucaklayın
Küçük ekipler için başarılı DevOps'a giden son yol, otomasyonun yoğun kullanımıdır.
Neden otomasyon? Birincisi, otomasyon, kod testini ve dağıtımını hızlandırır. Ayrıca hem geliştiricilere hem de operasyon yöneticilerine yukarıda listelenen DevOps stratejilerini yürürlüğe koymaları için zaman kazandırır. Bu ekstra zaman, Geliştirme ve Operasyon ekiplerinizin yalnızca yangınları söndürmek yerine işi iyileştiren şeylere odaklanmasına da olanak tanır. Ve son olarak, her ikisi de işe alım, eğitim ve uyumluluk için kendi değerlerine sahip olan belgelerin verimliliğini ve doğruluğunu artırır.
İlk olarak, her zaman, istediğiniz zaman kod oluşturmanıza ve test etmenize yardımcı olacak bir şeye ihtiyacınız olacak. Jenkins veya Bitrise gibi bir uygulama, sürekli entegrasyon ve teslimatı kolaylaştırmaya yardımcı olabilir.
Ardından, koddaki revizyonları izlemek ve yönetmek için bir kaynak kontrol platformuna ihtiyacınız olacak. GitHub ve SourceForge gibi platformlar burada size yardımcı olabilir.
Zincirdeki bir sonraki adım, kart genelinde tutarlılığı ve kaliteyi sürdürmek için bir konfigürasyon yönetim sistemi olacaktır. Chef veya SaltStack gibi araçlar başlamak için harika yerlerdir.
New Relic, tüm sistemlerinizi gözlemlemek için bir platform oluşturur ve bu tür uçtan uca kod otomasyonunu izlemek için son derece kullanışlıdır.
Tüm otomatik sistemi yeni bir yöne hızlı bir şekilde döndürmek zorunda kalmanız durumunda dinamik konfigürasyona bakmak da iyi bir fikir olabilir.
Küçük Ekipler ve Küçük Kuruluşlar için DevOps Uygulaması
Ekibinizin veya şirketinizin DevOps'u etkin bir şekilde uygulamak için çok küçük olduğundan endişelenmeyin. Bunun yerine, bu araçları organizasyonel fikirleri alabileceğiniz bir büfe masası olarak düşünün.
Büyüklüğü ne olursa olsun hiçbir kuruluş daha fazla iletişim, daha fazla hesap verebilirlik ve daha büyük ve daha ayrıntılı revizyon izlemeden zarar görmeyecektir.