Slurm DevOps - in better funksjonearjende tit yn 3 dagen dan in prachtige kraan yn 'e fiere takomst

Ik hâld fan in projekt fan 'e wike en ik bin yntimidearre troch projekten fan it jier. Yn Agile vond ik it konsept fan MVP en inkrement echt leuk, dit is gewoan myn ding: meitsje in wurkber stik, ymplementearje it en gean troch.

Tagelyk is DevOps-transformaasje yn 'e foarm wêryn't it wurdt besprutsen yn boeken en op konferinsjes is mar in jier lang projekt. Of yn jierren.

Wy bouden ús DevOps-kursus yn it paradigma fan "MVP DevOps yn ien sprint" en "reeheid foar stappen." En as yn minsklike termen, dan "sadat de dielnimmer, by weromkomst, daliks wat thús útfiere kin en derfan profitearje."

MVP DevOps: De kursus befettet ark foar basis DevOps-prosessen. Wy hawwe ússels net de taak steld om alle CI / CD-systemen te beoardieljen en te fergelykjen of de djipten fan 'e ynfrastruktuer as koade oanpak te iepenbierjen. Wy jouwe ien dúdlike stack: Gitlab CI / CD, Ansible, Terraform en Packer, Molecule, Prometheus, EFK. Jo kinne fan de kursussen komme, de ynfrastruktuer sammelje foar in pilotprojekt út trainingsmateriaal en dêr yn wurkje.

Slurm DevOps - in better funksjonearjende tit yn 3 dagen dan in prachtige kraan yn 'e fiere takomst

Reewilligens foar inkrementen: wy jouwe elk elemint in protte praktyk en foarbylden. Jo kinne ien ark nimme en it begjinne te ymplementearjen mei de trainingstekeningen. Skriuw bygelyks in Ansible playbook foar it útroljen fan dev-omjouwings of ferbine in bot en behearje de tsjinner fan jo tillefoan. Dat is, krije in konkreet praktysk resultaat yn in wike. It kin ûneinich fier fan 'e DevOps-transformaasje fan it heule bedriuw wêze, mar it is der, it is hjir, it wurket en bringt foardielen.

Slurm DevOps Underwerpen

Underwerp #1: Git best practices - sprekt foar himsels.
Underwerp #2: Wurkje mei de applikaasje út in ûntwikkelingspunt - in yngenieur hat de kompetinsjes nedich fan in behearder en in ûntwikkelder, dus wy fertelle admins oer ûntwikkeling.

Underwerp # 3: CI / CD Basics

  • Yntroduksje ta CI / CD Automatisearring
  • Gitlab CI Basics
  • Bêste praktiken mei gitlab-runner
  • Bash, meitsje, gradle ark as ûnderdiel fan CI / CD en mear
  • Docker as in manier om CI-problemen op te lossen

Underwerp # 4: Gitlab CI / CD yn produksje

  • Kompetysje by it begjinnen fan in baan
  • Utfieringskontrôle en beheiningen: allinich, wannear
  • Wurkje mei artefakten
  • Sjabloanen, omfettet en mikrotsjinsten: ferienfâldigje ynset

Wy yntrodusearje studinten oan de basisbegripen en begripen fan CI / CD en ark foar CI / CD ymplemintaasje. As resultaat sil de studint selsstannich in CI / CD-ûntwerppatroan kinne kieze en in gaadlik ymplemintaasjeark.

Dan litte wy de ymplemintaasje fan CI / CD yn Gitlab sjen en troch de opset rinne, nei avansearre manieren om Gitlab CI te brûken. As resultaat sil de studint Gitlab CI selsstannich kinne konfigurearje foar har eigen projekten.

Yn fergeliking mei de earste DevOps Slurm hawwe wy de teory mei 2 kear (in oere per ûnderwerp) ferlege, ferpleatst fuort fan it besjen fan alle systemen en lieten allinich Gitlab CI. Wy rjochte ús op praktyk en tafoege in protte bêste praktiken.

Underwerp #5: Ynfrastruktuer as koade

  • IaC: Approaching Infrastructure as Code
  • Wolkproviders as ynfrastruktuerproviders
  • Systeeminitialisaasjeark, byldbou (pakker)
  • IaC mei Terraform as foarbyld
  • Konfiguraasje opslach, gearwurking, applikaasje automatisearring
  • Oefenjen fan it meitsjen fan Ansible playbooks
  • Idempotinsje, declarativeness
  • IaC mei Ansible as foarbyld

Wy hawwe it teoretyske diel op UI en openstack cli fermindere en rjochte op praktyk.
Litte wy nei twa IaC-oanpakken sjen mei deselde applikaasje, en de foar- en neidielen fan elke oanpak sjen litte. As gefolch, de studint sil begripe hokker oanpak te brûken wêr, en sil by steat wêze om te wurkjen mei sawol Terraform as Ansible.

