DevOps voor bediening en ontwikkeling - cursus RUB 124.000. van Yandex Workshop, training 6 maanden (8 uur per week), Datum: 6 december 2023.
Gemengde Berichten / / November 30, 2023
Momenteel bezig met ETL, bezig met het afronden van BI systeemmonitoring, ontwikkelen in Python, en dit alles in de Azure cloud. CI/CD gebouwd voor het BI-systeem, UI autotests geschreven in Selenium. Bij LANIT (tot 2018) creëerde hij...
Momenteel bezig met ETL, bezig met het afronden van BI systeemmonitoring, ontwikkelen in Python, en dit alles in de Azure cloud. CI/CD gebouwd voor het BI-systeem, UI autotests geschreven in Selenium. Bij LANIT (tot 2018) creëerde hij zijn eigen “Frankenstein” van Jenkins, Ansible, VMware, Telegram bot, Jira, bash- en Python-scripts voor volwaardige ChatOps, waarbij alle updates van zowel servers als tickets via een bot in werden gedaan telegram voor https://gis-tek.ru. Heeft Kubernetes ook geholpen bij het orkestreren van pagina's https://мдм.моидокументы.рф. Bij NIIAS schreef hij (tot 2016) mega-bash-scripts om de verzendservers van de Russische Spoorwegen te updaten, zodat je trein op tijd kon arriveren.
1) Versiebeheersystemen en automatisering van het bouwen van applicaties 15 uur
Je komt terecht bij een startup, ontmoet het team en vraagt je af hoe het überhaupt mogelijk is om zo te werken. Omdat je de zaken snel op orde wilt hebben, begin je te begrijpen hoe softwareontwikkeling tegenwoordig werkt en zet je de eerste stappen op weg naar het versnellen van de productie.
- Hoe werkt de softwarelevenscyclus?
- Versiebeheersystemen. Waarom kiest iedereen voor Git?
• Organiseer teamwerk met behulp van Feature Branch Workflow.
• Organiseren van de opslag van Git repositories in Gitea. - Karig:
• Muda (verlies).
• Waarde en waardestroom. - Karig:
• Automatiseringstools voor repetitieve taken.
• Frameworks voor het automatiseren van projectassemblage.
2) Flexibele methodologieën en continue integratie 15 uur
Uw startup wordt gekocht door de IT-gigant Krupnaya Kompaniya (KK). De teamleider van jouw team wordt jouw gids op het pad naar het leren van DevOps. Maar problemen met uw aanvraag verdwijnen niet. Je komt erachter dat de applicatie slecht presteert in een productieomgeving en er komen voortdurend nieuwe verzoeken om fouten te herstellen in ontwikkeling. Hierdoor stapelt het werk zich op en kun je niet eens dromen van het vrijgeven van nieuwe functionaliteit en stabiliteit.
- DevOps-problemen:
• Functionele putten.
• Neerwaartse spiraal. - Agile-methodieken en DevOps-cultuur:
• Teaminteractie.
• Moderne benaderingen. Wat veroorzaakte de opkomst van Agile?
• Drie manieren van DevOps: waardeleveringscyclus, feedbackloops, experimenteren en leren. - Continue integratie:
• Organisatie van codeopslag.
• Assemblageorganisatie.
• Organisatie van testen.
• Krijg snel feedback. - Continue integratieservers:
• Overzicht van de interface en functionaliteit van GitLab CI. - Kwaliteitsmeting en statische codebeveiligingstests:
• Analysetools voor statische codekwaliteit: SonarQube, GitLab Analyzer.
• Tools voor analyse van de beveiliging van statische code: SonarQube SAST, GitLab SAST.
3) Netwerken en basisprincipes van het werken op Linux-servers 15 uur
Je maakt kennis met de systeembeheerder KK, die je vertelt hoe het netwerk is opgebouwd en hoe alles bij hem werkt. Tijdens de demonstratie zie je dat de beheerder veel sneller wordt bestuurd door commando's en cursorbewegingen in de console, en vraag hem om je over deze technieken te vertellen. De beheerder nodigt u uit om het voorbeeld te begrijpen van de taak van het overbrengen van een service van een oude server naar een nieuwe - en tegelijkertijd een brandend probleem op te lossen.
- Basisprincipes van het werken op Linux-servers, werken met de opdrachtregel.
- Linux-schijfsubsysteem.
- Linux-gebruikersrechten.
- Basisprincipes van netwerken: problemen bij het verbinden met een externe server.
- Virtualisatie:
• Populaire hypervisors.
• Virtuele machines.
• Virtuele netwerken.
4) Continue levering en continue implementatie 20 uur
Nadat u binnen een week weer een applicatie-update op uw smartphone had ontvangen, raakte u geïnteresseerd in hoe vaak updates voor gebruikers worden ontvangen. Dat bleek helemaal niet zo vaak te zijn. Is het vaker nodig?
- Hoe werkt het leveringsproces van IT-producten:
• Wat is het leveringsproces.
• Waardestroombeheer. - Opslagsystemen voor artefacten: Nexus.
- Continue levering:
• Visualisatie van opleveringsfasen.
• Organisatie van het leveringsproces. Leveringspijplijn. Continue implementatie. - Twaalf-Factor App-methodologie.
5) Infrastructuur als code en configuratiebeheersystemen 20 uur
Dit is de eerste keer dat u een infrastructuurprobleem tegenkomt. Iemand heeft de configuratie gewijzigd van de servers van de ontwikkelaars waarop ze experimenten uitvoerden, en nu werken de servers zo slecht dat ze niet langer kunnen worden gebruikt.
- Back-up:
• Organisatie van back-up.
• Soorten back-ups.
• Rotatie van back-ups. - Infrastructuur als code: we beschrijven de infrastructuur met code, waarbij we gebruik maken van ontwikkelingservaring.
- Configuratiebeheersystemen:
• Ansible (rollen, taken, inventaris, kluis, awx).
• Bekendheid met andere systemen: Chef, Zout, Puppet.
6) DBOps: relationele en niet-relationele databases 15 uur
U heeft een afspraak met de DBA. U ontvangt bedreigende opmerkingen van gebruikers dat de site traag is. Empirisch gezien ontdek je dat de laatste update de database aanzienlijk heeft vertraagd.
- Basisprincipes van databasetheorie:
• Relationele databases: PostgreSQL.
• Basis SQL-query's.
• Hoe u de uitvoering van query's in een database kunt versnellen: optimalisatie, caching, capaciteitsgroei, indexering. - Organisatie van hoge beschikbaarheid van de database:
• DBOps-principes.
• Databasemigratie met Flyway. - Niet-relationele databases: MongoDB.
7) Docker-containerisatie en gegevensopslag 20 uur
Je bevindt je tussen twee vuren: aan de ene kant zijn er ontwikkelaars voor wie alles lokaal werkt, maar voor sommigen misschien niet; aan de andere kant is er de afdeling operations, waarvoor helemaal niets werkt. We bedenken hoe we ervoor kunnen zorgen dat alles voor iedereen even goed is, en lanceren uiteindelijk de applicatie in productie.
- Containerisatie:
• Overzicht van Linux- en Docker-containers.
• Docker-apparaat: lagen, afbeeldingen, containers, Docker-bestand, register.
• Docker-alternatieven (containerd, Podman, LXC, CRI-O). - Gegevensopslag: werken met S3, MinIO vs Ceph.
- Gevoelige gegevens opslaan en verzenden: een geweldig overzicht van Vault.
8) Microservices, balancering en caching 15 uur
U bereidt zich voor op de release van een nieuwe versie van de applicatie en wilt rekening houden met de fouten uit het verleden, toen uw dienst het verkeer niet aankon en drie dagen stil lag. Deze keer kwam er een bedrijf naar je toe en eiste dat dit niet zou gebeuren! Je raakt zo ondergedompeld in het proces dat je nieuwe coole functies en leveringsstrategieën introduceert.
- Balanceren en caching.
- Microdiensten:
• Benaderingen voor het organiseren van applicatiearchitectuur.
• Tools voor het beheren van microserviceapplicaties: Docker Compose. - Leveringsstrategieën en het kiezen van de juiste:
• Welke soorten gebruikers zijn er?
• Blauw-groene inzet.
• Kanarie-inzet.
9) Kubernetes. Implementatie en het garanderen van de betrouwbaarheid van applicaties 50 uur
Je creëert een serviceplatform om een hoogwaardige werking van de gehele leveringscyclus te garanderen.
- Containerorkestratie:
• Het draaien van de applicatie op een moderne infrastructuur.
• Waarom orkestratiesystemen nodig zijn, en hoe ze eruit zien.
• Kubernetes: redenen en doelen van ontwikkeling. - Lancering van een Kubernetes-cluster voor testen en ontwikkelen:
• Hoe u Kubernetes kunt verkrijgen: beschrijving van de 5 belangrijkste installatiemethoden.
• Eenvoudige kubectl-opdrachten parseren.
• Werken met het kubectl-hulpprogramma. - Kubernetes-architectuur:
• Belangrijkste componenten en hun interactie: planner, kubelet, kube-proxy, controllermanager, etcd en api-server. - Kernentiteiten van Kubernetes:
• Knooppunten, Podes, Services, Aanhoudende volumes, Aanhoudende volumeclaim.
• Kubernetes-manifesten.
• Gebruik van kubectl op clusterverbindingsniveau.
• Bekijk de configuratie van knooppunten, pods, geheimen, enz. - Geavanceerde Kubernetes-entiteiten:
• ReplicaSet, implementatie, DaemonSet en StatefulSet.
• Levendigheid, Gereedheidssonde + Init-containers.
• Toevoeging over kubectl: bewerken, toepassen, verwijderen, maken.
• Netwerkcommunicatie in een cluster. - Geavanceerd werken met het kubectl-hulpprogramma:
• Extra kubectl-opdrachten, vlaggen, weergave van Kubernetes-entiteiten als YAML- of JSON/YAML-bestanden.
• Implementeer de applicatie op twee manieren: via een commando en via een YAML-bestand. - Applicaties implementeren in Kubernetes:
• Implementatie van de applicatie frontend.
• Implementatie en herimplementatie via ArgoCD. - Implementatiestrategieën:
• Verbinding tussen Kubernetes en Twelve-Factor App.
• Implementatiestrategieën in Kubernetes.
• Hoe het rollback-mechanisme wordt geïmplementeerd in Kubernetes. - GitOps-praktijken voor het werken met infrastructuur.
- Een Helm-grafiek schrijven voor de implementatie van applicaties.
- ArgoCD instellen.
- Sjabloonengines gebruiken.
10) Fouten registreren en monitoren 15 uur
Uw serviceplatform werkt plotseling niet meer.
- Foutregistratie en monitoring:
• Linux-logboeken.
• Loki.
• Schildwacht - Toezicht houden:
• Soorten statistieken, typische afwijkingen.
• Waarschuwingen.
• GAP-stack (Grafana, Prometheus, Alertmanager).
• Gouden signalen.
• Statistieken op applicatieniveau. - AWS-systemen en gedistribueerde tracering.
- RUST.
- Foutregistratie en monitoring:
D
dromer-fkn
23.03.2022 G.
Goede service en een goede DevOps cursus voor operations en development
Voordelen: handig platform, goed team, goed materiaal. Nadelen: ruw materiaal De helft van de DevOps-cursus voor operations en ontwikkeling afgerond. Kwam in de tweede set. In dit opzicht is het theoretische materiaal vochtig en zijn er onnauwkeurigheden. Maar het strekt de organisatoren tot eer dat problemen snel worden opgelost. De tekortkomingen worden geëlimineerd. Een zeer vriendelijk team van curatoren en mentoren. Voor de helft...