AWS Fargate ievada ceļvedis

AWS Fargate ir tehnoloģija, ko var izmantot ar Amazon ECS un Amazon EKS. Tas ļauj palaist konteinerus, nepārvaldot serverus vai Amazon EC2 gadījumu kopas.

Fargeits novērš nepieciešamību konfigurēt, mērogot vai nodrošināt virtuālās mašīnas klasterus, lai izpildītu konteinerus. Nevajadzēs atlasīt serveru veidus, ieplānot klasteru mērogošanu vai optimizēt klasteru pakotni.

Mēs varam izmantot Fargate palaišanas veidu vai Fargate jaudas nodrošinātāju, lai palaistu jūsu Amazon ECS uzdevumus un pakalpojumus. Lai izmantotu Fargate, varat iesaiņot lietojumprogrammu konteineros, norādīt operētājsistēmas, CPU un atmiņas prasības, konfigurēt tīkla un IAM politikas un palaist to.

Nav nepieciešams uzturēt bāzes CPU un RAM ietilpību konteineru mitināšanai. Mēs varam norādīt AWS, cik daudz resursu ir nepieciešams uzdevumam, un atstāt pārējo uzdevumu AWS ziņā. Katram Fargate uzdevumam ir savs izolācijas šķērslis, tāpēc tas nedala pamatā esošo kodolu, centrālo procesoru, atmiņu vai elastīgo tīkla interfeisu ar citiem uzdevumiem.

Kā darbojas Fargate?

Fargate darbojas, ļaujot izvietot konteinerus, neiestatot vai nepārvaldot infrastruktūru, kurā tie tiks mitināti. Jūs norādāt Fargate, kurus konteinera attēlus vēlaties palaist un cik CPU un atmiņas resursu vēlaties piešķirt. Pēc tam Fargate automātiski nodrošina resursdatora serverus. Kad jūsu konteineri darbojas, jūs maksājat tikai par izmantotajiem resursiem.

Fargate ir skaitļošanas dzinējs bez serveriem, jo ​​tas novērš vajadzību galalietotājiem pārvaldīt serverus, kas mitina konteinerus. Lai būtu skaidrs, serveri joprojām ir tur; AWS tos vienkārši pārvalda. Fargate nedrīkst jaukt ar AWS Lambda, citu bezserveru skaitļošanas pakalpojumu, kas netika izveidots, ņemot vērā konteinerus (lai gan Lamba tagad atbalsta konteineru attēlu izvietošanu).

  Kļūstiet par tīģeru karali, izmantojot šos 3D Google dzīvniekus un objektus

Kā Fargate palīdz?

AWS Fargate aprēķina precīzu skaitļošanas, atmiņas un citu resursu apjomu, kas nepieciešams jūsu uzdevumiem, tāpēc jums nav jāuztraucas par gadījumu veidu izvēli vai klastera jaudas mērogošanu.

Tas ļauj maksāt par resursiem, kas nepieciešami konteineru darbībai, kad tie tiek izmantoti, izvairoties no pārmērīgas nodrošināšanas un maksāšanas par serveriem, kas jums nav vajadzīgi.

Fargate uzdevumi (pods) tiek izpildīti savos kodolos, kā rezultātā tiek izveidota droša un izolēta skaitļošanas vide ar izolētām darba slodzēm un paaugstinātu drošību.

Tas ļauj komandām izstrādāt un palaist lietotnes, izmantojot ECS vai EKS konteinerus, neveicot laikietilpīgas infrastruktūras pārvaldības darbības, piemēram, serveru mērogošanu un drošību vai operētājsistēmu ielāpēšanu.

Ar iebūvētiem savienojumiem ar citiem AWS pakalpojumiem, piemēram, Amazon CloudWatch Container Insights, AWS Fargate nodrošina augstu novērojamības līmeni. Varat arī izmantot vairākas trešo pušu tehnoloģijas, lai apkopotu žurnālus un metriku.

Mēs varam arī efektīvi izmantot plašo AWS pakalpojumu klāstu, izmantojot konteinerus ar Fargate.

Fargate pastāvīgi ieviesīs un mērogos skaitļošanas resursus, lai tie atbilstu konteinera prasībām, novēršot pārmērīgu nodrošinājumu un nodrošinot, ka jums nav jāmaksā par resursiem, kurus neizmantojat. Varat arī aprēķināt ietaupījumu stratēģiju. Fargate Spot opcija var ietaupīt līdz pat 70% no parastajām izmaksām, taču tā ir optimāla tikai pārtraucamām lietojumprogrammām.

Fargate sastāvdaļas

Kopas

Loģiska uzdevumu vai pakalpojumu grupēšana ir Amazon ECS klasteris. Klasterus var izmantot, lai izolētu jūsu lietojumprogrammas. Kad uzdevumu veikšanai izmantojat Fargate, tas pārvalda jūsu klastera resursus.

Uzdevumu definīcijas

Uzdevuma definīcija ir teksta fails, kas apraksta vismaz vienu no jūsu lietojumprogrammas konteineriem. Tas ir JSON fails. To var izmantot, lai aprakstītu līdz desmit konteineriem vienlaikus. Jūsu lietojumprogrammas uzdevuma definīcija kalpo kā projekts. Tas norāda jūsu lietojumprogrammas daudzos parametrus.

  Kā uzņemt labus RAW fotoattēlus

