Slurm DevOps - uzak gelecekte güzel bir turnadan 3 gün sonra daha iyi işleyen bir baştankara

Bir haftalık projeyi seviyorum ve bir yıl süren projelerden korkuyorum. Agile'da MVP ve artış kavramını gerçekten beğendim, bu tam benim işim: uygulanabilir bir parça yapın, uygulayın ve devam edin.

Aynı zamanda kitaplarda ve konferanslarda anlatıldığı şekliyle DevOps dönüşümü sadece bir yıllık bir proje. Veya yıllar içinde.

DevOps kursumuzu "Tek sprintte MVP DevOps" ve "artışlara hazır olma" paradigmasına göre oluşturduk. Ve eğer insani anlamda ise, o zaman "katılımcının geri döndüğünde hemen evde bir şeyi uygulayabilmesi ve bundan faydalanabilmesi için."

MVP DevOps: Kurs, temel DevOps süreçlerine yönelik araçlar içerir. Kendimize tüm CI/CD sistemlerini gözden geçirme ve karşılaştırma veya Kod Olarak Altyapı yaklaşımının derinliklerini ortaya çıkarma görevini belirlemedik. Tek bir net yığın sağlıyoruz: Gitlab CI/CD, Ansible, Terraform ve Packer, Molecule, Prometheus, EFK. Kurslardan gelebilir, eğitim materyallerinden pilot proje için altyapı toplayabilir ve üzerinde çalışabilirsiniz.

Slurm DevOps - uzak gelecekte güzel bir turnadan 3 gün sonra daha iyi işleyen bir baştankara

Artışlara hazırlık: Her öğeye çok sayıda pratik ve örnek sunuyoruz. Bir araç alıp eğitim çizimlerini kullanarak uygulamaya başlayabilirsiniz. Örneğin, geliştirme ortamlarını kullanıma sunmak için bir Ansible playbook yazın veya bir bot bağlayıp sunucuyu telefonunuzdan yönetin. Yani bir hafta içinde somut bir pratik sonuç elde edin. Tüm şirketin DevOps dönüşümünden son derece uzak olabilir ama oradadır, buradadır, çalışır ve fayda sağlar.

Slurm DevOps Konuları

Konu #1: Git'in en iyi uygulamaları - kendisi için konuşuyor.
Konu #2: Uygulamayla geliştirme bakış açısıyla çalışmak — Bir mühendisin, bir yöneticinin ve bir geliştiricinin yetkinliklerine ihtiyacı vardır, bu nedenle yöneticilere geliştirmeyi anlatırız.

Konu #3: CI/CD Temelleri

  • CI/CD Otomasyonuna Giriş
  • Gitlab CI Temelleri
  • gitlab-runner ile en iyi uygulamalar
  • CI/CD'nin parçası olarak bash, make, gradle araçları ve daha fazlası
  • CI sorunlarını çözmenin bir yolu olarak Docker

Konu #4: Üretimde Gitlab CI/CD

  • Bir işe başlarken rekabet
  • Yürütme kontrolü ve kısıtlamalar: yalnızca, ne zaman
  • Artefaktlarla çalışma
  • Şablonlar, içerikler ve mikro hizmetler: dağıtımı basitleştirme

Öğrencilere CI/CD'nin temel kavramlarını ve kavramlarını ve CI/CD uygulamasına yönelik araçları tanıtıyoruz. Sonuç olarak öğrenci, bağımsız olarak bir CI/CD tasarım modelini ve uygun bir uygulama aracını seçebilecektir.

Daha sonra Gitlab'da CI/CD'nin uygulanmasını gösteriyoruz ve Gitlab CI'yı kullanmanın gelişmiş yollarına bakarak kurulum boyunca ilerliyoruz. Sonuç olarak öğrenci, Gitlab CI'yı kendi projeleri için bağımsız olarak yapılandırabilecektir.

İlk DevOps Slurm'a kıyasla teoriyi 2 kat (konu başına bir saat) küçülttük, tüm sistemleri incelemekten uzaklaştık ve yalnızca Gitlab CI'yı bıraktık. Uygulamaya odaklandık ve birçok en iyi uygulamayı ekledik.

Konu #5: Kod Olarak Altyapı

  • IaC: Altyapıya Kod Olarak Yaklaşmak
  • Altyapı sağlayıcıları olarak bulut sağlayıcıları
  • Sistem başlatma araçları, görüntü oluşturma (paketleyici)
  • Örnek olarak Terraform'u kullanan IaC
  • Yapılandırma depolama, işbirliği, uygulama otomasyonu
  • Ansible başucu kitapları oluşturma alıştırması
  • İdempotluk, bildirimsellik
  • Ansible'ı örnek olarak kullanan IaC

