StackGen կազմաձևման ֆայլ (example.yaml) | B4N1

StackGen կազմաձևման ֆայլ (example.yaml)

8 months ago · b4n1 Read time: 4 min

** Ինֆրաստրուկտուրաների ինքնավար նվագախումբ StackGen-ի և LangChain-ի հետ. AI գործակալների և գեներատիվ մոդելների կիրառում ծայրահեղ DevOps-ի ավտոմատացման և ինքնավար ենթակառուցվածքի կառավարման համար**

Ներածություն

Այսօրվա արագընթաց թվային լանդշաֆտում ենթակառուցվածքների արդյունավետ և մասշտաբային կառավարման պահանջարկը երբեք ավելի մեծ չի եղել: Ավանդական DevOps պրակտիկան հաճախ հիմնվում է ձեռքով կազմաձևման և սցենարների վրա, ինչը կարող է հանգեցնել սխալների, անհամապատասխանությունների և խցանումների: Այս մարտահրավերներին դիմակայելու համար մենք ականատես ենք լինում ենթակառուցվածքների ինքնավար կազմակերպման առաջացմանը, մի պարադիգմ, որն օգտագործում է AI գործակալները և գեներատիվ մոդելները ենթակառուցվածքների կառավարումն ավտոմատացնելու և օպտիմալացնելու համար: Այս հոդվածում մենք կխորանանք StackGen-ի և LangChain-ի հուզիչ աշխարհի մեջ՝ երկու առաջադեմ տեխնոլոգիաներ, որոնք հեղափոխություն են անում ենթակառուցվածքների կառավարման ձևում:

Ի՞նչ է StackGen-ը:

StackGen-ը բաց կոդով, ամպային-ագնոստիկ ենթակառուցվածքի նվագախմբային հարթակ է, որը հնարավորություն է տալիս ստեղծել ինքնաբուժման, ինքնասպասարկման և ինքնաօպտիմիզացնող ենթակառուցվածքների կույտեր: Մոդուլային, ընդարձակելի ճարտարապետության վրա կառուցված StackGen-ը թույլ է տալիս ծրագրավորողներին սահմանել ենթակառուցվածքի կոնֆիգուրացիաներ՝ օգտագործելով բարձր մակարդակի դեկլարատիվ շարահյուսություն: Այս շարահյուսությունն այնուհետև վերածվում է գործող ենթակառուցվածքների տրամադրման և կառավարման առաջադրանքների, որոնք կատարվում են ամուր, բաշխված շարժիչով:

Ի՞նչ է LangChain-ը:

LangChain-ը Python գրադարան է, որն ապահովում է միասնական ինտերֆեյս AI գործակալների, գեներատիվ մոդելների և մեքենայական ուսուցման այլ բաղադրիչներ ծրագրային համակարգերում կառուցելու և ինտեգրելու համար: Օգտագործելով LangChain-ը, ծրագրավորողները կարող են ստեղծել AI-ի վրա հիմնված բարդ հավելվածներ, որոնք սովորում են տվյալներից, հարմարվում փոփոխվող միջավայրերին և կայացնում տեղեկացված որոշումներ: StackGen-ի համատեքստում LangChain-ը հնարավորություն է տալիս ինտեգրվել AI գործակալներին, որոնք կարող են վերլուծել ենթակառուցվածքի կատարումը, կանխատեսել անոմալիաները և կատարել ուղղիչ գործողություններ՝ պահպանելու համակարգի օպտիմալ վարքագիծը:

** Ինֆրակառուցվածքի ինքնավար նվագախումբ StackGen-ի և LangChain-ի հետ**

StackGen-ի և LangChain-ի հզորությունը ցույց տալու համար եկեք դիտարկենք մի պարզ օրինակ: Ենթադրենք, որ մենք կառուցում ենք ամպի վրա հիմնված էլեկտրոնային առևտրի հարթակ, որը պահանջում է մասշտաբային, բարձր արդյունավետությամբ ենթակառուցվածքի կույտ: Օգտագործելով StackGen-ը, մենք կարող ենք սահմանել բարձր մակարդակի կոնֆիգուրացիա, որը սահմանում է ենթակառուցվածքի ցանկալի տոպոլոգիան, ներառյալ հանգույցների քանակը, օրինակների տեսակները և ցանցի կոնֆիգուրացիաները:

