టెర్రాఫార్మ్ డెవలపర్లు AWS ఇన్ఫ్రాస్ట్రక్చర్తో పనిచేయడానికి చాలా అనుకూలమైన ఉత్తమ పద్ధతులను అందిస్తున్నట్లు అనిపిస్తుంది. కేవలం ఒక స్వల్పభేదాన్ని ఉంది. కాలక్రమేణా, పర్యావరణాల సంఖ్య పెరుగుతుంది, ఒక్కొక్కటి దాని స్వంత లక్షణాలను కలిగి ఉంటాయి. అప్లికేషన్ స్టాక్ యొక్క దాదాపు కాపీ పొరుగు ప్రాంతంలో కనిపిస్తుంది. మరియు టెర్రాఫార్మ్ కోడ్ను జాగ్రత్తగా కాపీ చేసి, కొత్త అవసరాలకు అనుగుణంగా సవరించాలి లేదా స్నోఫ్లేక్గా తయారు చేయాలి.
పెద్ద మరియు పొడవైన ప్రాజెక్ట్లలో గందరగోళం మరియు మాన్యువల్ రొటీన్ను ఎదుర్కోవడానికి టెర్రాఫార్మ్లోని నమూనాల గురించి నా చర్చ.
వీడియోలు:
నా వయసు 40, నేను 20 ఏళ్లుగా ఐటీలో ఉన్నాను. నేను 12 సంవత్సరాలుగా Ixtens కోసం పని చేస్తున్నాను. మేము ఇకామర్స్-ఆధారిత-అభివృద్ధిలో నిమగ్నమై ఉన్నాము. మరియు నేను 5 సంవత్సరాలుగా DevOps అభ్యాసాలను అభ్యసిస్తున్నాను.
నా కథనం ఒక కంపెనీలో ప్రాజెక్ట్లో నా అనుభవం గురించి ఉంటుంది, దాని పేరు నేను చెప్పను, బహిర్గతం చేయని ఒప్పందం వెనుక దాక్కుంది.
ప్రాజెక్ట్ స్థాయిని అర్థం చేసుకోవడానికి స్లయిడ్లోని సంఖ్యలు సూచించబడతాయి. మరియు నేను తదుపరి చెప్పేదంతా అమెజాన్కు సంబంధించినది.
నేను 4 సంవత్సరాల క్రితం ఈ ప్రాజెక్ట్లో చేరాను. ప్రాజెక్ట్ పెరిగినందున మౌలిక సదుపాయాల రీఫ్యాక్టరింగ్ పూర్తి స్వింగ్లో ఉంది. మరియు ఉపయోగించిన నమూనాలు ఇకపై తగినవి కావు. మరియు ప్రాజెక్ట్ యొక్క అన్ని ప్రణాళికాబద్ధమైన వృద్ధిని బట్టి, క్రొత్తదాన్ని తీసుకురావడం అవసరం.
డోడో పిజ్జాలో ఏమి జరిగిందో నిన్న మాకు చెప్పిన మాట్వీకి ధన్యవాదాలు. 4 సంవత్సరాల క్రితం ఇక్కడ జరిగింది ఇదే.
డెవలపర్లు వచ్చి ఇన్ఫ్రాస్ట్రక్చర్ కోడ్ని తయారు చేయడం ప్రారంభించారు.
ఇది ఎందుకు అవసరమో చాలా స్పష్టమైన కారణాలు మార్కెట్ చేయడానికి సమయం. రోల్అవుట్ సమయంలో DevOps బృందం అడ్డంకి కాదని నిర్ధారించుకోవడం అవసరం. మరియు ఇతర విషయాలతోపాటు, టెర్రాఫార్మ్ మరియు పప్పెట్ మొదటి స్థాయిలో ఉపయోగించబడ్డాయి.
టెర్రాఫార్మ్ అనేది హాషికార్ప్ నుండి ఓపెన్ సోర్స్ ప్రాజెక్ట్. మరియు ఇది ఏమిటో కూడా తెలియని వారి కోసం, తదుపరి కొన్ని స్లయిడ్లు.
కోడ్గా మౌలిక సదుపాయాలు అంటే మనం మన మౌలిక సదుపాయాలను వివరించవచ్చు మరియు మేము వివరించిన వనరులను మేము అందుకున్నామని నిర్ధారించుకోవడానికి కొన్ని రోబోట్లను అడగవచ్చు.
ఉదాహరణకు, మనకు వర్చువల్ మిషన్ అవసరం. మేము అనేక అవసరమైన పారామితులను వివరిస్తాము మరియు జోడిస్తాము.
దీని తర్వాత, మేము కన్సోల్లో అమెజాన్కు యాక్సెస్ను కాన్ఫిగర్ చేస్తాము. మరియు మేము టెర్రాఫార్మ్ ప్లాన్ కోసం అడుగుతాము. టెర్రాఫార్మ్ ప్లాన్ ఇలా చెబుతుంది: "సరే, మేము మీ వనరు కోసం వీటిని చేయగలము." మరియు కనీసం ఒక వనరు జోడించబడుతుంది. మరియు ఎటువంటి మార్పులు ఆశించబడవు.
మీరు ప్రతిదానితో సంతోషంగా ఉన్న తర్వాత, మీరు Terraformని దరఖాస్తు చేయమని అడగవచ్చు మరియు Terraform మీ కోసం ఒక ఉదాహరణను సృష్టిస్తుంది మరియు మీరు మీ క్లౌడ్లో వర్చువల్ మెషీన్ను అందుకుంటారు.
ఇంకా మా ప్రాజెక్ట్ అభివృద్ధి చెందుతోంది. మేము అక్కడ కొన్ని మార్పులను జోడిస్తున్నాము. మేము మరిన్ని ఉదాహరణల కోసం అడుగుతాము, మేము 53 ఎంట్రీలను జోడిస్తాము.
మరియు మేము పునరావృతం చేస్తాము. దయచేసి ప్లాన్ చేయండి. ఎలాంటి మార్పులు చేర్పులు చేస్తారో చూడాలి. మేము దరఖాస్తు చేస్తాము. మరియు మన మౌలిక సదుపాయాలు ఈ విధంగా పెరుగుతాయి.
టెర్రాఫార్మ్ స్టేట్ ఫైల్స్ అని పిలువబడే వాటిని ఉపయోగిస్తుంది. అంటే, Amazonకి వెళ్లే అన్ని మార్పులు మీరు వివరించిన ప్రతి వనరు కోసం, Amazonలో సృష్టించబడిన సంబంధిత వనరులు ఉన్న ఫైల్లో సేవ్ చేయబడతాయి. అందువల్ల, వనరు యొక్క వివరణ మారినప్పుడు, Amazonలో ఏమి మార్చాలో టెర్రాఫార్మ్ ఖచ్చితంగా తెలుసు.
ఈ స్టేట్ ఫైల్లు వాస్తవానికి కేవలం ఫైల్లు మాత్రమే. మరియు మేము వాటిని Gitలో నిల్వ చేసాము, ఇది చాలా అసౌకర్యంగా ఉంది. ఎవరైనా ఎల్లప్పుడూ మార్పులు చేయడం మర్చిపోయారు, మరియు అనేక విభేదాలు తలెత్తాయి.
ఇప్పుడు బ్యాకెండ్ని ఉపయోగించడం సాధ్యమవుతుంది, అనగా టెర్రాఫార్మ్ ఏ బకెట్లో మరియు ఏ కీ ద్వారా స్టేట్ ఫైల్ సేవ్ చేయబడాలో పేర్కొనబడింది. మరియు టెర్రాఫార్మ్ స్వయంగా ఈ స్టేట్ ఫైల్ను పొందడం, అన్ని మ్యాజిక్లు చేయడం మరియు తుది ఫలితాన్ని తిరిగి పొందడం వంటివి చూసుకుంటుంది.
మన మౌలిక సదుపాయాలు పెరుగుతున్నాయి. ఇదిగో మా కోడ్. మరియు ఇప్పుడు మేము కేవలం వర్చువల్ మెషీన్ను సృష్టించాలని కోరుకోవడం లేదు, మేము పరీక్ష వాతావరణాన్ని కలిగి ఉండాలనుకుంటున్నాము.
Terraform మీరు ఒక మాడ్యూల్ వంటి ఒక విషయం సృష్టించడానికి అనుమతిస్తుంది, అంటే, కొన్ని ఫోల్డర్లో అదే విషయం వివరించడానికి.
మరియు, ఉదాహరణకు, టెస్టింగ్లో, ఈ మాడ్యూల్కి కాల్ చేసి, మాడ్యూల్లోనే టెర్రాఫార్మ్ అప్లై చేయడాన్ని మనం ఎగ్జిక్యూట్ చేసినట్లే పొందండి. పరీక్ష కోసం ఈ కోడ్ ఉంటుంది.
ఉత్పత్తి కోసం, మేము అక్కడ కొన్ని మార్పులను పంపవచ్చు, ఎందుకంటే పరీక్షలో మాకు పెద్ద సందర్భాలు అవసరం లేదు; ఉత్పత్తిలో, పెద్ద సందర్భాలు కేవలం ఉపయోగకరంగా ఉంటాయి.
ఆపై నేను ప్రాజెక్ట్కి తిరిగి వస్తాను. ఇది చాలా కష్టమైన పని, ప్రణాళికాబద్ధమైన మౌలిక సదుపాయాలు చాలా పెద్దవి. మరియు ప్రతి ఒక్కరికీ సౌకర్యవంతంగా ఉండేలా అన్ని కోడ్లను ఎలాగైనా ఉంచడం అవసరం: ఈ కోడ్లో నిర్వహణ చేసే వారికి మరియు మార్పులు చేసే వారికి. మరియు ఏ డెవలపర్ అయినా వెళ్లి తన ప్లాట్ఫారమ్కు అవసరమైన మౌలిక సదుపాయాలను సరిచేయవచ్చని ప్రణాళిక చేయబడింది.
ఇది మీకు పెద్ద ప్రాజెక్ట్ ఉంటే HashiCorp చేత సిఫార్సు చేయబడిన డైరెక్టరీ ట్రీ మరియు మొత్తం అవస్థాపనను కొన్ని చిన్న ముక్కలుగా విభజించి, ప్రతి భాగాన్ని ప్రత్యేక ఫోల్డర్లో వివరించండి.
విస్తృతమైన వనరుల లైబ్రరీని కలిగి ఉన్నందున, మీరు పరీక్ష మరియు ఉత్పత్తిలో దాదాపు అదే విషయాన్ని కాల్ చేయవచ్చు.
మా విషయంలో, ఇది పూర్తిగా అనుకూలమైనది కాదు, ఎందుకంటే డెవలపర్ల కోసం లేదా పరీక్ష కోసం టెస్ట్ స్టాక్ను ఏదో ఒకవిధంగా సరళంగా పొందవలసి ఉంటుంది. కానీ నేను ఫోల్డర్ల ద్వారా వెళ్లి వాటిని అవసరమైన క్రమంలో వర్తింపజేయాలని కోరుకోలేదు మరియు డేటాబేస్ పెరుగుతుందని ఆందోళన చెందాను, ఆపై ఈ డేటాబేస్ను ఉపయోగించే ఉదాహరణ పెరుగుతుంది. అందువల్ల, అన్ని పరీక్షలు ఒక ఫోల్డర్ నుండి ప్రారంభించబడ్డాయి. అదే మాడ్యూల్స్ అక్కడ పిలిచారు, కానీ ప్రతిదీ ఒక పరుగులో జరిగింది.
టెర్రాఫార్మ్ అన్ని డిపెండెన్సీలను చూసుకుంటుంది. మరియు ఇది ఎల్లప్పుడూ క్రమంలో వనరులను సృష్టిస్తుంది, తద్వారా మీరు IP చిరునామాను పొందవచ్చు, ఉదాహరణకు, కొత్తగా సృష్టించిన ఉదాహరణ నుండి మరియు ఈ IP చిరునామాను రూట్53 రికార్డ్లో పొందండి.
అదనంగా, వేదిక చాలా పెద్దది. మరియు టెస్ట్ స్టాక్ను ప్రారంభించడం, గంటకు అయినా, 8 గంటలు అయినా, చాలా ఖరీదైన పని.
మరియు మేము ఈ విషయాన్ని ఆటోమేట్ చేసాము. మరియు జెంకిన్స్ ఉద్యోగం మాకు స్టాక్ను అమలు చేయడానికి అనుమతించింది. అందులో, డెవలపర్ పరీక్షించాలనుకుంటున్న మార్పులతో పుల్ అభ్యర్థనను ప్రారంభించడం అవసరం, అవసరమైన అన్ని ఎంపికలు, భాగాలు మరియు కొలతలు పేర్కొనండి. అతను పనితీరు పరీక్షను కోరుకుంటే, అతను మరిన్ని ఉదాహరణలు తీసుకోవచ్చు. అతను ఏదైనా ఫారమ్ తెరుచుకుంటుందని తనిఖీ చేయవలసి వస్తే, అతను కనీస వేతనంతో ప్రారంభించవచ్చు. మరియు క్లస్టర్ అవసరమా లేదా అనేది కూడా సూచించండి.
ఆపై జెంకిన్స్ షెల్ స్క్రిప్ట్ను నెట్టాడు, ఇది టెర్రాఫార్మ్ ఫోల్డర్లోని కోడ్ను కొద్దిగా సవరించింది. నేను అనవసరమైన ఫైల్లను తీసివేసాను మరియు అవసరమైన ఫైల్లను జోడించాను. ఆపై టెర్రాఫార్మ్ యొక్క ఒక పరుగుతో స్టాక్ పెరిగింది.
ఆపై నేను వెళ్లకూడదనుకునే ఇతర దశలు ఉన్నాయి.
పరీక్ష కోసం మాకు ఉత్పత్తి కంటే కొంచెం ఎక్కువ ఎంపికలు అవసరం కాబట్టి, మేము మాడ్యూళ్ల కాపీలను తయారు చేయాల్సి వచ్చింది, తద్వారా ఈ కాపీలలో మేము పరీక్ష కోసం మాత్రమే అవసరమైన లక్షణాలను జోడించగలము.
మరియు పరీక్షలో నేను ఆ మార్పులను పరీక్షించాలనుకుంటున్నాను, అది చివరికి ఉత్పత్తిలోకి వెళ్తుంది. కానీ వాస్తవానికి, ఒక విషయం పరీక్షించబడింది మరియు ఉత్పత్తిలో కొద్దిగా భిన్నమైనది ఉపయోగించబడింది. మరియు ఉత్పత్తిలో అన్ని మార్పులను ఆపరేషన్ బృందం వర్తింపజేసే నమూనాలో చిన్న విరామం ఉంది. మరియు కొన్నిసార్లు పరీక్ష నుండి ఉత్పత్తికి వెళ్లవలసిన మార్పులు మరొక సంస్కరణలో ఉన్నాయని తేలింది.
అదనంగా, ఒక కొత్త సేవ జోడించబడిన అటువంటి సమస్య ఉంది, ఇది ఇప్పటికే ఉన్న కొన్నింటికి కొద్దిగా భిన్నంగా ఉంది. మరియు ఇప్పటికే ఉన్న మాడ్యూల్ను సవరించడానికి బదులుగా, మేము దాని కాపీని తయారు చేసి, అవసరమైన మార్పులను జోడించాలి.
ముఖ్యంగా, టెర్రాఫార్మ్ నిజమైన భాష కాదు. ఇది ఒక ప్రకటన. మనం ఏదైనా ప్రకటించవలసి వస్తే, మేము దానిని ప్రకటిస్తాము. మరియు ఇది అన్ని పనిచేస్తుంది.
ఏదో ఒక సమయంలో, నా పుల్ రిక్వెస్ట్లలో ఒకటి చర్చించబడుతున్నప్పుడు, స్నోఫ్లేక్స్ సృష్టించాల్సిన అవసరం లేదని నా సహోద్యోగి ఒకరు చెప్పారు. అతను ఏమి అర్థం చేసుకున్నాడో నేను ఆశ్చర్యపోయాను. ప్రపంచంలో ఒకేలాంటి రెండు స్నోఫ్లేక్లు లేవని శాస్త్రీయ వాస్తవం ఉంది, అవన్నీ కొద్దిగా భిన్నంగా ఉంటాయి. మరియు నేను ఇది విన్న వెంటనే, నేను వెంటనే టెర్రాఫార్మ్ కోడ్ యొక్క పూర్తి బరువును అనుభవించాను. ఎందుకంటే వెర్షన్ నుండి వెర్షన్కి మారాల్సిన అవసరం వచ్చినప్పుడు, టెర్రాఫార్మ్కి బ్రేకింగ్ చైన్ మార్పులు అవసరం, అంటే కోడ్ తదుపరి వెర్షన్కి అనుకూలంగా ఉండదు. మరియు మేము టెర్రాఫార్మ్ యొక్క తదుపరి వెర్షన్కు ఇన్ఫ్రాస్ట్రక్చర్ని తీసుకురావడానికి, ఇన్ఫ్రాస్ట్రక్చర్లోని దాదాపు సగం ఫైల్లను కవర్ చేసే పుల్ రిక్వెస్ట్ చేయాల్సి వచ్చింది.
మరియు అటువంటి స్నోఫ్లేక్ కనిపించిన తర్వాత, మేము పెద్ద, పెద్ద మంచు కుప్పగా మార్చిన అన్ని టెర్రాఫార్మ్ కోడ్.
ఆపరేషన్ వెలుపల ఉన్న ఒక బాహ్య డెవలపర్ కోసం, ఇది అతనికి పెద్దగా పట్టింపు లేదు, ఎందుకంటే అతను పుల్ అభ్యర్థన చేసాడు, అతని వనరు ప్రారంభమైంది. మరియు అంతే, ఇది అతని ఆందోళన కాదు. మరియు ప్రతిదీ సరిగ్గా ఉందని నిర్ధారించుకునే DevOps బృందం ఈ మార్పులన్నీ చేయవలసి ఉంటుంది. మరియు ప్రతి అదనపు స్నోఫ్లేక్తో ఈ మార్పుల ధర చాలా పెరిగింది.
ఒక సెమినార్లో విద్యార్థి బ్లాక్బోర్డ్పై సుద్దతో రెండు ఖచ్చితమైన వృత్తాలను ఎలా గీస్తాడనే దాని గురించి ఒక కథ ఉంది. మరియు అతను దిక్సూచి లేకుండా చాలా సజావుగా ఎలా గీయగలిగాడో ఉపాధ్యాయుడు ఆశ్చర్యపోతాడు. విద్యార్థి ఇలా సమాధానమిస్తున్నాడు: "చాలా సులభం, నేను మాంసం గ్రైండర్ను మారుస్తూ రెండు సంవత్సరాలు సైన్యంలో గడిపాను."
మరియు నేను ఈ ప్రాజెక్ట్లో పాల్గొన్న నాలుగు సంవత్సరాలలో, నేను సుమారు రెండేళ్లుగా టెర్రాఫామ్ చేస్తున్నాను. మరియు, వాస్తవానికి, నాకు కొన్ని ఉపాయాలు ఉన్నాయి, టెర్రాఫార్మ్ కోడ్ను ఎలా సరళీకృతం చేయాలి, ప్రోగ్రామింగ్ లాంగ్వేజ్ లాగా దానితో పని చేయడం మరియు ఈ కోడ్ను తాజాగా ఉంచే డెవలపర్లపై భారాన్ని తగ్గించడం ఎలా అనే దానిపై కొన్ని సలహాలు ఉన్నాయి.
నేను మొదట సిమ్లింక్లతో ప్రారంభించాలనుకుంటున్నాను. టెర్రాఫార్మ్లో చాలా పునరావృత కోడ్లు ఉన్నాయి. ఉదాహరణకు, మేము ఇన్ఫ్రాస్ట్రక్చర్ను సృష్టించే దాదాపు ప్రతి పాయింట్లో ప్రొవైడర్కి కాల్ ఒకే విధంగా ఉంటుంది. మరియు దానిని ప్రత్యేక ఫోల్డర్లో ఉంచడం తార్కికం. మరియు ఎక్కడైనా ప్రొవైడర్ ఈ ఫైల్కి సిమ్లింక్లను తయారు చేయాల్సి ఉంటుంది.
ఉదాహరణకు, ప్రొడక్షన్లో మీరు అసూమ్ రోల్ని ఉపయోగిస్తారు, ఇది కొన్ని బాహ్య Amazon ఖాతాకు యాక్సెస్ హక్కులను పొందేందుకు మిమ్మల్ని అనుమతిస్తుంది. మరియు ఒక ఫైల్ను మార్చిన తర్వాత, రిసోర్స్ ట్రీలో మిగిలిన వాటికి అవసరమైన హక్కులు ఉంటాయి, తద్వారా ఏ Amazon సెగ్మెంట్ను యాక్సెస్ చేయాలో Terraformకి తెలుసు.
సిమ్లింక్లు ఎక్కడ విఫలమవుతాయి? నేను చెప్పినట్లుగా, టెర్రాఫార్మ్లో స్టేట్ ఫైల్స్ ఉన్నాయి. మరియు వారు చాలా చాలా బాగుంది. కానీ విషయం ఏమిటంటే టెర్రాఫార్మ్ బ్యాకెండ్ను మొదటి స్థానంలో ప్రారంభిస్తుంది. మరియు అతను ఈ పారామితులలో వేరియబుల్స్ ఏవీ ఉపయోగించలేడు; అవి ఎల్లప్పుడూ వచనంలో వ్రాయబడాలి.
మరియు ఫలితంగా, ఎవరైనా కొత్త వనరును తయారు చేసినప్పుడు, అతను ఇతర ఫోల్డర్ల నుండి కొన్ని కోడ్లను కాపీ చేస్తాడు. మరియు అతను కీతో లేదా బకెట్తో పొరపాటు చేయవచ్చు. ఉదాహరణకు, అతను శాండ్బాక్స్ నుండి శాండ్బాక్స్ వస్తువును తయారు చేస్తాడు, ఆపై దానిని ఉత్పత్తిలో చేస్తాడు. కాబట్టి ఉత్పత్తిలో ఉన్న బకెట్ శాండ్బాక్స్ నుండి ఉపయోగించబడుతుందని తేలింది. వాస్తవానికి, వారు దానిని త్వరగా కనుగొంటారు. దీన్ని ఎలాగైనా పరిష్కరించడం సాధ్యమవుతుంది, అయితే ఇది సమయం మరియు కొంతవరకు వనరులను వృధా చేస్తుంది.
మేము తరువాత ఏమి చేయవచ్చు? Terraformతో పని చేయడానికి ముందు, మీరు దాన్ని ప్రారంభించాలి. ప్రారంభించినప్పుడు, Terraform అన్ని ప్లగిన్లను డౌన్లోడ్ చేస్తుంది. ఏదో ఒక సమయంలో వారు ఏకశిలా నుండి మరింత మైక్రోసర్వీస్ ఆర్కిటెక్చర్కి విడిపోయారు. మరియు మీరు ఎల్లప్పుడూ Terraform init చేయవలసి ఉంటుంది, తద్వారా ఇది అన్ని మాడ్యూల్లను, అన్ని ప్లగిన్లను పైకి లాగుతుంది.
మరియు మీరు షెల్ స్క్రిప్ట్ను ఉపయోగించవచ్చు, ఇది మొదటగా అన్ని వేరియబుల్స్ను పొందవచ్చు. షెల్ స్క్రిప్ట్ ఏ విధంగానూ పరిమితం కాలేదు. మరియు, రెండవది, మార్గాలు. మేము ఎల్లప్పుడూ రిపోజిటరీలో ఉన్న మార్గాన్ని స్టేట్ ఫైల్కి కీగా ఉపయోగిస్తే, తదనుగుణంగా, ఇక్కడ లోపం తొలగించబడుతుంది.
నేను డేటాను ఎక్కడ పొందగలను? JSON ఫైల్. టెర్రాఫార్మ్ మిమ్మల్ని hcl (హాషికార్ప్ కాన్ఫిగరేషన్ లాంగ్వేజ్) లోనే కాకుండా JSONలో కూడా మౌలిక సదుపాయాలను వ్రాయడానికి అనుమతిస్తుంది.
JSON షెల్ స్క్రిప్ట్ నుండి చదవడం సులభం. దీని ప్రకారం, మీరు కాన్ఫిగరేషన్ ఫైల్ను బకెట్తో ఏదో ఒక చోట ఉంచవచ్చు. మరియు ప్రారంభించడం కోసం టెర్రాఫార్మ్ కోడ్లో మరియు షెల్ స్క్రిప్ట్లో ఈ బకెట్ని ఉపయోగించండి.
టెర్రాఫార్మ్ కోసం బకెట్ కలిగి ఉండటం ఎందుకు ముఖ్యం? ఎందుకంటే రిమోట్ స్టేట్ ఫైల్స్ లాంటివి ఉన్నాయి. అంటే, నేను కొన్ని వనరులను సేకరించినప్పుడు, Amazonకి చెప్పడానికి: “దయచేసి ఉదాహరణను పెంచండి,” నేను చాలా అవసరమైన పారామితులను పేర్కొనాలి.
మరియు ఈ ఐడెంటిఫైయర్లు కొన్ని ఇతర ఫోల్డర్లో నిల్వ చేయబడతాయి. మరియు నేను వెళ్లి ఇలా చెప్పగలను: "టెర్రాఫార్మ్, దయచేసి ఆ వనరు యొక్క స్టేట్ ఫైల్కి పరిగెత్తండి మరియు ఈ ఐడెంటిఫైయర్లను నాకు పొందండి." అందువలన వివిధ ప్రాంతాలు లేదా వాతావరణాల మధ్య ఒక నిర్దిష్ట ఏకీకరణ కనిపిస్తుంది.
రిమోట్ స్టేట్ ఫైల్ను ఉపయోగించడం ఎల్లప్పుడూ సాధ్యం కాదు. ఉదాహరణకు, మీరు చేతితో VPCని సృష్టించారు. మరియు VPCని సృష్టించే Terraform కోడ్ అటువంటి విభిన్న VPCలను సృష్టిస్తుంది, దీనికి చాలా సమయం పడుతుంది మరియు మీరు ఒకదానికొకటి సర్దుబాటు చేయాల్సి ఉంటుంది, కాబట్టి మీరు ఈ క్రింది ట్రిక్ని ఉపయోగించవచ్చు.
అంటే, VPCని తయారు చేసినట్లు అనిపించే మాడ్యూల్ను తయారు చేయండి మరియు అది మీకు ఐడెంటిఫైయర్లను ఇస్తుంది, అయితే వాస్తవానికి అదే ఉదాహరణను సృష్టించడానికి ఉపయోగించే హార్డ్కోడ్ విలువలతో కూడిన ఫైల్ ఉంది.
క్లౌడ్లో స్టేట్ ఫైల్ను సేవ్ చేయడం ఎల్లప్పుడూ అవసరం లేదు. ఉదాహరణకు, మాడ్యూల్లను పరీక్షించేటప్పుడు, మీరు బ్యాకెండ్ ఇనిషియలైజేషన్ని ఉపయోగించవచ్చు, ఇక్కడ ఫైల్ పరీక్ష సమయంలో డిస్క్లో సేవ్ చేయబడుతుంది.
ఇప్పుడు పరీక్ష గురించి కొంచెం. మీరు టెర్రాఫార్మ్లో ఏమి పరీక్షించవచ్చు? బహుశా చాలా సాధ్యమే, కానీ నేను ఈ 4 విషయాల గురించి మాట్లాడతాను.
టెర్రాఫార్మ్ కోడ్ను ఎలా ఫార్మాట్ చేయాలి అనే దానిపై HashiCorp అవగాహన కలిగి ఉంది. మరియు Terraform fmt ఈ నమ్మకం ప్రకారం మీరు సవరించిన కోడ్ను ఫార్మాట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. దీని ప్రకారం, పరీక్షలు తప్పనిసరిగా HashiCorp ఇచ్చిన దానికి అనుగుణంగా ఫార్మాటింగ్ ఉందో లేదో తనిఖీ చేయాలి, తద్వారా బ్రాకెట్ల స్థానాన్ని మార్చాల్సిన అవసరం లేదు.
తదుపరిది టెర్రాఫార్మ్ చెల్లుబాటు. ఇది సింటాక్స్ - అలా, అన్ని కుండలీకరణాలు జత చేయబడి ఉన్నాయో లేదో తనిఖీ చేయడం కంటే కొంచెం ఎక్కువ చేస్తుంది. ఇక్కడ ముఖ్యమైనది ఏమిటి? మా మౌలిక సదుపాయాలు చాలా విస్తృతమైనవి. అందులో చాలా మంది డిఫరెంట్ డాడీలు ఉన్నారు. మరియు ప్రతిదానిలో మీరు టెర్రాఫార్మ్ చెల్లుబాటును అమలు చేయాలి.
దీని ప్రకారం, పరీక్షను వేగవంతం చేయడానికి, మేము సమాంతరంగా బహుళ ప్రక్రియలను సమాంతరంగా అమలు చేస్తాము.
సమాంతరం చాలా మంచి విషయం, దాన్ని ఉపయోగించండి.
కానీ టెర్రాఫార్మ్ ప్రారంభించిన ప్రతిసారీ, అది HashiCorpకి వెళ్లి, “తాజా ప్లగ్ఇన్ వెర్షన్లు ఏమిటి? మరియు నేను కాష్లో ఉన్న ప్లగ్ఇన్ - ఇది సరైనదా లేదా తప్పుదా?" మరియు ఇది అడుగడుగునా నెమ్మదించింది.
ప్లగిన్లు ఎక్కడ ఉన్నాయో మీరు Terraformకి చెబితే, అప్పుడు Terraform ఇలా చెబుతుంది: “సరే, ఇది బహుశా తాజా విషయం. నేను ఎక్కడికీ వెళ్లను, నేను వెంటనే మీ టెర్రాఫార్మ్ కోడ్ని ధృవీకరించడం ప్రారంభిస్తాను.
అవసరమైన ప్లగిన్లతో ఫోల్డర్ను పూరించడానికి, మేము చాలా సులభమైన టెర్రాఫార్మ్ కోడ్ని కలిగి ఉన్నాము, దానిని ప్రారంభించడం అవసరం. ఇక్కడ, వాస్తవానికి, మీ కోడ్లో ఏదో ఒకవిధంగా పాల్గొనే ప్రొవైడర్లందరినీ మీరు పేర్కొనాలి, లేకపోతే Terraform ఇలా చెబుతుంది: "నాకు నిర్దిష్ట ప్రొవైడర్ తెలియదు ఎందుకంటే అది కాష్లో లేదు."
తదుపరిది టెర్రాఫార్మ్ ప్లాన్. నేను చెప్పినట్లుగా, అభివృద్ధి చక్రీయమైనది. మేము కోడ్లో మార్పులు చేస్తాము. ఆపై మీరు మౌలిక సదుపాయాల కోసం ఏ మార్పులను ప్లాన్ చేస్తారో తెలుసుకోవాలి.
మరియు అవస్థాపన చాలా పెద్దది అయినప్పుడు, మీరు ఒక మాడ్యూల్ని మార్చవచ్చు, కొంత పరీక్ష వాతావరణాన్ని లేదా కొంత నిర్దిష్ట ప్రాంతాన్ని పరిష్కరించవచ్చు మరియు కొన్ని పొరుగున ఉన్న దానిని విచ్ఛిన్నం చేయవచ్చు. అందువల్ల, టెర్రాఫార్మ్ ప్లాన్ మొత్తం మౌలిక సదుపాయాల కోసం తయారు చేయబడాలి మరియు ఏ మార్పులు ప్లాన్ చేయబడిందో చూపించాలి.
మీరు దీన్ని తెలివిగా చేయవచ్చు. ఉదాహరణకు, మేము డిపెండెన్సీలను పరిష్కరించే పైథాన్ స్క్రిప్ట్ను వ్రాసాము. మరియు మార్చబడిన వాటిపై ఆధారపడి: టెర్రాఫార్మ్ మాడ్యూల్ లేదా ఒక నిర్దిష్ట భాగం, ఇది అన్ని డిపెండెంట్ ఫోల్డర్ల కోసం ప్లాన్లను చేస్తుంది.
అభ్యర్థనపై టెర్రాఫారమ్ ప్రణాళికలు తయారు చేయాలి. కనీసం మనం చేసేది అదే.
వాస్తవానికి, ప్రతి మార్పుకు, ప్రతి నిబద్ధతకు పరీక్షలు చేయడం మంచిది, కానీ ప్రణాళికలు చాలా ఖరీదైన విషయం. మరియు పుల్ రిక్వెస్ట్లో, "దయచేసి నాకు ప్లాన్లు ఇవ్వండి" అని చెప్పాము. రోబోట్ ప్రారంభమవుతుంది. మరియు మీ మార్పుల నుండి ఆశించే అన్ని ప్లాన్లను వ్యాఖ్యలలో పంపుతుంది లేదా అటాచ్ చేస్తుంది.
ప్రణాళిక చాలా ఖరీదైన విషయం. టెర్రాఫార్మ్ అమెజాన్కి వెళ్లి, “ఈ ఉదాహరణ ఇప్పటికీ ఉందా? ఈ ఆటోస్కేల్ సరిగ్గా అదే పారామితులను కలిగి ఉందా?" మరియు దీన్ని వేగవంతం చేయడానికి, మీరు refresh=false వంటి పరామితిని ఉపయోగించవచ్చు. దీని అర్థం టెర్రాఫార్మ్ S3 నుండి స్థితిని డౌన్లోడ్ చేస్తుంది. అమెజాన్లో ఉన్నదానితో రాష్ట్రం సరిగ్గా సరిపోతుందని అది నమ్ముతుంది.
అటువంటి టెర్రాఫార్మ్ ప్లాన్ చాలా వేగంగా సాగుతుంది, అయితే రాష్ట్రం మీ మౌలిక సదుపాయాలకు అనుగుణంగా ఉండాలి, అంటే ఎక్కడో ఒకచోట, ఎప్పుడైనా టెర్రాఫార్మ్ రిఫ్రెష్ ప్రారంభం కావాలి. టెర్రాఫార్మ్ రిఫ్రెష్ సరిగ్గా అదే చేస్తుంది: రాష్ట్రం వాస్తవ మౌలిక సదుపాయాలతో సరిపోలుతుంది.
మరియు మేము భద్రత గురించి మాట్లాడాలి. ఇక్కడే మనం ప్రారంభించాల్సి వచ్చింది. మీరు టెర్రాఫార్మ్ మరియు టెర్రాఫార్మ్ మీ ఇన్ఫ్రాస్ట్రక్చర్పై అమలు చేసే చోట దుర్బలత్వం ఉంటుంది. అంటే, మీరు తప్పనిసరిగా కోడ్ని అమలు చేస్తున్నారు. మరియు పుల్ రిక్వెస్ట్ ఒక రకమైన హానికరమైన కోడ్ని కలిగి ఉంటే, అది చాలా ఎక్కువ యాక్సెస్ ఉన్న ఇన్ఫ్రాస్ట్రక్చర్లో అమలు చేయబడుతుంది. కాబట్టి మీరు టెర్రాఫార్మ్ ప్లాన్ని ఎక్కడ అమలు చేస్తారో జాగ్రత్తగా ఉండండి.
నేను వినియోగదారు-డేటా పరీక్ష గురించి మాట్లాడాలనుకుంటున్న తదుపరి విషయం.
వినియోగదారు డేటా అంటే ఏమిటి? Amazonలో, మేము ఒక ఉదాహరణను సృష్టించినప్పుడు, మేము ఒక నిర్దిష్ట లేఖను ఉదాహరణతో పంపవచ్చు - మెటా డేటా. ఉదాహరణ ప్రారంభమైనప్పుడు, సాధారణంగా క్లౌడ్ init ఈ సందర్భాలలో ఎల్లప్పుడూ ఉంటుంది. క్లౌడ్ ఇనిట్ ఈ లేఖను చదివి ఇలా చెప్పింది: "సరే, ఈ రోజు నేను లోడ్ బ్యాలెన్సర్ని." మరియు ఈ ఒడంబడికలకు అనుగుణంగా అతను కొన్ని చర్యలను చేస్తాడు.
కానీ, దురదృష్టవశాత్తూ, మేము టెర్రాఫార్మ్ ప్లాన్ను రూపొందించినప్పుడు మరియు టెర్రాఫార్మ్ని వర్తింపజేసినప్పుడు, వినియోగదారు-డేటా ఈ రకమైన సంఖ్యల వలె కనిపిస్తుంది. అంటే, అతను మీకు హాష్ను పంపుతాడు. మరి ఈ ప్లాన్లో ఏమైనా మార్పులు ఉంటాయా లేదా మహేష్ అలాగే ఉంటుందా అనేది మీరు చూడగలది.
మరియు మీరు దీనిపై శ్రద్ధ చూపకపోతే, కొన్ని విరిగిన టెక్స్ట్ ఫైల్ అమెజాన్లో, నిజమైన మౌలిక సదుపాయాలపై ముగుస్తుంది.
ప్రత్యామ్నాయంగా, అమలు చేస్తున్నప్పుడు, మీరు మొత్తం అవస్థాపనను కాకుండా టెంప్లేట్ను మాత్రమే పేర్కొనవచ్చు. మరియు కోడ్లో ఇలా చెప్పండి: "దయచేసి ఈ టెంప్లేట్ని నా స్క్రీన్పై ప్రదర్శించు." మరియు ఫలితంగా, మీరు అమెజాన్లో మీ డేటా ఎలా ఉంటుందో ప్రింట్అవుట్ని పొందవచ్చు.
వినియోగదారు-డేటాను రూపొందించడానికి మాడ్యూల్ను ఉపయోగించడం మరొక ఎంపిక. మీరు ఈ మాడ్యూల్ని వర్తింపజేస్తారు. మీరు డిస్క్లో ఫైల్ను స్వీకరిస్తారు. దానిని ఒక సూచనతో పోల్చండి. అందువల్ల, ఎవరైనా వినియోగదారు డేటాను కొద్దిగా సరిచేయాలని నిర్ణయించుకుంటే, మీ పరీక్షలు ఇలా చెబుతాయి: "సరే, అక్కడ మరియు ఇక్కడ కొన్ని మార్పులు ఉన్నాయి - ఇది సాధారణం."
నేను తదుపరి విషయం గురించి మాట్లాడాలనుకుంటున్నాను ఆటోమేట్ టెర్రాఫార్మ్ అప్లై.
అయితే, టెర్రాఫార్మ్ స్వయంచాలకంగా వర్తింపజేయడం చాలా భయంగా ఉంది, ఎందుకంటే అక్కడ ఎలాంటి మార్పులు వచ్చాయో మరియు అవి జీవన మౌలిక సదుపాయాలకు ఎంత విధ్వంసకరమో ఎవరికి తెలుసు.
పరీక్ష వాతావరణం కోసం, ఇదంతా సాధారణం. అంటే, పరీక్షా వాతావరణాన్ని సృష్టించే ఉద్యోగం డెవలపర్లందరికీ అవసరం. మరియు "అంతా నా కోసం పని చేసింది" వంటి వ్యక్తీకరణ ఫన్నీ పోటి కాదు, కానీ ఒక వ్యక్తి గందరగోళానికి గురయ్యాడని, స్టాక్ను పెంచాడని మరియు ఈ స్టాక్పై కొన్ని పరీక్షలు నిర్వహించాడని రుజువు. మరియు అతను అక్కడ అంతా బాగానే ఉందని నిర్ధారించుకున్నాడు మరియు ఇలా అన్నాడు: "సరే, నేను విడుదల చేస్తున్న కోడ్ పరీక్షించబడింది."
ఉత్పత్తి, శాండ్బాక్స్ మరియు వ్యాపారపరంగా అత్యంత కీలకమైన ఇతర వాతావరణాలలో, మీరు పాక్షికంగా కొన్ని వనరులను చాలా సురక్షితంగా ఉపయోగించవచ్చు ఎందుకంటే ఇది ఎవరికీ మరణానికి దారితీయదు. అవి: ఆటోస్కేల్ సమూహాలు, భద్రతా సమూహాలు, పాత్రలు, రూట్53 మరియు అక్కడ జాబితా చాలా పెద్దది కావచ్చు. కానీ ఏమి జరుగుతుందో గమనించండి, ఆటోమేటెడ్ అప్లికేషన్ నివేదికలను చదవండి.
దరఖాస్తు చేయడం ప్రమాదకరం లేదా భయానకంగా ఉన్న చోట, ఉదాహరణకు, ఇవి డేటాబేస్ నుండి కొన్ని నిరంతర వనరులు అయితే, ఇన్ఫ్రాస్ట్రక్చర్లోని కొన్ని భాగంలో వర్తించని మార్పులు ఉన్నాయని నివేదికలను స్వీకరించండి. మరియు ఇంజనీర్, పర్యవేక్షణలో, దరఖాస్తు చేయడానికి ఉద్యోగాలను ప్రారంభిస్తాడు లేదా అతని కన్సోల్ నుండి చేస్తాడు.
అమెజాన్లో టెర్మినేట్ ప్రొటెక్షన్ వంటిది ఉంది. మరియు ఇది కొన్ని సందర్భాల్లో మీకు అవసరం లేని మార్పుల నుండి రక్షించగలదు. అంటే, టెర్రాఫార్మ్ అమెజాన్కి వెళ్లి ఇలా అన్నాడు: "నేను మరొకదాన్ని చేయడానికి ఈ ఉదాహరణను చంపాలి." మరియు అమెజాన్ ఇలా చెప్పింది: “క్షమించండి, ఈ రోజు కాదు. మాకు టెర్మినేట్ రక్షణ ఉంది."
మరియు కేక్ మీద ఐసింగ్ కోడ్ ఆప్టిమైజేషన్. మేము Terraform కోడ్తో పని చేస్తున్నప్పుడు, మాడ్యూల్కు చాలా పెద్ద సంఖ్యలో పారామితులను తప్పనిసరిగా పాస్ చేయాలి. కొన్ని రకాల వనరులను సృష్టించడానికి ఇవి అవసరమైన పారామితులు. మరియు కోడ్ మాడ్యూల్ నుండి మాడ్యూల్కు, మాడ్యూల్ నుండి మాడ్యూల్కు, ప్రత్యేకించి మాడ్యూల్స్ గూడులో ఉన్నట్లయితే, పారామితుల యొక్క పెద్ద జాబితాలుగా మారుతుంది.
మరియు చదవడం చాలా కష్టం. దీన్ని సమీక్షించడం చాలా కష్టం. మరియు చాలా తరచుగా కొన్ని పారామితులు సమీక్షకు లోనవుతాయి మరియు అవి సరిగ్గా అవసరం లేదు. మరియు ఇది తరువాత పరిష్కరించడానికి సమయం మరియు డబ్బు ఖర్చు అవుతుంది.
అందువల్ల, మీరు ఒక నిర్దిష్ట విలువల వృక్షాన్ని కలిగి ఉన్న సంక్లిష్ట పరామితి వలె ఉపయోగించాలని నేను సూచిస్తున్నాను. అంటే, మీరు కొన్ని వాతావరణంలో కలిగి ఉండాలనుకుంటున్న అన్ని విలువలను కలిగి ఉన్న ఒక రకమైన ఫోల్డర్ అవసరం.
మరియు ఈ మాడ్యూల్కు కాల్ చేయడం ద్వారా, మీరు ఒక సాధారణ మాడ్యూల్లో ఉత్పత్తి చేయబడిన చెట్టును పొందవచ్చు, అంటే మొత్తం అవస్థాపనకు ఒకే విధంగా పనిచేసే సాధారణ మాడ్యూల్లో.
ఈ మాడ్యూల్లో మీరు స్థానికులుగా Terraformలో ఇటీవలి ఫీచర్ని ఉపయోగించి కొన్ని గణనలను చేయవచ్చు. ఆపై, ఒక అవుట్పుట్తో, కొన్ని క్లిష్టమైన పరామితిని ఇవ్వండి, ఇందులో అర్రే హాష్లు మొదలైనవి ఉండవచ్చు.
ఇక్కడే నేను అన్ని ఉత్తమ అన్వేషణలను ముగించాను. మరియు నేను కొలంబస్ గురించి ఒక కథ చెప్పాలనుకుంటున్నాను. అతను భారతదేశాన్ని కనుగొనడానికి తన సాహసయాత్ర కోసం డబ్బు కోసం వెతుకుతున్నప్పుడు (అప్పుడు అతను అనుకున్నట్లుగా), ఎవరూ అతన్ని నమ్మలేదు మరియు అది అసాధ్యమని వారు భావించారు. అప్పుడు అతను ఇలా అన్నాడు: "గుడ్డు పడకుండా చూసుకోండి." బ్యాంకర్లందరూ, చాలా ధనవంతులు మరియు బహుశా తెలివైన వ్యక్తులు, ఏదో ఒకవిధంగా గుడ్డును ఉంచడానికి ప్రయత్నించారు మరియు అది పడిపోతూనే ఉంది. అప్పుడు కొలంబస్ గుడ్డు తీసుకొని కొద్దిగా నొక్కాడు. పెంకు నలిగిపోయి గుడ్డు కదలకుండా ఉండిపోయింది. వారు, "ఓహ్, ఇది చాలా సులభం!" మరియు కొలంబస్ ఇలా సమాధానమిచ్చాడు: "అవును, ఇది చాలా సులభం. నేను భారతదేశాన్ని తెరిచినప్పుడు, ప్రతి ఒక్కరూ ఈ వాణిజ్య మార్గాన్ని ఉపయోగిస్తారు.
మరియు నేను మీకు చెప్పినది బహుశా చాలా సులభమైన మరియు చిన్నవిషయమైన విషయాలు. మరియు మీరు వాటి గురించి తెలుసుకున్నప్పుడు మరియు వాటిని ఉపయోగించడం ప్రారంభించినప్పుడు, అది విషయాల క్రమంలో ఉంటుంది. కాబట్టి సద్వినియోగం చేసుకోండి. మరియు ఇవి మీకు పూర్తిగా సాధారణ విషయాలు అయితే, కనీసం గుడ్డు పడకుండా ఎలా ఉంచాలో మీకు తెలుసు.
లెట్స్ అప్ లెట్:
- స్నోఫ్లేక్స్ నివారించడానికి ప్రయత్నించండి. మరియు తక్కువ స్నోఫ్లేక్లు, తక్కువ వనరులు మీ పెద్ద అవస్థాపనలో ఏవైనా మార్పులు చేయవలసి ఉంటుంది.
- స్థిరమైన మార్పులు. అంటే, కోడ్లో కొన్ని మార్పులు సంభవించినప్పుడు, మీరు వీలైనంత త్వరగా ఈ మార్పులకు అనుగుణంగా మీ మౌలిక సదుపాయాలను తీసుకురావాలి. ఎవరైనా రెండు లేదా మూడు నెలల తర్వాత ఎలాస్టిక్సెర్చ్ని చూసేందుకు వచ్చి, టెర్రాఫార్మ్ ప్లాన్ చేసి, అతను ఊహించని విధంగా మార్పులు చేసే పరిస్థితి ఉండకూడదు. మరియు ప్రతిదీ తిరిగి క్రమంలో ఉంచడానికి చాలా సమయం పడుతుంది.
- పరీక్షలు మరియు ఆటోమేషన్. మీ కోడ్ పరీక్షలు మరియు లక్షణాలతో ఎంత ఎక్కువగా కవర్ చేయబడితే, మీరు ప్రతిదీ సరిగ్గా చేస్తున్నారనే నమ్మకం మీకు ఉంటుంది. మరియు ఆటోమేటిక్ డెలివరీ మీ విశ్వాసాన్ని అనేక రెట్లు పెంచుతుంది.
- పరీక్ష మరియు ఉత్పత్తి పరిసరాల కోసం కోడ్ దాదాపు ఒకే విధంగా ఉండాలి. ఆచరణాత్మకంగా, ఎందుకంటే ఉత్పత్తి ఇప్పటికీ కొద్దిగా భిన్నంగా ఉంటుంది మరియు పరీక్షా వాతావరణానికి మించిన కొన్ని సూక్ష్మ నైపుణ్యాలు ఇప్పటికీ ఉంటాయి. అయితే, ప్లస్ లేదా మైనస్, ఇది నిర్ధారించబడుతుంది.
- మరియు మీరు చాలా టెర్రాఫార్మ్ కోడ్ని కలిగి ఉంటే మరియు ఈ కోడ్ను తాజాగా ఉంచడానికి చాలా సమయం తీసుకుంటే, దాన్ని రీఫాక్టర్ చేయడానికి మరియు మంచి ఆకృతిలో పొందడానికి ఇది చాలా ఆలస్యం కాదు.
- మార్పులేని మౌలిక సదుపాయాలు. షెడ్యూల్ ప్రకారం AMI డెలివరీ.
- మీకు చాలా ఎంట్రీలు ఉన్నప్పుడు రూట్53 కోసం నిర్మాణం మరియు అవి స్థిరమైన క్రమంలో ఉండాలని మీరు కోరుకుంటారు.
- API రేట్ పరిమితులతో పోరాడుతోంది. “అంతే, నేను ఇకపై ఎలాంటి అభ్యర్థనలను అంగీకరించలేను, దయచేసి వేచి ఉండండి” అని అమెజాన్ చెప్పినప్పుడు ఇది జరుగుతుంది. మరియు కార్యాలయంలో సగం మంది దాని మౌలిక సదుపాయాలను ప్రారంభించే వరకు వేచి ఉన్నారు.
- స్పాట్ సందర్భాలు. అమెజాన్ చౌకైన ఈవెంట్ కాదు మరియు స్పాట్లు చాలా ఎక్కువ ఆదా చేయడానికి మిమ్మల్ని అనుమతిస్తాయి. మరియు అక్కడ మీరు దాని గురించి పూర్తి నివేదికను తెలియజేయవచ్చు.
- భద్రత మరియు IAM పాత్రలు.
- కోల్పోయిన వనరుల కోసం వెతుకుతున్నప్పుడు, Amazoneలో మీకు తెలియని మూలం ఉన్న సందర్భాలు ఉన్నప్పుడు, వారు డబ్బు తింటారు. ఉదాహరణలకు నెలకు $100-150 ఖర్చవుతున్నప్పటికీ, అది సంవత్సరానికి $1 కంటే ఎక్కువ. అటువంటి వనరులను కనుగొనడం లాభదాయకమైన వ్యాపారం.
- మరియు రిజర్వు చేసిన సందర్భాలు.
నాకూ అంతే. టెర్రాఫార్మ్ చాలా బాగుంది, మీరు దాన్ని ఉపయోగించండి. ధన్యవాదాలు!
మీ ప్రశ్నలు
నివేదికకు ధన్యవాదాలు! మీ స్టేట్ ఫైల్ S3లో ఉంది, అయితే చాలా మంది వ్యక్తులు ఈ స్టేట్ ఫైల్ని తీసుకొని విస్తరించడానికి ప్రయత్నించే సమస్యను మీరు ఎలా పరిష్కరిస్తారు?
అన్నింటిలో మొదటిది, మేము తొందరపడము. రెండవది, ఫ్లాగ్లు ఉన్నాయి, అందులో మేము ఏదో ఒక కోడ్పై పని చేస్తున్నామని నివేదిస్తాము. అంటే, మౌలిక సదుపాయాలు చాలా పెద్దవి అయినప్పటికీ, ఎవరైనా నిరంతరం ఏదో ఉపయోగిస్తున్నారని దీని అర్థం కాదు. మరియు క్రియాశీల దశ ఉన్నప్పుడు, ఇది సమస్య; మేము Gitలో స్టేట్ ఫైల్లను నిల్వ చేసాము. ఇది ముఖ్యమైనది, లేకుంటే ఎవరైనా స్టేట్ ఫైల్ను తయారు చేస్తారు మరియు ప్రతిదీ కొనసాగడానికి మేము వాటిని మాన్యువల్గా కలిసి ఉంచాలి. ఇప్పుడు అలాంటి సమస్య లేదు. సాధారణంగా, Terraform ఈ సమస్యను పరిష్కరించింది. మరియు ఏదైనా నిరంతరం మారుతూ ఉంటే, మీరు తాళాలను ఉపయోగించవచ్చు, ఇది మీరు చెప్పినదానిని నిరోధించవచ్చు.
మీరు ఓపెన్ సోర్స్ లేదా ఎంటర్ప్రైజ్ ఉపయోగిస్తున్నారా?
ఎంటర్ప్రైజ్ లేదు, అంటే మీరు వెళ్లి ఉచితంగా డౌన్లోడ్ చేసుకోగలిగే ప్రతిదీ.
నా పేరు స్టానిస్లావ్. నేను ఒక చిన్న అదనంగా చేయాలనుకున్నాను. మీరు ఒక ఉదాహరణను చంపలేని విధంగా చేయడానికి మిమ్మల్ని అనుమతించే Amazon ఫీచర్ గురించి మాట్లాడారు. ఇది టెర్రాఫార్మ్లోనే ఉంది; లైఫ్ సెకండ్ బ్లాక్లో మీరు మార్పులపై నిషేధాన్ని లేదా విధ్వంసంపై నిషేధాన్ని పేర్కొనవచ్చు.
సమయం పరిమితం చేయబడింది. మంచి విషయం.
నేను కూడా రెండు విషయాలు అడగాలనుకున్నాను. మొదట, మీరు పరీక్ష గురించి మాట్లాడారు. మీరు ఏదైనా పరీక్ష సాధనాలను ఉపయోగించారా? నేను టెస్ట్ కిచెన్ ప్లగ్ఇన్ గురించి విన్నాను. బహుశా ఇంకా ఏదో ఉంది. మరియు నేను స్థానిక విలువల గురించి కూడా అడగాలనుకుంటున్నాను. ఇన్పుట్ వేరియబుల్స్ నుండి అవి ప్రాథమికంగా ఎలా విభిన్నంగా ఉన్నాయి? మరియు నేను స్థానిక విలువల ద్వారా మాత్రమే దేనినైనా ఎందుకు పరామితి చేయలేను? నేను ఈ అంశాన్ని గుర్తించడానికి ప్రయత్నించాను, కానీ ఏదో ఒకవిధంగా నేను దానిని గుర్తించలేకపోయాను.
మేము ఈ గది వెలుపల మరింత వివరంగా మాట్లాడవచ్చు. మా పరీక్షా సాధనాలు పూర్తిగా స్వీయ-నిర్మితమైనవి. అక్కడ పరీక్షించడానికి ఏమీ లేదు. సాధారణంగా, ఆటోమేటెడ్ పరీక్షలు ఎక్కడైనా ఇన్ఫ్రాస్ట్రక్చర్ని ఎంచుకుని, అది సరే అని తనిఖీ చేసి, ఆపై మీ ఇన్ఫ్రాస్ట్రక్చర్ ఇప్పటికీ మంచి స్థితిలో ఉందని నివేదికతో ప్రతిదీ నాశనం చేసినప్పుడు ఎంపికలు ఉన్నాయి. టెస్ట్ స్టాక్లు ప్రతిరోజూ అమలు చేయబడతాయి కాబట్టి మా వద్ద ఇది లేదు. మరియు అది సరిపోతుంది. మరియు ఏదైనా విరిగిపోతే, మనం దానిని మరెక్కడా తనిఖీ చేయకుండానే అది విరిగిపోతుంది.
స్థానిక విలువలకు సంబంధించి, గది వెలుపల సంభాషణను కొనసాగిద్దాం.
హలో! నివేదికకు ధన్యవాదాలు! చాలా ఇన్ఫర్మేటివ్. మీరు ఇన్ఫ్రాస్ట్రక్చర్ను వివరించడానికి ఒకే రకమైన కోడ్లను కలిగి ఉన్నారని చెప్పారు. మీరు ఈ కోడ్ని రూపొందించాలని ఆలోచించారా?
గొప్ప ప్రశ్న, ధన్యవాదాలు! పాయింట్ ఏంటంటే, మనం ఇన్ఫ్రాస్ట్రక్చర్ని కోడ్గా ఉపయోగించినప్పుడు, మేము కోడ్ని చూసి, ఆ కోడ్ వెనుక ఉన్న మౌలిక సదుపాయాలు ఏమిటో అర్థం చేసుకుంటాము. కోడ్ రూపొందించబడితే, అక్కడ ఎలాంటి మౌలిక సదుపాయాలు ఉంటాయో అర్థం చేసుకోవడానికి ఏ కోడ్ ఉత్పత్తి చేయబడుతుందో మనం ఊహించుకోవాలి. మనం కోడ్ని రూపొందించి, దానిని కమిట్ చేయండి మరియు తప్పనిసరిగా అదే జరుగుతుంది. కాబట్టి మేము వ్రాసిన మార్గాన్ని అనుసరించాము, మేము దానిని పొందాము. మేము వాటిని తయారు చేయడం ప్రారంభించినప్పుడు ప్లస్ జనరేటర్లు కొంచెం తరువాత కనిపించాయి. మరియు మార్చడానికి ఇప్పటికే చాలా ఆలస్యం అయింది.
మీరు jsonnet గురించి ఏదైనా విన్నారా?
నం
చూడండి, ఇది చాలా మంచి విషయం. మీరు దానిని వర్తింపజేయగల మరియు డేటా నిర్మాణాన్ని రూపొందించగల నిర్దిష్ట సందర్భాన్ని నేను చూస్తున్నాను.
షేవింగ్ మెషీన్ గురించి జోక్లో ఉన్నట్లుగా, జనరేటర్లు మీ వద్ద ఉన్నప్పుడు మంచివి. అంటే మొదటి సారి ముఖం భిన్నంగా ఉంటుంది, కానీ అప్పుడు అందరి ముఖం ఒకేలా ఉంటుంది. జనరేటర్లు చాలా బాగా పనిచేస్తాయి. కానీ, దురదృష్టవశాత్తు, మా ముఖాలు కొద్దిగా భిన్నంగా ఉంటాయి. ఇది సమస్య.
కొంచెం చూడు. ధన్యవాదాలు!
నా పేరు మాగ్జిమ్, నేను స్బేర్బ్యాంక్ నుండి వచ్చాను. ప్రోగ్రామింగ్ లాంగ్వేజ్కి సమానమైన టెర్రాఫార్మ్ని ఎలా తీసుకురావడానికి మీరు ప్రయత్నిస్తున్నారనే దాని గురించి మీరు కొంచెం మాట్లాడుకున్నారు. Ansible ను ఉపయోగించడం సులభం కాదా?
ఇవి చాలా భిన్నమైన విషయాలు. మీరు అన్సిబుల్లో వనరులను సృష్టించవచ్చు మరియు పప్పెట్ అమెజాన్లో వనరులను సృష్టించవచ్చు. కానీ టెర్రాఫార్మ్ నేరుగా పదును పెట్టబడింది.
మీకు అమెజాన్ మాత్రమే ఉందా?
మనకు అమెజాన్ మాత్రమే ఉందని కాదు. మాకు దాదాపు అమెజాన్ మాత్రమే ఉంది. కానీ టెర్రాఫార్మ్ గుర్తుపెట్టుకోవడం ప్రధాన లక్షణం. అన్సిబుల్లో, మీరు “నాకు 5 సందర్భాలు ఇవ్వండి” అని చెబితే, అది పెరుగుతుంది, ఆపై మీరు ఇలా అంటారు: “ఇప్పుడు నాకు 3 కావాలి.” మరియు టెర్రాఫార్మ్ ఇలా చెబుతుంది: "సరే, నేను 2ని చంపుతాను," మరియు అన్సిబుల్ ఇలా అంటాడు: "సరే, ఇదిగో 3 మీ కోసం." మొత్తం 8.
హలో! మీ నివేదికకు ధన్యవాదాలు! టెర్రాఫార్మ్ గురించి వినడం చాలా ఆసక్తికరంగా ఉంది. టెర్రాఫార్మ్ ఇప్పటికీ స్థిరమైన విడుదలను కలిగి లేనందున నేను వెంటనే ఒక చిన్న వ్యాఖ్యను చేయాలనుకుంటున్నాను, కాబట్టి టెర్రాఫార్మ్ను చాలా జాగ్రత్తగా చూసుకోండి.
రాత్రి భోజనానికి మంచి చెంచా. అంటే, మీకు పరిష్కారం అవసరమైతే, కొన్నిసార్లు మీరు అస్థిరంగా ఉన్నవాటిని వాయిదా వేస్తారు, కానీ అది పని చేస్తుంది మరియు ఇది మాకు సహాయపడింది.
ప్రశ్న ఇది. మీరు రిమోట్ బ్యాకెండ్ని ఉపయోగిస్తున్నారు, మీరు S 3ని ఉపయోగిస్తున్నారు. మీరు అధికారిక బ్యాకెండ్ని ఎందుకు ఉపయోగించకూడదు?
అధికారికా?
టెర్రాఫార్మ్ క్లౌడ్.
అతను ఎప్పుడు కనిపించాడు?
దాదాపు 4 నెలల క్రితం.
ఇది 4 సంవత్సరాల క్రితం కనిపించినట్లయితే, నేను బహుశా మీ ప్రశ్నకు సమాధానం ఇచ్చేవాడిని.
ఇప్పటికే అంతర్నిర్మిత ఫంక్షన్ మరియు లాక్లు ఉన్నాయి మరియు మీరు స్టేట్ ఫైల్ను నిల్వ చేయవచ్చు. దీనిని ఒకసారి ప్రయత్నించండి. కానీ నేను కూడా పరీక్షించలేదు.
అతివేగంతో వెళ్తున్న పెద్ద రైలులో ప్రయాణిస్తున్నాం. మరియు మీరు కొన్ని కార్లను తీసుకొని వాటిని విసిరేయలేరు.
మీరు స్నోఫ్లేక్స్ గురించి మాట్లాడారు, మీరు శాఖను ఎందుకు ఉపయోగించలేదు? ఆ విధంగా ఎందుకు పని చేయలేదు?
మా విధానం ఏమిటంటే మొత్తం మౌలిక సదుపాయాలు ఒకే రిపోజిటరీలో ఉంటాయి. టెర్రాఫార్మ్, పప్పెట్, దీనికి సంబంధించిన స్క్రిప్ట్లు అన్నీ ఒకే రిపోజిటరీలో ఉన్నాయి. ఈ విధంగా మేము పెరుగుతున్న మార్పులు ఒకదాని తర్వాత ఒకటి పరీక్షించబడతాయని నిర్ధారించుకోవచ్చు. ఇది శాఖల సమూహం అయితే, అటువంటి ప్రాజెక్ట్ నిర్వహించడం దాదాపు అసాధ్యం. ఆరు నెలలు గడిచిపోతాయి, మరియు వారు చాలా భిన్నంగా ఉంటారు, ఇది కేవలం ఒక రకమైన శిక్ష మాత్రమే. రీఫ్యాక్టరింగ్ చేయడానికి ముందు నేను తప్పించుకోవాలనుకున్నది ఇదే.
కాబట్టి ఇది పని చేయలేదా?
ఇది అస్సలు పని చేయదు.
శాఖలో నేను ఫోల్డర్ స్లయిడ్ను కత్తిరించాను. అంటే, మీరు ప్రతి టెస్ట్ స్టాక్ కోసం దీన్ని చేస్తే, ఉదాహరణకు, జట్టు A దాని స్వంత ఫోల్డర్ను కలిగి ఉంటుంది, జట్టు B దాని స్వంత ఫోల్డర్ను కలిగి ఉంటుంది, అప్పుడు ఇది కూడా పని చేయదు. మేము అందరికీ సరిపోయేంత అనువైన ఏకీకృత పరీక్ష పర్యావరణ కోడ్ని సృష్టించాము. అంటే, మేము ఒక కోడ్ని అందించాము.
హలో! నా పేరు యురా! నివేదికకు ధన్యవాదాలు! మాడ్యూల్స్ గురించి ప్రశ్న. మీరు మాడ్యూళ్లను ఉపయోగిస్తున్నారని చెప్పారు. ఒక మాడ్యూల్కి మరొక వ్యక్తి చేసిన మార్పుకు అనుకూలంగా లేని మార్పులు చేసినట్లయితే మీరు సమస్యను ఎలా పరిష్కరిస్తారు? మీరు ఏదో ఒకవిధంగా మాడ్యూల్లను సంస్కరణ చేస్తున్నారా లేదా రెండు అవసరాలను తీర్చడానికి వండర్వాఫిల్ను తీసుకురావడానికి ప్రయత్నిస్తున్నారా?
ఇది పెద్ద మంచు కుప్ప సమస్య. ఇన్ఫ్రాస్ట్రక్చర్లో కొంత భాగాన్ని హానిచేయని మార్పు విచ్ఛిన్నం చేయగలిగినప్పుడు మనం బాధపడేది ఇదే. మరియు ఇది చాలా కాలం తర్వాత మాత్రమే గమనించవచ్చు.
అంటే, ఇది ఇంకా పరిష్కరించబడలేదా?
మీరు యూనివర్సల్ మాడ్యూల్స్ తయారు చేస్తారు. స్నోఫ్లేక్స్ నివారించండి. మరియు ప్రతిదీ పని చేస్తుంది. దీన్ని నివారించడం ఎలా అనేదే నివేదికలోని ద్వితీయార్థం.
హలో! నివేదికకు ధన్యవాదాలు! నేను స్పష్టం చేయాలనుకుంటున్నాను. తెర వెనుక నేను వచ్చిన పెద్ద కుప్ప ఉంది. పప్పెట్ మరియు రోల్ డిస్ట్రిబ్యూషన్ ఎలా ఏకీకృతం చేయబడ్డాయి?
వినియోగదారు డేటా.
అంటే, మీరు ఫైల్ను ఉమ్మివేసి, దాన్ని ఎలాగైనా అమలు చేస్తారా?
వినియోగదారు-డేటా అనేది ఒక గమనిక, అనగా మనం చిత్రం యొక్క క్లోన్ను రూపొందించినప్పుడు, డెమోన్ అక్కడ లేచి, అతను ఎవరో గుర్తించడానికి ప్రయత్నిస్తూ, అతను లోడ్ బ్యాలెన్సర్ అని నోట్ను చదివాడు.
అంటే, ఇది విడిగా ఇవ్వబడిన ఒక రకమైన ప్రత్యేక ప్రక్రియనా?
మేము దానిని కనిపెట్టలేదు. మేము దానిని ఉపయోగిస్తాము.
హలో! వినియోగదారు డేటా గురించి నాకు ఒక ప్రశ్న ఉంది. అక్కడ సమస్యలు ఉన్నాయని, ఎవరైనా తప్పు ప్రదేశానికి పంపవచ్చని మీరు చెప్పారు. వినియోగదారు-డేటాను అదే Gitలో నిల్వ చేయడానికి ఏదైనా మార్గం ఉందా, తద్వారా వినియోగదారు డేటా దేనిని సూచిస్తుందో ఎల్లప్పుడూ స్పష్టంగా ఉంటుంది?
మేము టెంప్లేట్ నుండి వినియోగదారు డేటాను రూపొందిస్తాము. అంటే, అక్కడ నిర్దిష్ట సంఖ్యలో వేరియబుల్స్ ఉపయోగించబడతాయి. మరియు Terraform తుది ఫలితాన్ని ఉత్పత్తి చేస్తుంది. అందువల్ల, మీరు కేవలం టెంప్లేట్ని చూసి ఏమి జరుగుతుందో చెప్పలేరు, ఎందుకంటే డెవలపర్ ఈ వేరియబుల్లో స్ట్రింగ్ను పాస్ చేస్తున్నట్లు అన్ని సమస్యలకు సంబంధించినవి, కానీ అక్కడ ఒక శ్రేణి ఉపయోగించబడుతుంది. మరియు అతను - బామ్ మరియు నేను - కాబట్టి-మరియు-అలా-మరియు-అలాగే, తదుపరి లైన్, మరియు ప్రతిదీ విరిగింది. ఇది కొత్త వనరు అయితే మరియు ఒక వ్యక్తి దానిని ఎంచుకొని ఏదో పని చేయడం లేదని చూస్తే, అది త్వరగా పరిష్కరించబడుతుంది. మరియు ఈ ఆటోస్కేల్ సమూహం అప్డేట్ చేయబడితే, ఏదో ఒక సమయంలో ఆటోస్కేల్ సమూహంలోని సందర్భాలు భర్తీ చేయబడటం ప్రారంభమవుతుంది. మరియు బ్యాంగ్, ఏదో పని లేదు. అది బాధిస్తుంది.
పరీక్ష మాత్రమే పరిష్కారం అని తేలింది?
అవును, మీరు సమస్యను చూస్తున్నారు, మీరు అక్కడ పరీక్ష దశలను జోడించారు. అంటే, అవుట్పుట్ని కూడా పరీక్షించవచ్చు. బహుశా ఇది అంత సౌకర్యవంతంగా ఉండకపోవచ్చు, కానీ మీరు కొన్ని మార్కులను కూడా ఉంచవచ్చు - వినియోగదారు-డేటా ఇక్కడ నేయిల్ చేయబడిందో లేదో తనిఖీ చేయండి.
నా పేరు తైమూర్. టెర్రాఫార్మ్ను ఎలా సరిగ్గా నిర్వహించాలనే దానిపై నివేదికలు ఉండటం చాలా బాగుంది.
నేను ఇంకా ప్రారంభించలేదు.
బహుశా తదుపరి సమావేశంలో ఉండవచ్చు అని నేను అనుకుంటున్నాను. నాకు ఒక సాధారణ ప్రశ్న ఉంది. ఎందుకు మీరు tfvarsని ఉపయోగించకుండా ప్రత్యేక మాడ్యూల్లో విలువను హార్డ్కోడ్ చేస్తున్నారు, అంటే tfvars కంటే విలువలు ఉన్న మాడ్యూల్ ఎందుకు మెరుగ్గా ఉంటుంది?
అంటే, నేను ఇక్కడ వ్రాయాలి (స్లయిడ్: Production/environment/settings.tf): domain = వేరియబుల్, డొమైన్ vpcnetwork, వేరియబుల్ vpcnetwork మరియు stvars – నేను అదే విషయాన్ని పొందగలనా?
సరిగ్గా మనం చేసేది అదే. మేము సెట్టింగ్ సోర్స్ మాడ్యూల్ని సూచిస్తాము, ఉదాహరణకు.
ముఖ్యంగా, ఇది అటువంటి tfvars. పరీక్షా వాతావరణంలో Tfvars చాలా సౌకర్యవంతంగా ఉంటుంది. నా దగ్గర పెద్ద సందర్భాల్లో, చిన్న వాటి కోసం tfvarలు ఉన్నాయి. మరియు నేను ఒక ఫైల్ను ఫోల్డర్లోకి విసిరాను. మరియు నేను కోరుకున్నది పొందాను. మేము మౌలిక సదుపాయాలను తగ్గించేటప్పుడు, ప్రతిదీ చూడటం మరియు వెంటనే అర్థం చేసుకోవడం సాధ్యమవుతుందని మేము కోరుకుంటున్నాము. కాబట్టి మీరు ఇక్కడ చూడాలి, ఆపై tfvars చూడండి.
అన్నీ ఒకే చోట ఉండడం సాధ్యమేనా?
అవును, tfvars అంటే మీకు ఒక కోడ్ ఉన్నప్పుడు. మరియు ఇది వివిధ సూక్ష్మ నైపుణ్యాలతో వివిధ ప్రదేశాలలో ఉపయోగించబడుతుంది. అప్పుడు మీరు tfvarలను విసిరి, మీ సూక్ష్మ నైపుణ్యాలను పొందుతారు. మరియు మేము దాని స్వచ్ఛమైన రూపంలో కోడ్ వలె మౌలిక సదుపాయాలు. చూసి అర్థం చేసుకున్నాను.
హలో! మీరు టెర్రాఫార్మ్ని రూపొందించిన దానిలో క్లౌడ్ ప్రొవైడర్ జోక్యం చేసుకునే సందర్భాలు మీకు ఎదురయ్యాయా? మనం మెటాడేటాను ఎడిట్ చేసాము అనుకుందాం. ssh కీలు ఉన్నాయి. మరియు Google నిరంతరం దాని మెటాడేటా మరియు దాని కీలను అక్కడ ఉంచుతుంది. మరియు టెర్రాఫార్మ్ ఎల్లప్పుడూ మార్పులను కలిగి ఉందని వ్రాస్తుంది. ప్రతి పరుగు తర్వాత, ఏమీ మారకపోయినా, అతను ఇప్పుడు ఈ ఫీల్డ్ను అప్డేట్ చేస్తానని ఎప్పుడూ చెబుతాడు.
కీలతో, అయితే, అవస్థాపనలో కొంత భాగం ఈ విషయం ద్వారా ప్రభావితమవుతుంది, అంటే టెర్రాఫార్మ్ దేనినీ మార్చదు. మనం కూడా మన చేతులతో దేనినీ మార్చలేము. మేము ప్రస్తుతానికి దానితో జీవిస్తాము.
అంటే, మీరు ఇలాంటిదే ఎదుర్కొన్నారు, కానీ దేనితోనూ ముందుకు రాలేదు, అతను ఎలా చేస్తాడు మరియు స్వయంగా చేస్తాడు?
దురదృష్టవశాత్తు అవును.
హలో! నా పేరు స్టార్కోవ్ స్టానిస్లావ్. మెయిల్. ru గ్రూప్. మీరు ట్యాగ్ని రూపొందించడంలో సమస్యను ఎలా పరిష్కరిస్తారు..., మీరు దానిని లోపలికి ఎలా పాస్ చేస్తారు? నేను అర్థం చేసుకున్నట్లుగా, హోస్ట్ పేరును పేర్కొనడానికి యూజర్ - డేటా ద్వారా, పప్పెట్ని ఆన్ చేయాలా? మరియు ప్రశ్న యొక్క రెండవ భాగం. మీరు SGలో ఈ సమస్యను ఎలా పరిష్కరిస్తారు, అంటే మీరు SGని రూపొందించినప్పుడు, ఒకే రకమైన వందలాది ఉదాహరణలు, వాటికి సరైన పేరు ఏమిటి?
మాకు చాలా ముఖ్యమైన సందర్భాలు, మేము వాటిని అందంగా పేరు పెట్టాము. అవసరం లేనివి, ఇది ఆటోస్కేల్ గ్రూప్ అని నోట్ ఉంది. మరియు సిద్ధాంతంలో మీరు దానిని తగ్గించి, కొత్తదాన్ని పొందవచ్చు.
ట్యాగ్తో సమస్య విషయానికొస్తే, అలాంటి సమస్య లేదు, కానీ అలాంటి పని ఉంది. మరియు మేము ట్యాగ్లను చాలా చాలా ఎక్కువగా ఉపయోగిస్తాము, ఎందుకంటే మౌలిక సదుపాయాలు పెద్దవి మరియు ఖరీదైనవి. మరియు డబ్బు ఎక్కడికి వెళుతుందో మనం చూడాలి, కాబట్టి ట్యాగ్లు ఎక్కడికి వెళ్లాయో విడదీయడానికి అనుమతిస్తాయి. మరియు, తదనుగుణంగా, చాలా డబ్బు అంటే ఏదో కోసం శోధన ఇక్కడ ఖర్చు చేయబడుతుంది.
ఇంకా దేని గురించి ప్రశ్న వచ్చింది?
SG వందలాది సందర్భాలను సృష్టించినప్పుడు, వాటిని ఏదో ఒకవిధంగా గుర్తించాల్సిన అవసరం ఉందా?
లేదు, వద్దు. ప్రతి సందర్భంలో నాకు సమస్య ఉందని నివేదించే ఏజెంట్ ఉన్నారు. ఒక ఏజెంట్ నివేదించినట్లయితే, ఏజెంట్ అతని గురించి తెలుసుకుంటారు మరియు కనీసం అతని IP చిరునామా ఉనికిలో ఉంటుంది. మీరు ఇప్పటికే పారిపోవచ్చు. రెండవది, మేము డిస్కవరీ కోసం కాన్సుల్ని ఉపయోగిస్తాము, అక్కడ కుబెర్నెటెస్ లేదు. మరియు కాన్సుల్ ఉదాహరణ యొక్క IP చిరునామాను కూడా చూపుతుంది.
అంటే, మీరు హోస్ట్ పేరుపై కాకుండా IPపై ప్రత్యేకంగా దృష్టి పెడుతున్నారా?
హోస్ట్ పేరు ద్వారా నావిగేట్ చేయడం అసాధ్యం, అంటే వాటిలో చాలా ఉన్నాయి. దృష్టాంత ఐడెంటిఫైయర్లు ఉన్నాయి - AE, మొదలైనవి. మీరు దానిని ఎక్కడో కనుగొనవచ్చు, మీరు దానిని శోధనలో వేయవచ్చు.
హలో! టెర్రాఫార్మ్ అనేది మేఘాల కోసం రూపొందించబడిన మంచి విషయం అని నేను గ్రహించాను.
అంతే కాదు.
ఇది ఖచ్చితంగా నాకు ఆసక్తి కలిగించే ప్రశ్న. మీరు మీ అన్ని సందర్భాలతో కలిపి బేర్ మెటల్కి తరలించాలని నిర్ణయించుకుంటే? ఏమైనా సమస్యలు వస్తాయా? లేదా మీరు ఇప్పటికీ ఇతర ఉత్పత్తులను ఉపయోగించాల్సి ఉంటుందా, ఉదాహరణకు, ఇక్కడ పేర్కొన్న అదే Ansible?
అన్సిబుల్ వేరే దాని గురించి కొంచెం. అంటే, ఉదాహరణ ప్రారంభించినప్పుడు Ansible ఇప్పటికే పని చేస్తుంది. మరియు టెర్రాఫార్మ్ ఉదాహరణ ప్రారంభమయ్యే ముందు పనిచేస్తుంది. బేర్ మెటల్కి మారడం - నం.
ఇప్పుడు కాదు, కానీ వ్యాపారం వచ్చి ఇలా చెబుతుంది: "రండి."
మరొక క్లౌడ్కి మారుతోంది - అవును, కానీ ఇక్కడ కొంచెం భిన్నమైన ట్రిక్ ఉంది. మీరు తక్కువ శ్రమతో వేరే క్లౌడ్కి మారే విధంగా టెర్రాఫార్మ్ కోడ్ని వ్రాయాలి.
ప్రారంభంలో, మా మొత్తం అవస్థాపన అజ్ఞేయవాది అని, అంటే ఏదైనా క్లౌడ్ అనుకూలంగా ఉండాలని టాస్క్ సెట్ చేయబడింది, కానీ ఏదో ఒక సమయంలో వ్యాపారాన్ని వదిలివేసి ఇలా చెప్పింది: “సరే, రాబోయే N సంవత్సరాలలో మేము ఎక్కడికీ వెళ్లము, మేము సేవలను ఉపయోగించవచ్చు అమెజాన్ నుండి "
టెర్రాఫార్మ్ మిమ్మల్ని ఫ్రంట్-ఎండ్ జాబ్లను క్రియేట్ చేయడానికి, పేజర్డ్యూటీని కాన్ఫిగర్ చేయడానికి, డేటా డాక్యుమెంట్ మొదలైనవాటిని అనుమతిస్తుంది. దీనికి చాలా టైల్స్ ఉన్నాయి. అతను మొత్తం ప్రపంచాన్ని ఆచరణాత్మకంగా నియంత్రించగలడు.
నివేదికకు ధన్యవాదాలు! నేను కూడా ఇప్పుడు 4 సంవత్సరాలుగా Terraform ఉపయోగిస్తున్నాను. టెర్రాఫార్మ్కి, ఇన్ఫ్రాస్ట్రక్చర్కి, డిక్లరేటివ్ వర్ణనకు సాఫీగా మారే దశలో, ఎవరో చేతితో ఏదో చేస్తున్నప్పుడు, మీరు ప్లాన్ చేయడానికి ప్రయత్నిస్తున్న పరిస్థితిని మేము ఎదుర్కొన్నాము. మరియు నాకు అక్కడ ఒక రకమైన లోపం వచ్చింది. అటువంటి సమస్యలను మీరు ఎలా ఎదుర్కొంటారు? జాబితా చేయబడిన కోల్పోయిన వనరులను మీరు ఎలా కనుగొంటారు?
ప్రధానంగా మన చేతులతో మరియు కళ్లతో, నివేదికలో ఏదైనా వింత కనిపిస్తే, మేము అక్కడ ఏమి జరుగుతుందో విశ్లేషిస్తాము లేదా చంపేస్తాము. సాధారణంగా, పుల్ అభ్యర్థనలు ఒక సాధారణ విషయం.
లోపం ఉంటే, మీరు వెనక్కి తీసుకుంటారా? మీరు దీన్ని చేయడానికి ప్రయత్నించారా?
లేదు, ఇది ఒక వ్యక్తి సమస్యను చూసినప్పుడు తీసుకునే నిర్ణయం.
మూలం: www.habr.com