Üretime hazırlık kontrol listesi

Makalenin çevirisi ders öğrencilerine özel olarak hazırlanmıştır. "DevOps uygulamaları ve araçları", bugün başlıyor!

Üretime hazırlık kontrol listesi

Hiç yeni bir hizmeti üretime sundunuz mu? Ya da belki bu tür hizmetlerin desteklenmesine dahil oldunuz? Cevabınız evet ise sizi ne motive etti? Üretim için ne iyi, ne kötü? Yeni ekip üyelerini mevcut hizmetlerin sürümleri veya bakımı konusunda nasıl eğitirsiniz?

Çoğu şirket, endüstriyel operasyon uygulamaları söz konusu olduğunda “Vahşi Batı” yaklaşımlarını benimsemektedir. Her ekip kendi araçlarına ve en iyi uygulamalarına deneme yanılma yoluyla karar verir. Ancak bu genellikle yalnızca projelerin başarısını değil aynı zamanda mühendisleri de etkiler.

Deneme yanılma, suçlamanın ve suçlamanın yaygın olduğu bir ortam yaratır. Bu davranışla birlikte hatalardan ders almak ve onları bir daha tekrarlamamak giderek zorlaşır.

Başarılı organizasyonlar:

  • Üretim için kılavuzlara olan ihtiyacın farkına varmak,
  • en iyi uygulamaları incelemek,
  • Yeni sistemler veya bileşenler geliştirirken üretime hazırlık konularına ilişkin tartışmalara başlamak,
  • Üretime hazırlık kurallarına uygunluğu sağlamak.

Üretime hazırlık bir “inceleme” sürecini içerir. İnceleme bir kontrol listesi veya bir dizi soru şeklinde olabilir. İncelemeler manuel olarak, otomatik olarak veya her ikisi birden yapılabilir. Statik gereksinim listeleri yerine belirli ihtiyaçlara uyarlanabilecek kontrol listesi şablonları oluşturabilirsiniz. Bu şekilde mühendislere, gerektiğinde bilgiyi ve yeterli esnekliği miras almanın bir yolu verilebilir.

Bir hizmetin üretime hazır olup olmadığı ne zaman kontrol edilmelidir?

Üretime hazırlık kontrolünün yalnızca piyasaya sürülmeden hemen önce değil, başka bir operasyon ekibine veya yeni bir çalışana devredilirken de yapılması faydalıdır.

Ne zaman kontrol edin:

  • Yeni bir hizmeti üretime sunuyorsunuz.
  • Üretim hizmetinin operasyonunu SRE gibi başka bir ekibe devredersiniz.
  • Üretim hizmetinin operasyonunu yeni çalışanlara devredersiniz.
  • Teknik desteği düzenleyin.

Üretime hazırlık kontrol listesi

Bir süre önce örnek olarak ben yayınlanan Üretime hazırlığın test edilmesine yönelik kontrol listesi. Her ne kadar bu liste Google Cloud müşterilerinden oluşturulmuş olsa da, Google Cloud dışında da faydalı ve uygulanabilir olacaktır.

Tasarım ve Geliştirme

  • Dış hizmetlere erişim gerektirmeyen ve dış sistemlerin arızasına bağlı olmayan, tekrarlanabilir bir oluşturma süreci geliştirin.
  • Tasarım ve geliştirme döneminde hizmetleriniz için SLO'ları tanımlayın ve ayarlayın.
  • Bağlı olduğunuz dış hizmetlerin kullanılabilirliğine ilişkin beklentileri belgeleyin.
  • Tek bir küresel kaynağa bağımlılıkları ortadan kaldırarak tek bir hata noktasından kaçının. Kaynağı çoğaltın veya kaynak kullanılamadığında bir geri dönüş kullanın (örneğin, sabit kodlanmış bir değer).