Yn it ûnderwerp oer Terraform sille wy yn 'e praktyk sjen nei teamwurk en it opslaan fan steat yn in databank. By it wurkjen mei modules sil de studint de module sels skriuwe en konfigurearje, leare hoe't se dermei wurkje: opnij brûke, ferzje it. Litte wy wurk tafoegje mei Consul, sjen litte yn hokker gefallen it nedich is en hoe't jo it korrekt brûke.

Underwerp #6: Testen fan ynfrastruktuer

  • Litte wy útfine wêrom't se gjin tests skriuwe?
  • Hokker tests binne d'r yn IaC?
  • Statyske analysatoren, binne se echt sa nutteloos?
  • Ienheidstesten fan IaC mei help fan ansible + molekule as foarbyld
  • Testen as ûnderdiel fan ci
  • Tests op steroïden of hoe net 5 oeren te wachtsjen foar IaC-tests om te foltôgjen

Wy hawwe fermindere it teoretyske diel, minder ferhalen oer Vagrant / Molecule, mear praktyk en direkte testen, mei in fokus op linters en wurkje mei harren. Sjoch it út in CI-perspektyf
hoe kinne jo testen rapper meitsje. Yn 'e praktyk sil der wêze:

  • in selsskreaun linter dy't kontrolearret foar de oanwêzigens fan ferplichte fariabelen foar de host ôfhinklik fan 'e rol;
  • Wy tafoegje oan CI-testen allinich dy rollen dy't feroare binne, wat de tiid fan testútfiering signifikant kin ferminderje;
  • taheakjen fan senario testen. Wy sette de hiele applikaasje yn as in yntegraasjetest.

Underwerp #7: Ynfrastruktuermonitoring mei Prometheus

  • Hoe kinne jo in sûn tafersjochsysteem bouwe
  • Tafersjoch as in ark foar analyse, ûntwikkeling effisjinsje en koade stabiliteit, sels foar ferkeap
  • Prometheus + alertmanager + grafana ynstelle
  • Ferhúzje fan boarnemonitoring nei tapassingsmonitoring

Wy sille in protte prate oer tafersjoch op mikrotsjinsten: fersyk-ID's, api-monitoring-ark. D'r sille in protte bêste praktiken wêze en in protte ûnôfhinklik wurk.

Litte wy ús eigen eksporteur skriuwe. Wy sille tafersjoch opstelle fan net allinich produksjeynfrastruktuer en applikaasjes, mar ek gearkomsten yn Gitlab. Litte wy nei de statistiken sjen oer mislearre tests. Litte wy yn 'e praktyk sjen hoe't tafersjoch derút sil útsjen sûnder healthCheck en dêrmei.

Underwerp nr. 8. It oanmelden fan in applikaasje mei ELK

  • Oersjoch fan Elastic en syn ark
  • ELK / Elastic Stack / x-pack - wat is wat en wat is it ferskil?
  • Hokker problemen kinne wurde oplost mei ElasticSearch (sykjen, opslach, skaalfunksjes, konfiguraasjefleksibiliteit)
  • Ynfrastruktuermonitoring (x-pack)
  • Container- en applikaasjelogboeken (x-pack)
  • Logging mei ús applikaasje as foarbyld
  • Praktyken fan wurkjen mei Kibana
  • Iepenje Distro foar Elasticsearch fan Amazon

It ûnderwerp is folslein opnij ûntwurpen, it wurdt host troch Eduard Medvedev, in protte seagen him op it webinar oer DevOps en SRE. Hy sil de bêste praktiken fertelle en demonstrearje foar it wurkjen mei EFK mei it foarbyld fan in edukative applikaasje. Der wurdt oefene mei Kibana.

Underwerp #9: Automatisearring fan ynfrastruktuer mei ChatOps

  • DevOps en ChatOps
  • ChatOps: sterke punten
  • Slack en alternativen
  • Bots foar ChatOps
  • Hubot en alternativen
  • Feiligens
  • Testing
  • Bêste en minste praktiken

ChatOps tafoege de praktyk fan autentikaasje mei skieding fan rjochten, befêstiging fan aksjes troch in oare brûker, de teory en praktyk fan in alternatyf foar Slack yn 'e foarm fan Mattermost, de teory fan ienheid en yntegraasjetests foar de bot.

DevOps slurm begjint op 30 jannewaris. Priis - 30.
Foar dyjingen dy't it lêzen hawwe foltôge, is d'r 15% koarting op 'e DevOps-kursus mei de promoasjekoade habrapost.

registraasje hjir

Ik sil bliid wêze om dy te sjen by Slurms!

Boarne: www.habr.com

Add a comment