Kullanıcı arayüzü ve openstack cli ile ilgili teorik kısmı azalttık ve uygulamaya odaklandık.
Aynı uygulamayı kullanan iki IaC yaklaşımına bakalım ve her yaklaşımın artılarını ve eksilerini gösterelim. Sonuç olarak öğrenci hangi yaklaşımı nerede kullanacağını anlayacak ve hem Terraform hem de Ansible ile çalışabilecektir.

Terraform konusunda uygulamalı olarak ekip çalışmasına ve durumu veri tabanında saklamaya bakacağız. Modüllerle çalışırken öğrenci modülü kendisi yazacak ve yapılandıracak, onunla nasıl çalışılacağını öğrenecek: yeniden kullan, versiyonlandır. Consul ile çalışmayı ekleyelim, hangi durumlarda gerekli olduğunu ve nasıl doğru kullanılacağını gösterelim.

Konu #6: Altyapı testi

  • Hadi neden test yazmadıklarını anlayalım mı?
  • IaC'de hangi testler var?
  • Statik analizörler gerçekten o kadar işe yaramaz mı?
  • Örnek olarak ansible + molekülü kullanılarak IaC'nin birim testi
  • Ci'nin bir parçası olarak test etme
  • Steroid testleri veya IaC testlerinin bitmesi için 5 saat nasıl beklenmeyeceği

Linter'lara ve onlarla çalışmaya odaklanarak teorik kısmı azalttık, Vagrant/Molecule hakkında daha az hikaye, daha fazla pratik ve doğrudan test yaptık. CI açısından bakıldığında
Testi nasıl daha hızlı hale getirebilirim? Pratikte şunlar olacaktır:

  • role bağlı olarak ana bilgisayar için zorunlu değişkenlerin varlığını kontrol eden, kendi kendine yazılan bir linter;
  • CI testine yalnızca değişen rolleri ekliyoruz; bu, test yürütme süresini önemli ölçüde azaltabilir;
  • Senaryo testi ekleme. Uygulamanın tamamını bir entegrasyon testi olarak dağıtıyoruz.

Konu #7: Prometheus ile Altyapı İzleme

  • Sağlıklı Bir İzleme Sistemi Nasıl Kurulur?
  • Satıştan önce bile analiz, geliştirme verimliliği ve kod kararlılığı için bir araç olarak izleme
  • Prometheus + alarmmanager + grafana'yı ayarlama
  • Kaynak izlemeden uygulama izlemeye geçiş

Mikro hizmetlerin izlenmesi hakkında çok konuşacağız: istek kimlikleri, API izleme aracı. Çok sayıda en iyi uygulama ve çok sayıda bağımsız çalışma olacak.

Kendi ihracatçımızı yazalım. Gitlab'da sadece üretim altyapısının ve uygulamaların değil, montajların da izlenmesini kuracağız. Başarısız olan testlerle ilgili istatistiklere bakalım. HealthCheck olmadan ve onunla izlemenin nasıl görüneceğini pratikte görelim.

8 numaralı konu. ELK ile bir uygulamayı günlüğe kaydetme

  • Elastic'e ve araçlarına genel bakış
  • ELK/Elastic Stack/x-pack - nedir ve fark nedir?
  • ElasticSearch kullanılarak hangi sorunlar çözülebilir (arama, depolama, ölçeklendirme özellikleri, yapılandırma esnekliği)
  • Altyapı izleme (x-pack)
  • Kapsayıcı ve uygulama günlükleri (x-pack)
  • Örnek olarak uygulamamızı kullanarak günlük kaydı yapma
  • Kibana ile çalışma uygulamaları
  • Amazon'dan Elasticsearch için Distro'yu açın

Konu tamamen yeniden tasarlandı, sunuculuğunu Eduard Medvedev yapıyor, birçok kişi onu DevOps ve SRE ile ilgili web seminerinde gördü. Bir eğitim uygulaması örneğini kullanarak EFK ile çalışmaya yönelik en iyi uygulamaları anlatacak ve gösterecektir. Kibana ile antrenman yapılacak.

Konu #9: ChatOps ile Altyapı Otomasyonu

  • DevOps ve ChatOps
  • ChatOps: Güçlü Yönler
  • Gevşeklik ve alternatifler
  • ChatOps için Botlar
  • Hubot ve alternatifler
  • güvenlik
  • Test
  • En iyi ve en kötü uygulamalar

ChatOps, hakların ayrılmasıyla kimlik doğrulama uygulamasını, eylemlerin başka bir kullanıcı tarafından onaylanmasını, Slack'e Mattermost biçiminde bir alternatifin teorisini ve uygulamasını, birim teorisini ve bot için entegrasyon testlerini ekledi.

DevOps krizi 30 Ocak'ta başlıyor. Fiyat - 30.
Okumayı bitirenler için habrapost promosyon kodunu kullanan DevOps kursunda %15 indirim vardır.

kayıt burada

Seni Slurms'ta gördüğüme sevindim!

Kaynak: habr.com

Yorum ekle