«Պիթոն».

անվանումը՝ էլեկտրոնային առևտուր-պլատֆորմ նկարագրություն. Էլեկտրոնային առևտրի հարթակի մասշտաբային ենթակառուցվածք տարբերակ: 1.0

բաղադրիչներ:

  • անունը: վեբ-սերվեր տեսակը՝ EC2 հատկություններ: օրինակի տեսակը՝ t2.micro ամի՝ ami-abc123 անվտանգության խմբեր՝ [web-server-sg]
  • անունը: տվյալների բազա տեսակը՝ RDS հատկություններ: օրինակի տեսակը՝ db.t2.micro շարժիչը: postgres տվյալների բազայի անվանումը՝ e-commerce-db օգտվողի անուն՝ էլեկտրոնային առևտուր-օգտատեր գաղտնաբառ՝ էլեկտրոնային առևտուր-գաղտնաբառ

հարաբերություններ:

  • վեբ-սերվեր -> տվյալների բազա

Այս օրինակում մենք սահմանել ենք մի պարզ ենթակառուցվածք, որը բաղկացած է վեբ սերվերից և տվյալների բազայից: «Բաղադրիչներ» բաժինը սահմանում է առանձին բաղադրիչները, ներառյալ դրանց տեսակները, հատկությունները և հարաբերությունները: «Հարաբերություններ» բաժինը սահմանում է բաղադրիչների միջև կապերը:

Հաջորդը, մենք կօգտագործենք LangChain-ը AI գործակալին ինտեգրելու համար, որը կարող է վերլուծել ենթակառուցվածքի աշխատանքը և ուղղիչ գործողություններ ձեռնարկել՝ համակարգի օպտիմալ վարքագիծը պահպանելու համար: Մենք կստեղծենք մի պարզ AI գործակալ, որը կվերահսկի պրոցեսորի օգտագործումը և համապատասխանաբար կկարգավորի օրինակների տեսակները:

«Պիթոն».
# LangChain AI գործակալի կոդը (ai_agent.py)
ներմուծման լանգշղթա
langchain.agents-ից ներմուծել BaseAgent

դասի ECommerceAgent (BaseAgent):
    def __init__(self, stackgen_config):
        self.stackgen_config = stackgen_config
        self.cpu_utilization_threshold = 80

    def monitor_infrastructure(self):
        # Դիտեք պրոցեսորի օգտագործումը և կարգավորեք օրինակների տեսակները
        cpu_utilization = self.get_cpu_utilization()
        եթե cpu_utilization > self.cpu_utilization_threshold:
            self.adjust_instance_types()

    def adjust_instance_types(self):
        # Կարգավորեք օրինակների տեսակները՝ հիմնվելով պրոցեսորի օգտագործման վրա
        instance_types = self.get_instance_types()
        instance_type instance_types-ում.
            if instance_type['cpu_utilization'] > self.cpu_utilization_threshold:
                instance_type['instance_type'] = 't2.large'

# Ինտեգրել AI գործակալը StackGen-ի հետ
stackgen_config = load_yaml ('example.yaml')
ai_agent = ECommerceAgent (stackgen_config)
ai_agent.monitor_infrastructure()

Այս օրինակում մենք ստեղծել ենք մի պարզ AI գործակալ, որը վերահսկում է պրոցեսորի օգտագործումը և համապատասխանաբար կարգավորում է օրինակների տեսակները: Մենք ինտեգրել ենք AI գործակալը StackGen-ի հետ՝ օգտագործելով «langchain» գրադարանը, որն ապահովում է միասնական ինտերֆեյս AI գործակալների ստեղծման և ինտեգրման համար:

Թոփ 5-10 ամենաշատ օգտագործվող հրամաններ/հատվածներ

