Dynatrace ile CI/CD Üretim Hatlarını Otomatikleştirin: Bölüm 2
Kodun dağıtım aşamasında, uygulama kodu tipik olarak üretim ortamını yansıtan bir ortamda dağıtılır. Bu ortam, kod üretime geçmeden önce son doğrulama ve test aşaması için kullanıldığından bu adım çok önemlidir. Bu aşama, kodun yayınlanmadan önce gerekli kalite standartlarını karşılamasını sağlar.
Bu blog serisinin önceki bölümünde Bölüm 1, Site Güvenilirlik Mühendislerinin (SRE’ler)
karşılaştığı zorlukları etkili bir şekilde ele almak için Dynatrace’ın bir yapı aşaması orkestratörü olarak nasıl kurulacağını araştırdık. Bu blog gönderisinde, bir sonraki üretim hattı aşamasına, Dağıtım aşamasına geçeceğiz ve Dynatrace’in bu kritik aşamada sağladığı görünürlük avantajlarını inceleyeceğiz.
Dağıtım aşaması
Dağıtım aşamasında, uygulama kodu tipik olarak üretim ortamını yansıtan bir ortamda dağıtılır. Bu ortam, kod üretime geçmeden önce son doğrulama ve test aşaması için kullanıldığından bu adım çok önemlidir. Bu aşama, kodun yayınlanmadan önce gerekli kalite standartlarını karşılamasını sağlar.
Yapılandırma sürüklenmesi:
Yapılandırma sürüklemesi, dağıtım aşamasında bir zorluktur. Yapılandırma sapması, bir hazırlık ortamının yapılandırması üretim ortamından saptığında meydana gelir. Bu tür sapmalar genellikle belgelenmemiş veya sürümsüz çevresel değişikliklerden kaynaklanır ve potansiyel olarak beklenmedik davranışlara ve dağıtım sırasında üretim kesintilerine neden olur.
Evreleme ortamı üretim ortamını yakından yansıtsa bile, yazılım performansını değerlendirmek için son derece yüksek trafik hacimlerini simüle etmek gibi tüm potansiyel senaryoların tam bir kopyasını elde etmek zor olmaya devam ediyor. Bu, yoğun trafiğe maruz kaldığında kodun nasıl davranacağına dair içgörü eksikliğine yol açabilir.
Üretim kurulumunu sadık bir şekilde kopyalayan bir hazırlama ortamı oluşturmak, bu tür zorlukları etkili bir şekilde ele almak için çok önemlidir. Ayrıca, üretimde karşılaşılan senaryoları yansıtmak için test kapsamının artırılması zorunludur. Bu stratejiler, sorunların erken tespitinde hayati bir rol oynayabilir ve evreleme için dağıtım sırasında olası performans darboğazlarını ve uygulama sorunlarını belirlemenize yardımcı olabilir. Bu yaklaşımla, üretim ortamına yükseltildiğinde bir sürümün başarılı olacağına dair artan güven kazanırsınız.
OneAgent işlevselliğinden yararlanın:
Yapılandırma değişikliklerini olay API çağrısı aracılığıyla Dynatrace’e almak ve desteklenen teknolojiler için yapılandırma değişikliklerini tespit etmek için OneAgent®’ı kullanmak, hazırlama ve üretim ortamlarınız arasında yakın uyumu korumaya yardımcı olur. Bu yaklaşım, yapılandırma sürüklenmesiyle etkili bir şekilde mücadele eder. Ayrıca, Dynatrace Davis® AI motoru, bu tür değişikliklerin herhangi bir sorunla sonuçlanıp sonuçlanmadığını doğru bir şekilde belirleyebilir ve gerekirse yapılandırmaları geri almanıza olanak tanır.
OneAgent yerel özelliklerinden yararlanarak, oluşturulan telemetri verileri Davis AI tahmin ve tahmin yetenekleriyle etkili bir şekilde birleştirilebilir. Bu, farklı ortamlardaki varyasyonlar nedeniyle kapsamlı bir şekilde test edilmemiş olabilecek eğilimlerin tahmin edilmesini sağlar. Bu proaktif yaklaşım, potansiyel performans sorunlarını olumsuz etkilere yol açmadan önce tahmin etmede ve azaltmada etkili olduğunu kanıtlamaktadır.
Savaş konfigürasyonu sürüklenmesi:
Dynatrace, desteklenen teknolojilerin standart yapılandırma dosyalarındaki değişiklikleri aktif olarak izler. Bir değişiklik algılandığında, Dynatrace otomatik olarak ilgili işlem ve işlemin üzerinde çalıştığı ana bilgisayar için bir Dağıtım değişikliği olayı oluşturur. Yapılandırma değişiklikleri için izlenen önceden tanımlanmış dosya seti ruxitagentproc.conf içinde tutulur. Bu yapılandırma ayarlamalarından kaynaklanan herhangi bir olay durumunda, Davis AI, potansiyel kök nedenleri belirlemek için Dağıtım değişikliği verilerini kullanır.
Örnek olarak, aşağıdaki ekran görüntüsünde, nginx.conf dosyasında bir değişiklik yapıldığında, Dynatrace yapılandırma değişikliğini derhal algıladı ve bunu bir Dağıtım değişikliği olayı olarak bildirdi. Bu özel örnekte, nginx’in yanlış yapılandırılması, nginx’in çöktüğü ve yeniden başlatılamadığı kritik bir soruna yol açtı ve Dynatrace’tan bir uyarı istedi. Davis AI, dağıtım değişikliğini nginx’in arızalanmasının potansiyel temel nedeni olarak verimli bir şekilde tanımladı.
SRE’ler, bu dağıtım olaylarından yararlanarak belirli bir süre boyunca meydana gelen tüm yapılandırma değişikliklerini etkili bir şekilde izleyebilir. Bu yetenek, yapılandırma sürüklenmesiyle proaktif olarak mücadele ederek üretim kurulumuyla eşleşecek şekilde hazırlama ortamını çoğaltmalarını sağlar.
Dynatrace yapılandırma değişikliklerini tespit edebilse de, en iyi uygulama, ekip bir yapılandırma dosyasını her değiştirdiğinde sistematik olarak bir yapılandırma değişikliği veya dağıtım değişikliği olayını almaktır. Bu yaklaşım, uygun kayıt tutmayı sağlar ve evreleme ve üretim ortamları arasında tutarlılık sağlanmasına yardımcı olarak yapılandırma sürüklenmesini etkili bir şekilde azaltır.
Tahmine dayalı trafik analizi:
OneAgent’ı hazırlama ortamında dağıtmak, Davis AI tarafından analiz için telemetri verilerinin kullanılabilirliğini kolaylaştırır. Davis AI, tahmine dayalı analizi etkinleştirmek için bu verilerden yararlanabilir. Bu, test durumlarının çeşitli sınırlamalar nedeniyle üretime aynı trafiği çoğaltamasa bile, tahmine dayalı analizin yeni yapının üretim seviyesi yüklerine dayanma kapasitesine ilişkin içgörüler sunabileceği bir senaryo sağlar.
Bu kavramı göstermek için aşağıdaki senaryoyu göz önünde bulundurun. Sınırlı oluşturulan trafikle test sırasında Davis AI tahmine dayalı analizi, Elastic Book Storage’ın (EBS) nasıl performans gösterebileceği ve Saniye Başına Giriş/Çıkış İşlemleri (IOP’ler) oranının daha ağır trafik yükü altında nasıl değişebileceği hakkında değerli bilgiler sundu.
Diğer kanıtlanmış stratejiler
En etkili gözlemlenebilirlik sonuçlarını elde etmek için en iyi uygulamaları takip etmenizi öneririz.
Dağıtım aşamasının başlangıcında, Dynatrace’e yeni dağıtım hakkında bilgi veren bir dağıtım olayı gönderin. Bu dağıtım olayları, dağıtım kalitesini değerlendirmeye yardımcı olan Davis AI nedensellik motoruna ek bağlam sağladıkları için önemlidir.
Sahne orkestrasyonunu platform mühendisliği bağlamında dağıtın:
OneAgent tarafından otomatik olarak tanımlanan veya uygulama sahipleri tarafından manuel olarak tetiklenen dağıtım olayları, tüm ortamlarda tutarlılık sağlamada önemli bir rol oynar. Sorunlar algılandığında, nedensel yapay zeka sorunun dağıtım değişiklikleriyle bağlantılı olup olmadığını belirler. Bu, sorun giderme ve ortamlar arasındaki tutarsızlıkları belirlemek için daha az zaman harcadıkları için geliştirme ekipleri için üretkenliğin artmasına önemli ölçüde katkıda bulunur. Ek olarak, Davis AI tarafından körüklenen tahmine dayalı analizin entegrasyonu, geliştiricilere uygulamalarının davranışının potansiyel olarak yüksek trafik de dahil olmak üzere beklenen yüke dayanacağına dair güven aşılar.