Operasyon ve geliştirme için DevOps - kurs 124.000 RUB. Yandex Atölyesinden, eğitim 6 ay (haftada 8 saat), Tarih: 6 Aralık 2023.
Miscellanea / / November 30, 2023
Şu anda ETL ile çalışıyorum, BI sistem izlemesini sonlandırıyorum, Python'da geliştiriyorum ve tüm bunları Azure bulutunda yapıyorum. BI sistemi için CI/CD oluşturuldu, Selenium'da kullanıcı arayüzü otomatik testleri yazıldı. LANIT'te (2018'e kadar) yarattı...
Şu anda ETL ile çalışıyorum, BI sistem izlemesini sonlandırıyorum, Python'da geliştiriyorum ve tüm bunları Azure bulutunda yapıyorum. BI sistemi için CI/CD oluşturuldu, Selenium'da kullanıcı arayüzü otomatik testleri yazıldı. LANIT'te (2018'e kadar) Jenkins, Ansible, VMware, Telegram bot, Jira, bash- ve Hem sunucularda hem de biletlerde yapılan tüm güncellemelerin bir bot aracılığıyla yapıldığı tam teşekküllü ChatOps için Python komut dosyaları için telgraf https://gis-tek.ru. Ayrıca Kubernetes'in sayfaları düzenlemesine yardımcı oldu https://мдм.моидокументы.рф. NIIAS'ta (2016'ya kadar), treninizin zamanında varabilmesi için Rus Demiryolları sevkıyat sunucularını güncellemek üzere mega-bash komut dosyaları yazdı.
1) Sürüm kontrol sistemleri ve uygulama oluşturma otomasyonu 15 saat
Kendinizi bir startup'ta çalışırken buluyorsunuz, ekiple tanışıyorsunuz ve böyle çalışmanın nasıl mümkün olduğunu merak ediyorsunuz. İşleri hızlı bir şekilde düzeltmek istiyorsanız, günümüzde yazılım geliştirmenin nasıl çalıştığını anlamaya başlıyorsunuz ve üretimi hızlandırmaya yönelik ilk adımları atıyorsunuz.
- Yazılım yaşam döngüsü nasıl çalışır?
- Sürüm kontrol sistemleri. Neden herkes Git'i seçiyor?
• Özellik Şubesi İş Akışını kullanarak ekip çalışmasını düzenleyin.
• Gitea'daki Git depolarının depolanmasını organize etmek. - Eğilmek:
• Muda (Zarar).
• Değer ve değer akışı. - Eğilmek:
• Tekrarlanan görevler için otomasyon araçları.
• Proje montajını otomatikleştirmeye yönelik çerçeveler.
2) Esnek metodolojiler ve Sürekli Entegrasyon 15 saat
Girişiminiz BT devi Krupnaya Kompaniya (KK) tarafından satın alınıyor. Ekibinizin ekip lideri, DevOps'u öğrenme yolunda rehberiniz olur. Ancak başvurunuzla ilgili sorunlar ortadan kalkmaz. Uygulamanın üretim ortamında düşük performans gösterdiğini ve kusurların düzeltilmesine yönelik yeni taleplerin sürekli olarak geliştirilmeye başladığını öğreniyorsunuz. Bu nedenle iş birikir ve yeni işlevsellik ve istikrarın piyasaya sürülmesi hayal bile edilemez.
- DevOps sorunları:
• Fonksiyonel kuyular.
• Aşağıya doğru spiral. - Çevik metodolojiler ve DevOps kültürü:
• Ekip etkileşimi.
• Modern yaklaşımlar. Agile'ın ortaya çıkmasına ne sebep oldu?
• DevOps'un üç yolu: değer sağlama döngüsü, geri bildirim döngüleri, deneme ve öğrenme. - Sürekli Entegrasyon:
• Kod depolamanın organizasyonu.
• Toplantı organizasyonu.
• Testin organizasyonu.
• Hızla geri bildirim alın. - Sürekli Entegrasyon Sunucuları:
• GitLab CI'nın arayüzüne ve işlevselliğine genel bakış. - Kalite ölçümü ve statik kod güvenliği testi:
• Statik kod kalitesi analiz araçları: SonarQube, GitLab Analizörü.
• Statik kod güvenliği analiz araçları: SonarQube SAST, GitLab SAST.
3) Ağ oluşturma ve Linux sunucularında çalışmanın temelleri 15 saat
Ağın nasıl yapılandırıldığını ve kendisi için her şeyin nasıl çalıştığını size anlatan sistem yöneticisi KK ile tanışırsınız. Gösterim sırasında yöneticinin konsoldaki komutlar ve imleç hareketleri ile çok daha hızlı kontrol edildiğini görüyor ve kendisinden bu teknikleri size anlatmasını istiyorsunuz. Yönetici sizi, bir hizmeti eski bir sunucudan yenisine aktarma görevinin örneğini anlamaya ve aynı zamanda yanan bir sorunu çözmeye davet ediyor.
- Linux sunucularında çalışmanın temelleri, komut satırıyla çalışma.
- Linux disk alt sistemi.
- Linux kullanıcı hakları.
- Ağ Temelleri: Uzak bir sunucuya bağlanma sorunları.
- Sanallaştırma:
• Popüler hipervizörler.
• Sanal makineler.
• Sanal ağlar.
4) Sürekli Teslimat ve Sürekli Dağıtım 20 saat
Bir hafta içinde akıllı telefonunuza başka bir uygulama güncellemesi aldıktan sonra, güncellemelerin kullanıcılara ne sıklıkta alındığıyla ilgilenmeye başladınız. Bunun pek sık olmadığı ortaya çıktı. Daha sık gerekli mi?
- BT ürün teslim süreci nasıl işliyor:
• Teslimat süreci nedir?
• Değer Akışı yönetimi. - Eser depolama sistemleri: Nexus.
- Sürekli Teslimat:
• Teslimat aşamalarının görselleştirilmesi.
• Teslimat sürecinin organizasyonu. Teslimat Boru Hattı. Sürekli Dağıtım. - On İki Faktörlü Uygulama metodolojisi.
5) Kod Olarak Altyapı ve konfigürasyon yönetim sistemleri 20 saat
İlk defa bir altyapı sorunuyla karşılaşıyorsunuz. Birisi geliştiricilerin üzerinde deneyler yürüttüğü sunucuların yapılandırmasını değiştirdi ve artık sunucular o kadar arızalı ki artık kullanılamıyorlar.
- Destek olmak:
• Yedeklemenin organizasyonu.
• Yedekleme türleri.
• Yedeklemelerin rotasyonu. - Kod Olarak Altyapı: Geliştirme deneyimini benimseyerek altyapıyı kodla tanımlıyoruz.
- Konfigürasyon yönetim sistemleri:
• Ansible (roller, görevler, envanter, kasa, awx).
• Diğer sistemlere aşinalık: Chef, Salt, Puppet.
6) DBOps: ilişkisel ve ilişkisel olmayan veritabanları 15 saat
DBA ile görüşüyorsunuz. Kullanıcılardan sitenin yavaş olduğuna dair tehdit edici yorumlar alıyorsunuz. Deneysel olarak, en son güncellemenin veritabanını önemli ölçüde yavaşlattığını keşfedersiniz.
- Veritabanı teorisinin temelleri:
• İlişkisel veritabanları: PostgreSQL.
• Temel SQL sorguları.
• Bir veritabanında sorgu yürütülmesi nasıl hızlandırılır: optimizasyon, önbelleğe alma, kapasite artışı, indeksleme. - Veritabanının yüksek kullanılabilirliğinin organizasyonu:
• DBOps ilkeleri.
• Flyway kullanarak veritabanı geçişi. - İlişkisel olmayan veritabanları: MongoDB.
7) Docker konteynerizasyonu ve veri depolama 20 saat
Kendinizi iki ateş arasında bulacaksınız: Bir tarafta her şeyin yerel olarak çalıştığı geliştiriciler var, ancak bazıları için belki de öyle değil; diğer yanda hiçbir şeyin işe yaramadığı operasyon departmanı var. Her şeyin herkes için eşit derecede iyi olmasını nasıl sağlayacağımızı buluyoruz ve sonunda uygulamayı üretime başlatıyoruz.
- Konteynerizasyon:
• Linux ve Docker kapsayıcılarına genel bakış.
• Docker cihazı: katmanlar, görüntüler, kapsayıcılar, Docker dosyası, Kayıt Defteri.
• Docker alternatifleri (containerd, Podman, LXC, CRI-O). - Veri depolama: S3, MinIO ve Ceph ile çalışma.
- Hassas verilerin saklanması ve iletilmesi: Vault'a harika bir genel bakış.
8) Mikro hizmetler, dengeleme ve önbelleğe alma 15 saat
Uygulamanın yeni bir sürümünün yayınlanmasına hazırlanıyorsunuz ve hizmetinizin trafiği kaldıramadığı ve üç gün boyunca uzanamadığı geçmişteki hataları hesaba katmak istiyorsunuz. Bu sefer bir iş size geldi ve bunun olmamasını istedi! Sürece o kadar dalacaksınız ki, yeni harika özellikler ve dağıtım stratejileri sunacaksınız.
- Dengeleme ve önbelleğe alma.
- Mikro hizmetler:
• Uygulama mimarisini düzenlemeye yönelik yaklaşımlar.
• Mikro hizmet uygulamalarını yönetmeye yönelik araçlar: Docker Compose. - Teslimat stratejileri ve doğru olanı seçmek:
• Ne tür kullanıcılar var?
• Mavi-yeşil dağıtım.
• Kanarya dağıtımı.
9) Kubernet'ler. Dağıtım ve uygulama güvenilirliğinin sağlanması 50 saat
Tüm teslimat döngüsünün yüksek kalitede çalışmasını sağlamak için bir hizmet platformu oluşturursunuz.
- Konteyner orkestrasyonu:
• Uygulamanın modern bir altyapı üzerinde çalıştırılması.
• Orkestrasyon sistemlerine neden ihtiyaç duyulur ve nasıldırlar.
• Kubernetes: gelişimin nedenleri ve hedefleri. - Test ve geliştirme için bir Kubernetes kümesinin başlatılması:
• Kubernetes nasıl edinilir: 5 ana kurulum yönteminin açıklaması.
• Basit kubectl komutlarını ayrıştırma.
• kubectl yardımcı programıyla çalışma. - Kubernetes mimarisi:
• Ana bileşenler ve bunların etkileşimi: zamanlayıcı, kubelet, kube-proxy, denetleyici yöneticisi, vb. ve API sunucusu. - Kubernetes'in temel varlıkları:
• Düğümler, Bölmeler, Hizmetler, Kalıcı Hacimler, Kalıcı Hacim Talebi.
• Kubernetes'in tezahürleri.
• Kübectl'in küme bağlantı düzeyinde kullanılması.
• Düğümlerin, Bölmelerin, Gizli Dizilerin vb. yapılandırmasını görüntüleyin. - Gelişmiş Kubernetes varlıkları:
• ReplicaSet, Dağıtım, DaemonSet ve StatefulSet.
• Canlılık, Hazırlık probu + Kapları başlat.
• Kubectl hakkında ekleme: düzenleme, uygulama, silme, oluşturma.
• Bir kümedeki ağ iletişimi. - Kubectl yardımcı programıyla ileri düzeyde çalışma:
• Ek kubectl komutları, bayraklar, Kubernetes varlıklarının YAML veya JSON/YAML dosyaları olarak temsil edilmesi.
• Uygulamayı iki şekilde dağıtın: komut kullanarak ve YAML dosyası aracılığıyla. - Uygulamaları Kubernetes'e dağıtma:
• Uygulama ön ucunun dağıtımı.
• ArgoCD aracılığıyla dağıtım ve yeniden dağıtım. - Dağıtım stratejileri:
• Kubernetes ile Twelve-Factor Uygulaması arasındaki bağlantı.
• Kubernetes'te dağıtım stratejileri.
• Kubernetes'te geri alma mekanizmasının nasıl uygulandığı. - Altyapıyla çalışmaya yönelik GitOps uygulamaları.
- Uygulama dağıtımı için Helm grafiği yazma.
- ArgoCD'yi ayarlama.
- Şablon motorlarını kullanma.
10) Hataların kaydedilmesi ve izlenmesi 15 saat
Hizmet platformunuz aniden çalışmayı durdurur.
- Hata günlüğü ve izleme:
• Linux günlükleri.
• Loki.
• Nöbetçi - İzleme:
• Metrik türleri, tipik anormallikler.
• Uyarılar.
• GAP yığını (Grafana, Prometheus, Alertmanager).
• Altın Sinyaller.
• Uygulama düzeyi metrikleri. - AWS sistemleri ve dağıtılmış izleme.
- SAKİN.
- Hata günlüğü ve izleme:
D
hayalperest-fkn
23.03.2022 G.
Operasyonlar ve geliştirme için iyi hizmet ve iyi bir DevOps kursu
Avantajları: Uygun platform, iyi ekip, iyi malzeme. Dezavantajları: ham malzeme Operasyonlar ve geliştirme için DevOps kursunun yarısını tamamladım. İkinci sete çıktık. Bu bakımdan teorik materyal nemli ve yanlışlıklar var. Ancak organizatörlerin takdirine göre sorunlar hızla çözülüyor. Eksiklikler giderilir. Küratörler ve mentorlardan oluşan çok arkadaş canlısı bir ekip. Yarısı için...