Ահա StackGen-ի և LangChain-ի համար առավել հաճախ օգտագործվող հրամաններից և հատվածներից մի քանիսը.

  1. StackGen կոնֆիգուրացիայի ֆայլ. «stackgen config example.yaml»
  2. LangChain AI գործակալի կոդը՝ «langchain ai_agent.py»:
  3. Ինտեգրեք AI գործակալը StackGen-ի հետ. «langchain integrate ai_agent.py example.yaml»:
  4. Մոնիտորի ենթակառուցվածք՝ «ai_agent.monitor_infrastructure()»:
  5. Կարգավորել օրինակների տեսակները՝ «ai_agent.adjust_instance_types()»:
  6. Ստացեք պրոցեսորի օգտագործումը՝ «ai_agent.get_cpu_utilization()»:
  7. Ստացեք օրինակների տեսակները՝ «ai_agent.get_instance_types()»:
  8. Բեռնել YAML կոնֆիգուրացիայի ֆայլը՝ «load_yaml('example.yaml')»:
  9. Պահպանել YAML կոնֆիգուրացիայի ֆայլը՝ «save_yaml('example.yaml', stackgen_config)'
  10. Visualize Infrastructure Topology. «stackgen visualize example.yaml»

Վիզուալիզացիա

Ենթակառուցվածքի տոպոլոգիան պատկերացնելու համար մենք կարող ենք օգտագործել «graphviz»-ի նման գրադարան՝ StackGen կազմաձևման ֆայլի վրա հիմնված գրաֆիկ պատրաստելու համար:

{
  «տեսակ»՝ «բար»,
  "տվյալներ": {
    "labels": ["Վեբ սերվեր", "Տվյալների բազա"],
    «տվյալների հավաքածուներ»:
      {
        "label": "CPU Utilization",
        «տվյալներ»: [80, 90],
        "backgroundColor"՝ ["rgba(255, 99, 132, 0.2)", "rgba(54, 162, 235, 0.2)"],
        "borderColor"՝ ["rgba(255, 99, 132, 1)", "rgba(54, 162, 235, 1)"],
        «սահմանների լայնությունը»՝ [1, 1]
      }
    ]
  },
  «Ընտրանքներ»: {
    «վերնագիր»: {
      «ցուցադրում»՝ ճշմարիտ,
      "text": "CPU Utilization by Component"
    },
    «կշեռքներ»: {
      «yAxes»:
        {
          «ցուցադրում»՝ ճշմարիտ,
          "scaleLabel": {
            «ցուցադրում»՝ ճշմարիտ,
            "labelString": "CPU Utilization (%)"
          }
        }
      ]
    }
  }
}

Այս գծապատկերը պատկերացնում է վեբ սերվերի և տվյալների բազայի բաղադրիչների պրոցեսորի օգտագործումը՝ ապահովելով ենթակառուցվածքի աշխատանքի հստակ պատկերացում:

Եզրակացություն

Ինքնավար ենթակառուցվածքների կազմակերպումը StackGen-ի և LangChain-ի հետ հզոր պարադիգմ է, որը հնարավորություն է տալիս ստեղծել ինքնաբուժման, ինքնամաշտաբացման և ինքնաօպտիմիզացման ենթակառուցվածքների կույտեր: Օգտագործելով AI գործակալները և գեներատիվ մոդելները՝ մշակողները կարող են ավտոմատացնել և օպտիմալացնել ենթակառուցվածքների կառավարումը, նվազեցնելով սխալները, անհամապատասխանությունները և խոչընդոտները: Այս հոդվածում մենք ուսումնասիրել ենք StackGen-ի և LangChain-ի հիմունքները, ներառյալ դրանց ճարտարապետությունը, կազմաձևման ֆայլերը և AI գործակալի ինտեգրումը: Մենք նաև ներկայացրել ենք գործնական օրինակներ և կոդի հատվածներ՝ այս տեխնոլոգիաների հզորությունը ցույց տալու համար: Քանի որ ենթակառուցվածքների արդյունավետ և մասշտաբային կառավարման պահանջարկը շարունակում է աճել, StackGen-ը և LangChain-ը պատրաստ են առաջատար դեր խաղալ DevOps-ի և ենթակառուցվածքների կառավարման ապագայում:


Have Questions?

Let's Talk

Contact me on LinkedIn