DevOps dla eksploatacji i rozwoju - kurs 124 000 RUB. z Yandex Workshop, szkolenie 6 miesięcy (8 godzin tygodniowo), data: 6 grudnia 2023 r.
Miscellanea / / November 30, 2023
Aktualnie pracuję z ETL, finalizuję monitorowanie systemu BI, rozwijam się w Pythonie, a wszystko to w chmurze Azure. Zbudowałem CI/CD dla systemu BI, napisałem autotesty UI w Selenium. W LANIT (do 2018 roku) tworzył...
Aktualnie pracuję z ETL, finalizuję monitorowanie systemu BI, rozwijam się w Pythonie, a wszystko to w chmurze Azure. Zbudowałem CI/CD dla systemu BI, napisałem autotesty UI w Selenium. W LANIT (do 2018) stworzył własnego „Frankensteina” z Jenkins, Ansible, VMware, Telegram bot, Jira, bash- i Skrypty Pythona dla pełnoprawnych ChatOps, w których wszystkie aktualizacje zarówno serwerów, jak i zgłoszeń odbywały się za pośrednictwem bota w telegram za https://gis-tek.ru. Pomógł także Kubernetesowi w koordynowaniu stron https://мдм.моидокументы.рф. W NIIAS (do 2016 r.) pisał skrypty mega-bash, aby aktualizować serwery wysyłkowe kolei rosyjskich, aby Twój pociąg mógł przyjechać na czas.
1) Systemy kontroli wersji i automatyzacja budowania aplikacji 15 godzin
Pracujesz w startupie, spotykasz zespół i zastanawiasz się, jak to w ogóle możliwe, aby tak pracować. Chcąc szybko wszystko naprawić, zaczynasz rozumieć, jak obecnie wygląda tworzenie oprogramowania i robisz pierwsze kroki w kierunku przyspieszenia produkcji.
- Jak wygląda cykl życia oprogramowania?
- Systemy kontroli wersji. Dlaczego wszyscy wybierają Gita?
• Organizuj pracę zespołową za pomocą przepływu pracy w gałęziach funkcji.
• Organizowanie przechowywania repozytoriów Git w Gitea. - Pochylać się:
• Muda (strata).
• Wartość i strumień wartości. - Pochylać się:
• Narzędzia automatyzacji powtarzalnych zadań.
• Frameworki do automatyzacji montażu projektów.
2) Elastyczne metodyki i ciągła integracja 15 godzin
Twój startup kupuje gigant IT Krupnaya Kompaniya (KK). Lider Twojego zespołu staje się Twoim przewodnikiem na ścieżce nauki DevOps. Ale problemy z aplikacją nie znikają. Dowiadujesz się, że aplikacja słabo radzi sobie w środowisku produkcyjnym i stale pojawiają się nowe prośby o naprawienie defektów. Przez to praca się kumuluje i o wypuszczeniu nowej funkcjonalności i stabilności nawet nie można marzyć.
- Problemy z DevOpsem:
• Studnie funkcjonalne.
• Spirala. - Metodyki zwinne i kultura DevOps:
• Interakcja w zespole.
• Nowoczesne podejścia. Co spowodowało pojawienie się Agile?
• Trzy sposoby DevOps: cykl dostarczania wartości, pętle informacji zwrotnej, eksperymentowanie i uczenie się. - Ciągła integracja:
• Organizacja przechowywania kodów.
• Organizacja zgromadzeń.
• Organizacja testów.
• Szybko uzyskaj informację zwrotną. - Serwery ciągłej integracji:
• Przegląd interfejsu i funkcjonalności GitLab CI. - Pomiar jakości i testowanie bezpieczeństwa kodu statycznego:
• Narzędzia do analizy jakości kodu statycznego: SonarQube, GitLab Analyzer.
• Narzędzia do analizy bezpieczeństwa kodu statycznego: SonarQube SAST, GitLab SAST.
3) Sieć i podstawy pracy na serwerach Linux 15 godzin
Spotykasz administratora systemu KK, który opowiada Ci, jak zbudowana jest sieć i jak wszystko u niego działa. Podczas demonstracji widzisz, że administratorem można znacznie szybciej sterować za pomocą poleceń i ruchów kursora w konsoli, i poproś go, aby opowiedział Ci o tych technikach. Administrator zaprasza do zrozumienia przykładu zadania przeniesienia usługi ze starego serwera na nowy - przy jednoczesnym rozwiązaniu palącego problemu.
- Podstawy pracy na serwerach Linux, praca z linią poleceń.
- Podsystem dyskowy Linuksa.
- Prawa użytkownika Linuksa.
- Podstawy sieci: Problemy z połączeniem się ze zdalnym serwerem.
- Wirtualizacja:
• Popularne hypervisory.
• Wirtualne maszyny.
• Sieci wirtualne.
4) Ciągłe dostarczanie i ciągłe wdrażanie 20 godzin
Po otrzymaniu w ciągu tygodnia kolejnej aktualizacji aplikacji na smartfonie zainteresowałeś się, jak często aktualizacje otrzymują użytkownicy. Okazało się, że wcale nie często. Czy jest to konieczne częściej?
- Jak wygląda proces dostarczania produktów IT:
• Jaki jest proces dostawy.
• Zarządzanie strumieniem wartości. - Systemy przechowywania artefaktów: Nexus.
- Ciągła dostawa:
• Wizualizacja etapów dostawy.
• Organizacja procesu dostaw. Rurociąg dostaw. Ciągłe wdrażanie. - Metodologia aplikacji dwunastu czynników.
5) Infrastruktura jako systemy zarządzania kodem i konfiguracją 20 godzin
Po raz pierwszy napotykasz problem z infrastrukturą. Ktoś zmienił konfigurację serwerów programistów, na których przeprowadzano eksperymenty, i teraz serwery działają tak źle, że nie można ich już używać.
- Kopia zapasowa:
• Organizacja kopii zapasowych.
• Rodzaje kopii zapasowych.
• Rotacja kopii zapasowych. - Infrastruktura jako kod: opisujemy infrastrukturę kodem, czerpiąc z doświadczeń deweloperskich.
- Systemy zarządzania konfiguracją:
• Ansible (role, zadania, inwentarz, skarbiec, awx).
• Znajomość innych systemów: Chef, Salt, Puppet.
6) DBOps: relacyjne i nierelacyjne bazy danych 15 godzin
Spotykasz się z DBA. Otrzymujesz komentarze z pogróżkami od użytkowników, że witryna działa wolno. Empirycznie okazuje się, że najnowsza aktualizacja znacznie spowolniła bazę danych.
- Podstawy teorii baz danych:
• Relacyjne bazy danych: PostgreSQL.
• Podstawowe zapytania SQL.
• Jak przyspieszyć wykonywanie zapytań w bazie danych: optymalizacja, buforowanie, zwiększanie pojemności, indeksowanie. - Organizacja wysokiej dostępności bazy danych:
• Zasady DBOps.
• Migracja bazy danych za pomocą Flyway. - Nierelacyjne bazy danych: MongoDB.
7) Konteneryzacja Dockera i przechowywanie danych 20 godzin
Znajdziesz się pomiędzy dwoma pożarami: z jednej strony są deweloperzy, dla których wszystko działa lokalnie, ale dla niektórych być może nie; z drugiej strony jest dział operacyjny, dla którego zupełnie nic nie działa. Zastanawiamy się, jak zadbać o to, aby wszystkim było tak samo dobrze i finalnie uruchamiamy aplikację w wersji produkcyjnej.
- Konteneryzacja:
• Przegląd kontenerów Linux i Docker.
• Urządzenie Docker: warstwy, obrazy, kontenery, plik Docker, Rejestr.
• Alternatywy dla Dockera (containerd, Podman, LXC, CRI-O). - Przechowywanie danych: praca z S3, MinIO vs Ceph.
- Przechowywanie i przesyłanie wrażliwych danych: świetny przegląd Vault.
8) Mikrousługi, równoważenie i buforowanie 15 godzin
Przygotowujesz się do wydania nowej wersji aplikacji i chcesz wziąć pod uwagę błędy z przeszłości, gdy Twój serwis nie radził sobie z ruchem i leżał przez trzy dni. Tym razem przyszła do Ciebie firma i zażądała, aby tak się nie działo! Będziesz tak zanurzony w procesie, że wprowadzisz nowe fajne funkcje i strategie dostarczania.
- Równoważenie i buforowanie.
- Mikrousługi:
• Podejścia do organizacji architektury aplikacji.
• Narzędzia do zarządzania aplikacjami mikroserwisowymi: Docker Compose. - Strategie dostaw i wybór właściwej:
• Jakie są typy użytkowników?
• Wdrożenie niebiesko-zielone.
• Wdrożenie na Wyspach Kanaryjskich.
9) Kubernetesa. Wdrożenie i zapewnienie niezawodności aplikacji 50 godzin
Tworzysz platformę usługową, która zapewnia wysoką jakość działania całego cyklu dostaw.
- Orkiestracja kontenerów:
• Uruchamianie aplikacji na nowoczesnej infrastrukturze.
• Dlaczego potrzebne są systemy orkiestracji i jakie one są.
• Kubernetes: przyczyny i cele rozwoju. - Uruchomienie klastra Kubernetes do testów i rozwoju:
• Jak zdobyć Kubernetes: opis 5 głównych metod instalacji.
• Analizowanie prostych poleceń kubectl.
• Praca z narzędziem kubectl. - Architektura Kubernetesa:
• Główne komponenty i ich interakcja: harmonogram, kubelet, kube-proxy, menedżer kontrolerów, itp. i serwer API. - Podstawowe podmioty Kubernetes:
• Węzły, Pody, Usługi, Woluminy trwałe, Roszczenia dotyczące wolumenów trwałych.
• Manifesty Kubernetesa.
• Używanie kubectl na poziomie połączenia klastra.
• Zobacz konfigurację węzłów, kapsuł, sekretów itp. - Zaawansowane encje Kubernetes:
• ReplicaSet, Deployment, DaemonSet i StatefulSet.
• Żywotność, sonda gotowości + pojemniki początkowe.
• Dodatek o kubectl: edytuj, zastosuj, usuń, utwórz.
• Komunikacja sieciowa w klastrze. - Zaawansowana praca z narzędziem kubectl:
• Dodatkowe polecenia kubectl, flagi, reprezentacja encji Kubernetes jako pliki YAML lub JSON/YAML.
• Wdróż aplikację na dwa sposoby: za pomocą polecenia i poprzez plik YAML. - Wdrażanie aplikacji na Kubernetes:
• Wdrożenie frontendu aplikacji.
• Wdrażanie i ponowne wdrażanie za pośrednictwem ArgoCD. - Strategie wdrażania:
• Połączenie pomiędzy Kubernetesem a aplikacją Twelve-Factor.
• Strategie wdrożeniowe w Kubernetes.
• Jak zaimplementowano mechanizm rollback w Kubernetesie. - Praktyki GitOps dotyczące pracy z infrastrukturą.
- Pisanie wykresu Helma do wdrożenia aplikacji.
- Konfigurowanie ArgoCD.
- Korzystanie z silników szablonów.
10) Błędy rejestrowania i monitorowania 15 godzin
Twoja platforma usługowa nagle przestaje działać.
- Rejestrowanie i monitorowanie błędów:
• Dzienniki systemu Linux.
• Loki.
• Wartownik - Monitorowanie:
• Rodzaje metryk, typowe anomalie.
• Alerty.
• Stos GAP (Grafana, Prometheus, Alertmanager).
• Złote sygnały.
• Metryki na poziomie aplikacji. - Systemy AWS i śledzenie rozproszone.
- Uspokaja.
- Rejestrowanie i monitorowanie błędów:
D
marzyciel-fkn
23.03.2022 G.
Dobra obsługa i dobry kurs DevOps w zakresie operacji i rozwoju
Zalety: wygodna platforma, dobry zespół, dobry materiał. Wady: surowy materiał Ukończono połowę kursu DevOps w zakresie operacji i rozwoju. Dotarłem do drugiego seta. Pod tym względem materiał teoretyczny jest wilgotny i występują nieścisłości. Ale trzeba przyznać organizatorom, że problemy zostały szybko rozwiązane. Niedociągnięcia zostały wyeliminowane. Bardzo przyjazny zespół kuratorów i mentorów. Za połowę...