Piemēram, varat to izmantot, lai definētu operētājsistēmas parametrus, izmantojamos konteinerus, lietojumprogrammai atveramos portus un datu apjomus, ko izmantot kopā ar uzdevumā esošajiem konteineriem. Jūsu lietojumprogrammas prasības nosaka konkrētos parametrus, kas ir pieejami uzdevuma definēšanai.

Uzdevumi

Uzdevums ir klastera līmeņa uzdevuma definīcijas instantiācija. Kad esat izveidojis uzdevuma definīciju savai lietojumprogrammai pakalpojumā Amazon ECS, varat izvēlēties uzdevumu skaitu, kas darbosies jūsu klasterī. Mēs varam izpildīt uzdevumu kā pakalpojuma daļu vai atsevišķu procesu.

Pakalpojumi

Amazon ECS klasterī varat izmantot Amazon ECS pakalpojumu, lai vienlaikus palaistu un uzturētu vēlamo uzdevumu skaitu. Amazon ECS pakalpojumu plānotājs palaiž citu gadījumu, pamatojoties uz jūsu uzdevuma definīciju, ja kāds no jūsu uzdevumiem neizdodas vai tiek apturēts kāda iemesla dēļ. Tas tiek darīts, lai to aizstātu un uzturētu uzdevumu skaitu pakalpojumā pareizā līmenī.

Operētājsistēma un CPU arhitektūra

Fargate atbalstītās operētājsistēmas ir Amazon Linux 2, Windows server 2019 Full un Windows server 2019 kodols.

ARM un X86_64 ir divas arhitektūras, kas pieejamas Amazon ECS uzdevumu definēšanai. Ja izmantojat Windows konteinerus, jums ir jābūt X86_64 CPU arhitektūrai. Turpretim, ja izmantojat Linux konteinerus, varat izmantot ARM64 arhitektūru savām ARM lietojumprogrammām un X86_64 CPU arhitektūru.

ECS ar EC2 gadījumiem Vs. ECS ar AWS Fargate

EC2 instances modelī konteineri tiek izvietoti klastera EC2 instancēs (VM). ECS pārvalda tos kopā ar uzdevumiem, kas ir daļa no uzdevuma definīcijas.

Plusi 👍

  • Šeit izmantotā EC2 instances veids ir pilnībā jūsu kontrolē.
  • Varat izmantot vietas, kas samazina izmaksas līdz pat 90%.

Mīnusi 👎

  • Jums ir jārūpējas par instanču drošības ielāpiem un tīkla drošību; arī jūs esat atbildīgs par to mērogojamību klasterī.
  Apple Watch ir iestrēdzis uz Apple logotipa? 9 veidi, kā to labot!

Fargate modelī jums vairs nav jāuztraucas par EC2 gadījumiem vai serveriem. Atlasiet nepieciešamo CPU un atmiņas konfigurāciju, un Fargate izvietos jūsu konteinerus.

Plusi 👍

  • Jums nav jāpārvalda nekādi serveri.
  • AWS ir atbildīga par pieejamību un mērogojamību, taču joprojām ir laba prakse izvēlēties pareizo atmiņu un centrālo procesoru; pretējā gadījumā mūsu lietojumprogramma var kļūt nepieejama.
  • Ja nolemjat izmantot Fargate Spot, varat saņemt līdz pat 70% atlaidi Fargate cenai.

Mīnusi 👎

  • ECS ar AWS Fargate atbalsta tikai vienu tīkla režīmu -awsvpc-. Rezultātā tas ierobežo jūsu kontroli pār tīkla slāni.

EKS bez Fargate Vs. EKS ar Fargeitu

EKS bez Fargate modeļa jums pirms laika ir jāizlemj, cik lielam jābūt klasterim. Jūs vienmēr varat mainīt mezglus manuāli vēlāk, taču tas ir apgrūtinoši, salīdzinot ar ideālā izmēra norādīšanu no paša sākuma.

Plusi 👍

  • Šis modelis sniedz jums lielāku kontroli dažādos veidos, piemēram, varat norādīt konfigurācijas mainīgos, piemēram, HostNetwork un HostPort.
  • Fargate netiek atbalstīts visos reģionos, tāpēc vēlaties izmantot EKS bez Fargate, ja vēlaties, lai jūsu konteiners būtu pieejams vairākos reģionos.

Mīnusi 👎

  • EKS bez Fargate ir nedaudz grūti lietojams.

EKS ar Fargate modeli jums nav iepriekš jānorāda klasteru lielums.

Plusi 👍

  • EKS ar Fargate ir drošāka, jo tie darbojas īpašās virtuālajās mašīnās. Tas, ka tas neatbalsta priviliģēto režīmu, ir sava veida drošības līdzeklis.
  • Ilgtermiņā tas ir lētāk.

Mīnusi 👎

  • Tas dod jums mazāk kontroles dažādos veidos

Secinājums

Fargate ir ārkārtīgi spēcīgs un nobriedis rīks. Tas ietaupa jūsu izmaksas, laiku un daudz pūļu, veicot visu infrastruktūras pārvaldību jūsu vietā. Fargate ir īpaši izdevīga, ja esat iesācējs konteineru lietošanā un vienkārši vēlaties koncentrēties uz savas lietojumprogrammas izveidi, nevis tās uzturēšanu.