Konfigürasyon yönetimi

  • Statik, küçük ve gizli olmayan yapılandırma, komut satırı parametreleri aracılığıyla aktarılabilir. Geriye kalan her şey için yapılandırma depolama hizmetlerini kullanın.
  • Yapılandırma hizmetinin kullanılamaması durumunda, dinamik bir yapılandırmanın geri dönüş ayarlarına sahip olması gerekir.
  • Geliştirme ortamı yapılandırması, üretim yapılandırmasıyla ilişkili olmamalıdır. Aksi takdirde bu durum geliştirme ortamından üretim hizmetlerine erişime yol açabilir, bu da gizlilik sorunlarına ve veri sızıntısına neden olabilir.
  • Nelerin dinamik olarak yapılandırılabileceğini belgeleyin ve yapılandırma dağıtım sisteminin mevcut olmaması durumunda geri dönüş davranışını açıklayın.

Sürüm yönetimi

  • Serbest bırakma sürecini ayrıntılı olarak belgeleyin. Sürümlerin SLO'ları nasıl etkilediğini açıklayın (örneğin, önbellek eksiklikleri nedeniyle gecikmedeki geçici artışlar).
  • Kanarya sürümlerini belgeleyin.
  • Bir kanarya sürüm inceleme planı ve mümkünse otomatik geri alma mekanizmaları geliştirin.
  • Geri alma işlemlerinin dağıtımlarla aynı işlemleri kullanabildiğinden emin olun.

Gözlenebilirlik

  • SLO için gereken metrik kümesinin toplandığından emin olun.
  • İstemci ve sunucu verileri arasında ayrım yapabildiğinizden emin olun. Bu, arızaların nedenlerini bulmak için önemlidir.
  • İşçilik maliyetlerini azaltmak için uyarılar ayarlayın. Örneğin rutin işlemlerin neden olduğu uyarıları kaldırın.
  • Stackdriver kullanıyorsanız kontrol panellerinize GCP platformu metriklerini ekleyin. GCP bağımlılıkları için uyarılar ayarlayın.
  • Her zaman gelen izleri yay. İzlemeye dahil olmasanız bile bu, daha düşük düzeydeki hizmetlerin üretimdeki sorunların hatalarını ayıklamasına olanak tanır.

Koruma ve güvenlik

  • Tüm harici bağlantıların şifrelendiğinden emin olun.
  • Üretim projelerinizin doğru IAM kurulumuna sahip olduğundan emin olun.
  • Sanal makine örneği gruplarını yalıtmak için ağları kullanın.
  • Uzak ağlara güvenli bir şekilde bağlanmak için bir VPN kullanın.
  • Kullanıcıların verilere erişimini belgeleyin ve izleyin. Verilere tüm kullanıcı erişiminin denetlendiğinden ve günlüğe kaydedildiğinden emin olun.
  • Hata ayıklama uç noktalarının ACL'ler tarafından kısıtlandığından emin olun.
  • Kullanıcı girişini sterilize edin. Kullanıcı girişi için yük boyutu sınırlarını yapılandırın.
  • Hizmetinizin bireysel kullanıcılar için gelen trafiği seçici olarak engelleyebildiğinden emin olun. Bu, diğer kullanıcıları etkilemeden ihlalleri engelleyecektir.
  • Çok sayıda dahili işlemi başlatan harici uç noktalardan kaçının.

Kapasite planlaması

  • Hizmetinizin nasıl ölçeklendiğini belgeleyin. Örneğin: kullanıcı sayısı, gelen verinin boyutu, gelen mesajların sayısı.
  • Hizmetiniz için kaynak gereksinimlerini belgeleyin. Örneğin: ayrılmış sanal makine örneklerinin sayısı, Spanner örneklerinin sayısı, GPU veya TPU gibi özel donanımlar.
  • Belge kaynağı sınırlamaları: kaynak türü, bölge vb.
  • Yeni kaynaklar oluşturmaya yönelik kota kısıtlamalarını belgeleyin. Örneğin, API'yi yeni örnekler oluşturmak için kullanıyorsanız GCE API isteklerinin sayısını sınırlamak.
  • Performans düşüşünü analiz etmek için yük testleri çalıştırmayı düşünün.

Bu kadar. Sınıfta görüşürüz!

Kaynak: habr.com

Yorum ekle