Automatizēsim IT infrastruktūru.
Bija laiks, kad viss, kas bija saistīts ar infrastruktūras uzstādīšanu, konfigurēšanu, apkopi, tika darīts manuāli. Agrāk komandā iesaistījās daudzi cilvēki. Visas lietas bija manuālas. Šim procesam bija ievērojams cilvēku kļūdu risks, kas izraisīja sliktu lietojumprogrammu pieejamību, drošību un veiktspēju.
Nedrīkst aizmirst arī kopējās infrastruktūras izmaksas.
Taču, pateicoties modernajām tehnoloģijām un filozofijai, piemēram, DevOps, tā vairs nav problēma.
Tagad mums ir vairāki rīki, lai veiktu infrastruktūras izveides, izvietošanas un pārvaldības uzdevumus. Izmantojot pareizo programmatūru, var automatizēt visu infrastruktūru ar mazāku cilvēku līdzdalību. Es nerunāju par vienkāršām lietām, bet gan par sarežģītiem uzdevumiem, piemēram, infrastruktūras nodrošināšanu, visas lietojumprogrammas iestatīšanu utt.
Infrastruktūras automatizācija ir aparatūras/programmatūras komponentu, operētājsistēmas, tīkla komponentu, datu uzglabāšanas komponentu izvietošanas process, izmantojot IaC (Infrastructure as Code). Šajā procesā cilvēka iejaukšanās ir paredzēta tikai tāda koda rakstīšanai, kurā būs visas detaļas, lai izveidotu un izvietotu nepieciešamos komponentus.
Šeit ir saraksts ar populārākajiem infrastruktūras automatizācijas rīkiem, ko plaši izmanto nozarē.
Ansible
Ansible ir bezaģentu atvērtā pirmkoda IT dzinējs, kas automatizē lietojumprogrammu izvietošanu, konfigurācijas pārvaldību, IT orķestrēšanu. Tas tika dibināts 2012. gadā un ir uzrakstīts pašlaik populārākajā valodā Python. Lai ieviestu visu automatizāciju, Ansible izmanto rokasgrāmatu, kurā visas konfigurācijas ir rakstītas cilvēkiem lasāmā YAML valodā.
Ja esat iesācējs, izlasiet šo Ansible ievadu.
Ansible ir arhitektūra bez aģentiem, kas nozīmē, ka jums nav jāinstalē programmatūra atsevišķi visos serveros. Tas seko uz push balstītam modelim, kurā jums ir jābūt vietējai sistēmai ar visām nepieciešamajām konfigurācijām, un šīs konfigurācijas tiek nosūtītas uz mērķa serveriem.
Iespējamās īpašības:
- Automatizācija ar vienkāršu, cilvēkiem lasāmu valodu
- Arhitektūra bez aģentiem, jūs varat izveidot savienojumu ar serveriem, izmantojot vienkāršu SSH.
- Push modelis nosūta konfigurācijas serverim no vietējās mašīnas, kuru pārvaldāt.
- Izstrādāts uz Python, tāpēc tas atbalsta daudzas Python bibliotēkas un funkcijas.
- Red Hat inženieru komandas izstrādāta Ansible moduļu kolekcija.
Uzņēmumam Red Hat piedāvā Ansible Tower.
Iespējamās prasmes ir piemērotas sistēmas administratoram, izstrādātājam, infrastruktūru inženierim, un, ja jums ir nepieciešams nedaudz iedarbināt, skatiet šo Udemy apmācība.
SaltStack
SaltStack var ātri veikt infrastruktūras pārvaldību, konfigurācijas pārvaldību, orķestrēšanu. Salīdzinot ar citiem līdzīgiem rīkiem, piemēram, Chef un Puppet, SaltStack ātrais ātrums šeit ir ievērojams atšķirības faktors. Tā sākotnējā izlaišana notika 2011. gadā, un, tāpat kā Ansible, tas ir rakstīts arī Python valodā.
Tam ir galvenā-vergu arhitektūra, kur Salt Master ir galvenais dēmons, kas pārvalda visu, un Salt Minions ir vergu dēmoni, kas instalēti katrā pārvaldītajā sistēmā, lai izpildītu Salt Master nosūtītās instrukcijas. Salt Master nosūta nepieciešamo konfigurāciju un komandas Salt Minions, un Salt Minions izpilda tās savā mašīnā, lai izmantotu visu IT automatizāciju.
SaltStack funkcijas:
- Paredzēts mērogiem un ātrumam, tas var apstrādāt līdz 10 000 minioniem uz vienu meistaru.
- Ļoti viegli iestatīt, tai ir viena attālās izpildes arhitektūra.
- SaltStack konfigurācijas faili atbalsta visu veidu valodas.
- Tā var paralēli izpildīt komandas attālās sistēmās, kas palīdz ātri pielietot automatizāciju.
- Nodrošina vienkāršu programmēšanas saskarni, izmantojot Python API.
Pavārs
Viens no galvenajiem ražošanas incidentu cēloņiem ir nekonsekventa lietojumprogramma vai infrastruktūru konfigurācija. Tā ir izplatīta problēma, un Pavārs mērķis ir to novērst.
Chef ir konfigurācijas pārvaldības rīks infrastruktūras pārvaldīšanai. Tas ir uzrakstīts Ruby valodā, un sākotnējā izlaišana notika 2009. gadā, izmantojot OpsCode.
Pavāra infrastruktūras pārvaldība produkts nodrošina katras vides atbilstību tām pašām infrastruktūras konfigurācijām. Tas nodrošina dažādus infrastruktūras pārvaldības rīkus, piemēram, Chef Infra, Chef Automate, Chef Enterprise un Chef Community.
Pavāra infrastruktūras pārvaldības funkcijas:
- Konfigurācijas ir rakstītas YAML, viegli apgūstot cilvēkiem lasāmo valodu.
- Tam ir vairāki izstrādes rīki pavārgrāmatu (konfigurāciju) rakstīšanai, testēšanai un atkarības izšķiršanai.
- Vienkāršas sadarbības iespējas uzņēmuma izdevumā, lai viegli apstrādātu sarežģītas vides.
- Atbalstiet integrāciju ar simtiem DevOps rīku, piemēram, GitHub, Jenkins, Azure Terraform.
Skrūve
Skrūve ir viens no Puppet atvērtā pirmkoda projektiem.
Tas ir IT automatizācijas orķestrēšanas rīks bez aģentiem. Izmantojot Bolt, jūs varat automatizēt visus savus manuālos uzdevumus, kas jums jāveic šodien atbilstoši nepieciešamībai. Es runāju par tādiem uzdevumiem kā lietojumprogrammas izvietošana, serveru problēmu novēršana, pakalpojuma restartēšanas pārtraukšana, sistēmu ielāpošana un atjaunināšana utt.
Tā kā Bolt nav aģentu, jums nav jāinstalē aģenta programmatūra attālajās mērķa iekārtās. Jums ir jāinstalē Bolt savā lokālajā sistēmā, un jūs varat savienot attālās mērķa sistēmas, izmantojot SSH vai WinRM.
Skrūvju īpašības:
- Uzrakstiet skrūvju plānu (komandu, skriptu un uzdevumu kombinācija) YAML, kas ir vienkārši lietojams un apgūstams.
- Daudzi esošie plāni un darbplūsmas ir pieejami no Leļļu kalve (moduļu bibliotēka).
- Viegli pārvietojiet savu automatizāciju no Bolt uz Puppet Enterprise, lai nodrošinātu labāku mērogojamību.
Terraforma
Terraforma ir atvērtā pirmkoda infrastruktūras nodrošināšanas rīks, ko izmanto, lai izveidotu un izvietotu infrastruktūru, izmantojot infrastruktūru kā kodu (IaC). Hashicorp to ir izstrādājis, un sākotnējā izlaišana notika 2014. gadā.
Apskatiet Terraform ievadu iesācējiem.
Terraform diezgan labi darbojas ar tādiem mākoņpakalpojumu sniedzējiem kā AWS, Azure, GCP, Alibaba. Varat ērti izvietot un pārvaldīt savu infrastruktūru jebkurā no šiem mākoņpakalpojumu sniedzējiem, izmantojot Terraform. Pašlaik terraformu plaši izmanto daudzas organizācijas savu Kubernetes klasteru pārvaldīšanai.
Terraformas priekšrocības:
- Viegli pārvalda nemainīgas infrastruktūras konfigurāciju.
- Var veikt pilnīgu infrastruktūras sakārtošanu, ne tikai konfigurācijas pārvaldību.
- Izmanto HashiCorp konfigurācijas valodu (HCL), kas ir cilvēkiem lasāma un ļoti viegli apgūstama.
- Nodrošina gatavus moduļus un nodrošinātājus simtiem rīku un tehnoloģiju terraformu reģistrs.
Kad esat nolēmis to izmantot, neaizmirstiet ievērot šos Terraform labāko praksi.
Secinājums
Tas bija mans saraksts ar populārākajiem infrastruktūras automatizācijas risinājumiem, kas piedāvā produktus vidēja lieluma organizācijām līdz uzņēmuma līmenim. Ja jūs nokļūstat DevOps domēnā un vēlaties automatizēt savu infrastruktūru un ar to saistītos monotonos uzdevumus, šis ir īstais brīdis izvēlēties kādu no iepriekš minētajiem risinājumiem un sākt automatizāciju.