אַוטאָנאָמאָוס ינפראַסטראַקטשער אָרקעסטראַטיאָן מיט StackGen און LangChain: לעווערידזשינג אַי אַגענץ און גענעראַטיווע מאָדעלס פֿאַר עקסטרעם דעוואָפּס אַוטאָמאַטיאָן און אַוטאָנאָמאָוס ינפראַסטראַקטשער פאַרוואַלטונג
הקדמה
אין הייַנט ס שנעל-פּייסט דיגיטאַל לאַנדשאַפט, די פאָדערונג פֿאַר עפעקטיוו און סקאַלאַבלע ינפראַסטראַקטשער פאַרוואַלטונג איז קיינמאָל געווען העכער. טראַדיציאָנעל DevOps פּראַקטיסיז אָפט פאַרלאָזנ זיך מאַנואַל קאַנפיגיעריישאַן און סקריפּטינג, וואָס קענען פירן צו ערראָרס, ינגקאַנסיסטענסיז און באַטאַלנעקס. צו אַדרעס די טשאַלאַנדזשיז, מיר וויטנאַסט די ימערדזשאַנס פון אָטאַנאַמאַס ינפראַסטראַקטשער אָרקעסטראַטיאָן, אַ פּאַראַדיגם וואָס לעוועראַדזשאַז אַי אגענטן און דזשענעראַטיוו מאָדעלס צו אָטאַמייט און אַפּטאַמייז ינפראַסטראַקטשער פאַרוואַלטונג. אין דעם אַרטיקל, מיר וועלן דעלוו אין די יקסייטינג וועלט פון StackGen און LangChain, צוויי קאַטינג-ברעג טעקנאַלאַדזשיז וואָס רעוואַלושאַנייז די וועג מיר פירן ינפראַסטראַקטשער.
וואָס איז StackGen?
StackGen איז אַן אָפֿן-מקור, וואָלקן-אַגנאָסטיק ינפראַסטראַקטשער אָרטשעסטראַטיאָן פּלאַטפאָרמע וואָס ינייבאַלז די שאַפונג פון זיך-היילונג, זיך-סקיילינג און זיך-אָפּטימיזינג ינפראַסטראַקטשער סטאַקס. געבויט אויף שפּיץ פון אַ מאַדזשאַלער, עקסטענסיבלע אַרקאַטעקטשער, StackGen אַלאַוז דעוועלאָפּערס צו דעפינירן ינפראַסטראַקטשער קאַנפיגיעריישאַנז ניצן אַ הויך-מדרגה, דעקלאַראַטיווע סינטאַקס. דער סינטאַקס איז דעמאָלט איבערגעזעצט אין אַקטיאָנאַבלע ינפראַסטראַקטשער פּראַוויזשאַנז און פאַרוואַלטונג טאַסקס, וואָס זענען עקסאַקיוטאַד דורך אַ געזונט, פונאנדערגעטיילט מאָטאָר.
וואָס איז LangChain?
LangChain איז אַ פּיטהאָן ביבליאָטעק וואָס גיט אַ יונאַפייד צובינד פֿאַר בנין און ינטאַגרייטינג אַי אגענטן, גענעראַטיווע מאָדעלס און אנדערע מאַשין לערנען קאַמפּאָונאַנץ אין ווייכווארג סיסטעמען. דורך לעווערידזשינג LangChain, דעוועלאָפּערס קענען מאַכן סאַפיסטאַקייטיד אַי-געטריבן אַפּלאַקיישאַנז וואָס לערנען פון דאַטן, אַדאַפּט זיך צו טשאַנגינג ינווייראַנמאַנץ און מאַכן ינפאָרמד דיסיזשאַנז. אין דעם קאָנטעקסט פון StackGen, LangChain ינייבאַלז די ינטאַגריישאַן פון אַי אגענטן וואָס קענען פונאַנדערקלייַבן ינפראַסטראַקטשער פאָרשטעלונג, פאָרויסזאָגן אַנאַמאַליז און נעמען קערעקטיוו אַקשאַנז צו האַלטן אָפּטימאַל סיסטעם נאַטור.
אָטאַנאַמאַס ינפראַסטראַקטשער אָרטשעסטראַטיאָן מיט StackGen און LangChain
צו אילוסטרירן די מאַכט פון StackGen און LangChain, לאָזן אונדז באַטראַכטן אַ פּשוט בייַשפּיל. רעכן מיר בויען אַ וואָלקן-באזירט E- האַנדל פּלאַטפאָרמע וואָס ריקווייערז אַ סקאַלאַבלע, הויך-פאָרשטעלונג ינפראַסטראַקטשער אָנלייגן. מיט StackGen, מיר קענען דעפינירן אַ הויך-מדרגה קאַנפיגיעריישאַן וואָס ספּעציפיצירט די געבעטן ינפראַסטראַקטשער טאַפּאַלאַדזשי, אַרייַנגערעכנט די נומער פון נאָודז, טיפּ טייפּס און נעץ קאַנפיגיעריישאַנז.
נאָמען: E- האַנדל-פּלאַטפאָרמע
באַשרייַבונג: סקאַלאַבלע ינפראַסטראַקטשער פֿאַר E- האַנדל פּלאַטפאָרמע
ווערסיע: 1.0
קאַמפּאָונאַנץ:
- נאָמען: וועב סערווער
טיפּ: EC2
פּראָפּערטיעס:
בייַשפּיל-טיפּ: t2.micro
ami: ami-abc123
זיכערהייט גרופּעס: [וועב-סערווער-sg]
- נאָמען: דייטאַבייס
טיפּ: RDS
פּראָפּערטיעס:
בייַשפּיל-טיפּ: db.t2.micro
מאָטאָר: postgres
דאַטאַבייס נאָמען: E- האַנדל-דב
נאמען: E- האַנדל-באַניצער
פּאַראָל: E- האַנדל פּאַראָל
באציונגען:
- וועב סערווער -> דייטאַבייס
אין דעם בייַשפּיל, מיר האָבן דיפיינד אַ פּשוט ינפראַסטראַקטשער אָנלייגן קאַנסיסטינג פון אַ וועב סערווער און אַ דאַטאַבייס. דער אָפּטיילונג "קאָמפּאָנענטס" ספּעציפיצירט די יחיד קאַמפּאָונאַנץ, אַרייַנגערעכנט זייער טייפּס, פּראָפּערטיעס און שייכות. די 'באַציונגען' אָפּטיילונג דיפיינז די קאַנעקשאַנז צווישן קאַמפּאָונאַנץ.
דערנאָך, מיר וועלן נוצן LangChain צו ויסשטימען אַן אַי אַגענט וואָס קענען פונאַנדערקלייַבן ינפראַסטראַקטשער פאָרשטעלונג און נעמען קערעקטיוו אַקשאַנז צו האַלטן אָפּטימאַל סיסטעם נאַטור. מיר וועלן שאַפֿן אַ פּשוט אַי אַגענט וואָס מאָניטאָרס די נוצן פון קפּו און אַדזשאַסטיד די טייפּס פון ביישפּיל.
# LangChain אַי אַגענט קאָד (ai_agent.py)
אַרייַנפיר לאַנגטשאַין
פֿון langchain.agents אַרייַנפיר באַסעאַגענט
קלאַס ECommerceAgent (BaseAgent):
דעף __יניט__ (זיך, סטאַקקגען_קאָנפיג):
self.stackgen_config = סטאַקקגען_קאָנפיג
self.cpu_utilization_threshold = 80
דעף מאָניטאָר_ינפראַסטטראַקטשער (זיך):
# מאָניטאָר די נוצן פון קפּו און סטרויערן די טייפּס פון ביישפילן
cpu_utilization = self.get_cpu_utilization()
אויב cpu_utilization> self.cpu_utilization_threshold:
self.adjust_instance_types()
דעפ אַדזשאַסט_ינסטאַנס_טייפּס (זיך):
# סטרויערן בייַשפּיל טייפּס באזירט אויף קפּו יוטאַלאַזיישאַן
instance_types = self.get_instance_types()
פֿאַר בייַשפּיל_טיפּע אין ינסטאַנסע_טייפּס:
אויב ינסטאַנסע_טיפּ ['cpu_utilization'] > self.cpu_utilization_threshold:
instance_type['instance_type'] = 't2.large'
# ויסשטימען אַי אַגענט מיט StackGen
stackgen_config = load_yaml('example.yaml')
ai_agent = ECommerceAgent (סטאַקגען_קאָנפיג)
ai_agent.monitor_infrastructure()
אין דעם ביישפּיל, מיר האָבן באשאפן אַ פּשוט אַי אַגענט וואָס מאָניטאָרס די נוצן פון די קפּו און אַדזשאַסטיד טיפּ טייפּס אַקאָרדינגלי. מיר האָבן ינאַגרייטיד די אַי אַגענט מיט StackGen ניצן די langchain ביבליאָטעק, וואָס גיט אַ יונאַפייד צובינד פֿאַר בנין און ינטאַגרייטינג אַי אגענטן.
שפּיץ 5-10 מערסט געוויינט קאַמאַנדז / סניפּאַץ
דאָ זענען עטלעכע פון די מערסט קאַמאַנדז און סניפּאַץ פֿאַר StackGen און LangChain:
- ** סטאַקקגען קאָנפיגוראַטיאָן טעקע **:
סטאַקגען קאָנפיג דוגמא.יאַמל - LangChain AI Agent Code:
langchain ai_agent.py - ** ויסשטימען אַי אַגענט מיט StackGen **:
langchain ויסשטימען אַי_agent.py example.yaml - ** מאָניטאָר ינפראַסטראַקטשער **:
אַי_אַגענט.מאָניטאָר_ינפראַסטטראַקטשער() - ** סטרויערן ינסטאַנסע טייפּס**:
ai_agent.adjust_instance_types() - באַקומען קפּו יוטאַלאַזיישאַן:
ai_agent.get_cpu_utilization() - באַקומען בייַשפּיל טייפּס:
ai_agent.get_instance_types() - Load YAML קאַנפיגיעריישאַן טעקע:
load_yaml('example.yaml') - היט YAML קאָנפיגוראַטיאָן טעקע:
save_yaml('example.yaml', stackgen_config) - ** וויסואַליזע ינפראַסטראַקטשער טאָפּאָלאָגי **: 'סטאַקגען וויזשוואַלייז בייַשפּיל.יאַמל'
וויסואַליזאַטיאָן
צו וויזשוואַלייז די ינפראַסטראַקטשער טאַפּאַלאַדזשי, מיר קענען נוצן אַ ביבליאָטעק ווי 'גראַףוויז' צו מאַכן אַ גראַפיק באזירט אויף די StackGen קאַנפיגיעריישאַן טעקע.
{
"type": "באַר",
"דאַטן": {
"labels": ["וועב סערווער", "דאַטאַבאַסע"],
"דאַטאַסעטס": [
{
"label": "CPU יוטאַלאַזיישאַן",
"דאַטן": [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)"],
"borderWidth": [1, 1]
}
]
},
"אָפּציעס": {
"טיטל": {
"ווייַז": אמת,
"text": "CPU יוטאַלאַזיישאַן דורך קאָמפּאָנענט"
},
"סקאַלעס": {
"יאַקסעס": [
{
"ווייַז": אמת,
"scaleLabel": {
"ווייַז": אמת,
"labelString": "CPU יוטאַלאַזיישאַן (%)"
}
}
]
}
}
}
דער טשאַרט וויזשוואַליזיז די קפּו יוטאַלאַזיישאַן פון די וועב סערווער און דאַטאַבייס קאַמפּאָונאַנץ, פּראַוויידינג אַ קלאָר מיינונג פון די ינפראַסטראַקטשער פאָרשטעלונג.
** מסקנא**
אַוטאָנאָמאָוס ינפראַסטראַקטשער אָרקעסטראַטיאָן מיט StackGen און LangChain איז אַ שטאַרק פּאַראַדיגם וואָס ינייבאַלז די שאַפונג פון זיך-היילונג, זיך-סקיילינג און זיך-אָפּטימיזינג ינפראַסטראַקטשער סטאַקס. דורך לעווערידזשינג אַי אגענטן און דזשענעראַטיוו מאָדעלס, דעוועלאָפּערס קענען אָטאַמייט און אַפּטאַמייז ינפראַסטראַקטשער פאַרוואַלטונג, רידוסינג ערראָרס, ינגקאַנסיסטענסיז און באַטאַלנעקס. אין דעם אַרטיקל, מיר האָבן יקספּלאָרד די באַסיקס פון StackGen און LangChain, אַרייַנגערעכנט זייער אַרקאַטעקטשער, קאַנפיגיעריישאַן טעקעס און אַי אַגענט ינטאַגריישאַן. מיר האָבן אויך צוגעשטעלט פּראַקטיש ביישפילן און קאָד סניפּאַץ צו אילוסטרירן די מאַכט פון די טעקנאַלאַדזשיז. ווי די פאָדערונג פֿאַר עפעקטיוו און סקאַלאַבלע ינפראַסטראַקטשער פאַרוואַלטונג האלט צו וואַקסן, StackGen און LangChain זענען גרייט צו שפּילן אַ לידינג ראָלע אין דער צוקונפֿט פון DevOps און ינפראַסטראַקטשער פאַרוואַלטונג.