DevOps for drift og utvikling - kurs 124 000 RUB. fra Yandex Workshop, trening 6 måneder (8 timer per uke), Dato: 6. desember 2023.
Miscellanea / / November 30, 2023
Jobber for tiden med ETL, ferdigstiller BI-systemovervåking, utvikler i Python og alt dette i Azure-skyen. Bygget CI/CD for BI-systemet, skrev UI-autotester i Selenium. På LANIT (til 2018) opprettet han...
Jobber for tiden med ETL, ferdigstiller BI-systemovervåking, utvikler i Python og alt dette i Azure-skyen. Bygget CI/CD for BI-systemet, skrev UI-autotester i Selenium. På LANIT (til 2018) skapte han sin egen "Frankenstein" fra Jenkins, Ansible, VMware, Telegram bot, Jira, bash- og Python-skript for fullverdige ChatOps, der alle oppdateringer til både servere og billetter ble gjort gjennom en bot i telegram for https://gis-tek.ru. Hjalp også Kubernetes med å orkestrere sider https://мдм.моидокументы.рф. På NIIAS (til 2016) skrev han mega-bash-skript for å oppdatere Russian Railways ekspedisjonsservere slik at toget ditt kunne ankomme i tide.
1) Versjonskontrollsystemer og applikasjonsbyggingsautomatisering 15 timer
Du finner deg selv i å jobbe i en oppstart, møter teamet og lurer på hvordan det i det hele tatt er mulig å jobbe slik. Når du ønsker å få ting riktig raskt, begynner du å forstå hvordan programvareutvikling fungerer i disse dager og tar de første skrittene mot å akselerere produksjonen.
- Hvordan fungerer programvarens livssyklus?
- Versjonskontrollsystemer. Hvorfor velger alle Git?
• Organiser teamarbeid ved å bruke funksjonsgrenens arbeidsflyt.
• Organisering av lagring av Git-depoter i Gitea. - Lene seg:
• Muda (Tap).
• Verdi og verdistrøm. - Lene seg:
• Automatiseringsverktøy for repeterende oppgaver.
• Rammer for automatisering av prosjektmontering.
2) Fleksible metoder og kontinuerlig integrasjon 15 timer
Oppstarten din blir kjøpt av IT-giganten Krupnaya Kompaniya (KK). Teamlederen til teamet ditt blir din guide på veien til å lære DevOps. Men problemer med søknaden din forsvinner ikke. Du finner ut at applikasjonen yter dårlig i et produksjonsmiljø, og det kommer stadig nye forespørsler om å fikse feil. På grunn av dette akkumuleres arbeid, og man kan ikke engang drømme om å frigjøre ny funksjonalitet og stabilitet.
- DevOps-problemer:
• Funksjonelle brønner.
• Nedadgående spiral. - Agile metoder og DevOps-kultur:
• Teaminteraksjon.
• Moderne tilnærminger. Hva forårsaket fremveksten av Agile?
• Tre måter for DevOps: verdileveringssyklus, tilbakemeldingssløyfer, eksperimentering og læring. - Kontinuerlig integrering:
• Organisering av kodelagring.
• Monteringsorganisering.
• Organisering av testing.
• Få tilbakemelding raskt. - Kontinuerlig integrasjonsservere:
• Oversikt over grensesnittet og funksjonaliteten til GitLab CI. - Kvalitetsmåling og sikkerhetstesting av statisk kode:
• Verktøy for analyse av statisk kodekvalitet: SonarQube, GitLab Analyzer.
• Sikkerhetsanalyseverktøy for statisk kode: SonarQube SAST, GitLab SAST.
3) Nettverk og grunnleggende arbeid på Linux-servere 15 timer
Du møter systemansvarlig KK, som forteller deg hvordan nettverket er bygget opp og hvordan alt fungerer for ham. Under demonstrasjonen ser du at adminen blir mye raskere kontrollert av kommandoer og markørbevegelser i konsollen, og ber ham fortelle deg om disse teknikkene. Administratoren inviterer deg til å forstå eksemplet på oppgaven med å overføre en tjeneste fra en gammel server til en ny - samtidig løse et brennende problem.
- Grunnleggende om å jobbe på Linux-servere, arbeid med kommandolinjen.
- Linux-diskundersystem.
- Linux brukerrettigheter.
- Grunnleggende om nettverk: Problemer med å koble til en ekstern server.
- Virtualisering:
• Populære hypervisorer.
• Virtuelle maskiner.
• Virtuelle nettverk.
4) Kontinuerlig levering og kontinuerlig distribusjon 20 timer
Etter å ha mottatt en ny applikasjonsoppdatering på smarttelefonen din i løpet av en uke, ble du interessert i hvor ofte oppdateringer mottas til brukere. Det viste seg ikke ofte i det hele tatt. Er det nødvendig oftere?
- Hvordan fungerer leveringsprosessen for IT-produkter:
• Hva er leveringsprosessen.
• Verdistrømadministrasjon. - Artefaktlagringssystemer: Nexus.
- Kontinuerlig levering:
• Visualisering av leveringsstadier.
• Organisering av leveringsprosessen. Leveringsrørledning. Kontinuerlig distribusjon. - Tolv-faktor app-metodikk.
5) Infrastruktur som kode og konfigurasjonsstyringssystemer 20 timer
Dette er første gang du støter på et infrastrukturproblem. Noen endret konfigurasjonen av utviklernes servere de kjørte eksperimenter på, og nå fungerer serverne så feil at de ikke lenger kan brukes.
- Sikkerhetskopiering:
• Organisering av backup.
• Typer sikkerhetskopiering.
• Rotasjon av sikkerhetskopier. - Infrastruktur som kode: vi beskriver infrastrukturen med kode, og tar i bruk utviklingserfaring.
- Konfigurasjonsstyringssystemer:
• Ansible (roller, oppgaver, inventar, hvelv, awx).
• Kjennskap til andre systemer: Chef, Salt, Puppet.
6) DBOps: relasjonelle og ikke-relasjonelle databaser 15 timer
Du møter med DBA. Du mottar truende kommentarer fra brukere om at siden er treg. Empirisk oppdager du at den siste oppdateringen har bremset databasen betydelig.
- Grunnleggende om databaseteori:
• Relasjonsdatabaser: PostgreSQL.
• Grunnleggende SQL-spørringer.
• Hvordan øke hastigheten på kjøring av spørringer i en database: optimalisering, caching, kapasitetsvekst, indeksering. - Organisering av høy tilgjengelighet av databasen:
• DBOps-prinsipper.
• Databasemigrering med Flyway. - Ikke-relasjonelle databaser: MongoDB.
7) Docker containerisering og datalagring 20 timer
Du vil befinne deg mellom to branner: på den ene siden er det utviklere som alt fungerer lokalt for, men for noen av dem, kanskje ikke; på den annen side er det driftsavdelingen, som ingenting fungerer for i det hele tatt. Vi finner ut hvordan vi skal sørge for at alt er like bra for alle, og lanserer til slutt applikasjonen i produksjon.
- Containerisering:
• Oversikt over Linux- og Docker-beholdere.
• Docker-enhet: lag, bilder, containere, Docker-fil, register.
• Docker-alternativer (containerd, Podman, LXC, CRI-O). - Datalagring: arbeider med S3, MinIO vs Ceph.
- Lagring og overføring av sensitive data: en flott oversikt over Vault.
8) Mikrotjenester, balansering og caching 15 timer
Du forbereder deg på utgivelsen av en ny versjon av applikasjonen og ønsker å ta hensyn til fortidens feil, da tjenesten din ikke kunne håndtere trafikken og ble liggende i tre dager. Denne gangen kom en bedrift til deg og krevde at dette ikke skulle skje! Du vil bli så oppslukt av prosessen at du vil introdusere nye kule funksjoner og leveringsstrategier.
- Balansering og caching.
- Mikrotjenester:
• Tilnærminger til organisering av applikasjonsarkitektur.
• Verktøy for å administrere mikrotjenesteapplikasjoner: Docker Compose. - Leveringsstrategier og valg av riktig:
• Hvilke typer brukere finnes det?
• Blågrønn utplassering.
• Kanarie-utplassering.
9) Kubernetes. Implementering og sikring av applikasjonspålitelighet 50 timer
Du lager en tjenesteplattform for å sikre høykvalitets drift av hele leveringssyklusen.
- Container orkestrering:
• Kjøre applikasjonen på en moderne infrastruktur.
• Hvorfor orkestreringssystemer trengs, og hvordan de er.
• Kubernetes: årsaker og mål for utvikling. - Lansering av en Kubernetes-klynge for testing og utvikling:
• Hvordan få Kubernetes: beskrivelse av de 5 viktigste installasjonsmetodene.
• Parsing av enkle kubectl-kommandoer.
• Arbeide med kubectl-verktøyet. - Kubernetes arkitektur:
• Hovedkomponenter og deres interaksjon: planlegger, kubelet, kube-proxy, kontrolleransvarlig, etcd og api-server. - Kjerneenheter i Kubernetes:
• Noder, poder, tjenester, vedvarende volumer, vedvarende volumkrav.
• Kubernetes manifesterer.
• Bruke kubectl på klyngetilkoblingsnivå.
• Se konfigurasjon av noder, poder, hemmeligheter, etc. - Avanserte Kubernetes-enheter:
• ReplicaSet, Deployment, DaemonSet og StatefulSet.
• Liveness, Readiness sonde + Init containere.
• Tilføyelse om kubectl: rediger, bruk, slett, opprett.
• Nettverkskommunikasjon i en klynge. - Avansert arbeid med kubectl-verktøyet:
• Ytterligere kubectl-kommandoer, flagg, representasjon av Kubernetes-enheter som YAML- eller JSON/YAML-filer.
• Distribuer applikasjonen på to måter: ved hjelp av en kommando og via en YAML-fil. - Distribuere applikasjoner til Kubernetes:
• Utrulling av applikasjonsgrensesnittet.
• Distribusjon og re-distribusjon via ArgoCD. - Implementeringsstrategier:
• Tilkobling mellom Kubernetes og Twelve-Factor App.
• Implementeringsstrategier i Kubernetes.
• Hvordan tilbakerullingsmekanismen er implementert i Kubernetes. - GitOps-praksis for å jobbe med infrastruktur.
- Skrive et rordiagram for applikasjonsdistribusjon.
- Sette opp ArgoCD.
- Bruke malmotorer.
10) Logg- og overvåkingsfeil 15 timer
Tjenesteplattformen din slutter plutselig å fungere.
- Feillogging og overvåking:
• Linux-logger.
• Loke.
• Vaktvakt - Overvåkning:
• Typer beregninger, typiske anomalier.
• Varsler.
• GAP stack (Grafana, Prometheus, Alertmanager).
• Gylne signaler.
• Beregninger på applikasjonsnivå. - AWS-systemer og distribuert sporing.
- ROLIGER.
- Feillogging og overvåking:
D
drømmer-fkn
23.03.2022 G.
God service og et godt DevOps-kurs for drift og utvikling
Fordeler: praktisk plattform, godt team, godt materiale. Ulemper: råmateriale Fullført halvparten av DevOps-kurset for drift og utvikling. Kom inn i det andre settet. I denne forbindelse er det teoretiske materialet fuktig og det er unøyaktigheter. Men til ære for arrangørene løses problemer raskt. Manglene er eliminert. Et veldig vennlig team av kuratorer og mentorer. For halvparten...