All pages
Powered by GitBook
1 of 4

Loading...

Loading...

Loading...

Loading...

Infrastructură de dimensiune medie - Terraform

Sursă: https://github.com/antonbabenko/terraform-best-practices/tree/master/examples/medium-terraform

Acest exemplu conține un cod ca exemplu de structurare a configuraților Terraform pentru o infrastructură de dimensiuni medii care folosește:

  • 2 conturi AWS

  • 2 medii de lucru separate (prod È™i stage care nu au procese comune). Fiecare mediu de lucru există într-un cont AWS separat

  • Fiecare mediu de lucru foloseÈ™te o altă versiune a modulelor de infrastructură gata de folosire (alb) provenite din

  • Fiecare mediu de lucru foloseÈ™te aceeaÈ™i versiune a unui modul intern modules/network provenind din aceeaÈ™i sursă locală (local directory)

  • Perfect pentru proiecte în care infrastructura este separată logic (conturi AWS separate)

  • Potrivit când nu este nevoie de modificarea resurselor partajate între conturile AWS (un mediu de lucru = un cont AWS = un fiÈ™ier de stare)

O dată cu expansiunea proiectului, o să fie din ce în ce mai dificil de păstrat aceste medii de lucru la curent cu fiecare. Considerați folosirea modulelor de infrastructură (gata de folosire sau interne) pentru sarcini repetitive.

Potrivit când nu este necesară orchestrarea schimbărilor între mediile de lucru
  • Potrivit când resursele care formează infrastructura sunt diferite in funcÈ›ie de mediul de lucru cu un anumit scop È™i nu poate fi generalizată (ex.: anumite resurse nu există într-un mediu de lucru sau într-o anumită regiune)

  • Terraform Registry

    Terraform

    Infrastructură de dimensiune mare - Terraform

    Sursă: https://github.com/antonbabenko/terraform-best-practices/tree/master/examples/large-terraform

    Acest exemplu conține un cod ca exemplu de structurare a configuraților Terraform pentru o infrastructură de dimensiuni mari care folosește:

    • 2 conturi AWS

    • 2 regiuni

    • 2 medii de lucru separate (prod È™i stage care nu au procese comune). Fiecare mediu de lucru există într-un cont AWS separat È™i conÈ›ine resurse în două regiuni

    • Fiecare mediu de lucru foloseÈ™te o altă versiune a modulelor de infrastructură gata de folosire (alb) provenite din

    • Fiecare mediu de lucru foloseÈ™te aceeaÈ™i versiune a unui modul intern modules/network provenind din aceeaÈ™i sursă locală (local directory)

    Într-un proiect de dimensiuni mari ca cel descris aici, beneficiile utilizării Terragrunt devin foarte vizibile. Vezi .

    • Perfect pentru proiecte în care infrastructura este separată logic (conturi AWS separate)

    • Potrivit când nu este nevoie de modificarea resurselor partajate între conturile AWS (un mediu de lucru = un cont AWS = un fiÈ™ier de stare)

    O dată cu expansiunea proiectului, o să fie din ce în ce mai dificil de păstrat aceste medii de lucru la curent cu fiecare. Considerați folosirea modulelor de infrastructură (gata de folosire sau interne) pentru sarcini repetitive.

    Infrastructură de dimensiune mică - Terraform

    Sursă:

    Acest exemplu conține un cod ca exemplu de structurare a configuraților Terraform pentru o infrastructură de dimensiuni mici, unde nu există dependențe externe.

    • Perfect pentru a începe È™i pentru a edita pe parcurs

    Potrivit când nu este necesară orchestrarea schimbărilor între mediile de lucru
  • Potrivit când resursele care formează infrastructura sunt diferite in funcÈ›ie de mediul de lucru cu un anumit scop È™i nu poate fi generalizată (ex.: anumite resurse nu există într-un mediu de lucru sau într-o anumită regiune)

  • Terraform Registry
    Exemple de structuri de cod - Terragrunt

    Perfect pentru module cu resurse puține

  • Bun pentru module de infrastructură mici si lineare (ex: terraform-aws-atlantis)

  • Bun pentru un număr redus de resurse (mai puÈ›ine de 20-30)

  • Un singur fiÈ™ier de stare pentru toate resursele poate face procesul de lucru cu Terraform să încetinească dacă numărul de resurse creÈ™te (consideraÈ›i folosirea unui argument ca-target pentru a limita numărul de resurse).

    https://github.com/antonbabenko/terraform-best-practices/tree/master/examples/small-terraform