ప్రోహోస్టర్ > బ్లాగ్ > పరిపాలన > కోడ్గా మౌలిక సదుపాయాలు: XPని ఉపయోగించి సమస్యలను ఎలా అధిగమించాలి
కోడ్గా మౌలిక సదుపాయాలు: XPని ఉపయోగించి సమస్యలను ఎలా అధిగమించాలి
హలో, హబ్ర్! మునుపు, నేను కోడ్ నమూనాగా ఇన్ఫ్రాస్ట్రక్చర్లో జీవితం గురించి ఫిర్యాదు చేసాను మరియు ప్రస్తుత పరిస్థితిని పరిష్కరించడానికి ఏమీ అందించలేదు. నిరాశ యొక్క అగాధం నుండి తప్పించుకోవడానికి మరియు పరిస్థితిని సరైన దిశలో నడిపించడానికి మీకు ఏ విధానాలు మరియు అభ్యాసాలు సహాయపడతాయో ఈ రోజు నేను మీకు చెప్పడానికి తిరిగి వచ్చాను.
మునుపటి వ్యాసంలో "కోడ్గా మౌలిక సదుపాయాలు: మొదటి పరిచయం" నేను ఈ ప్రాంతం గురించి నా అభిప్రాయాలను పంచుకున్నాను, ఈ ప్రాంతంలోని ప్రస్తుత పరిస్థితిని ప్రతిబింబించడానికి ప్రయత్నించాను మరియు డెవలపర్లందరికీ తెలిసిన ప్రామాణిక పద్ధతులు సహాయపడతాయని కూడా సూచించాను. జీవితం గురించి చాలా ఫిర్యాదులు ఉన్నాయని అనిపించవచ్చు, కానీ ప్రస్తుత పరిస్థితి నుండి బయటపడటానికి ఎటువంటి ప్రతిపాదనలు లేవు.
మనం ఎవరు, మనం ఎక్కడ ఉన్నాం మరియు మనకు ఎలాంటి సమస్యలు ఉన్నాయి
మేము ప్రస్తుతం Sre ఆన్బోర్డింగ్ బృందంలో ఉన్నాము, ఇందులో ఆరుగురు ప్రోగ్రామర్లు మరియు ముగ్గురు ఇన్ఫ్రాస్ట్రక్చర్ ఇంజనీర్లు ఉన్నారు. మనమందరం ఇన్ఫ్రాస్ట్రక్చర్ని కోడ్ (IaC)గా వ్రాయడానికి ప్రయత్నిస్తున్నాము. కోడ్ను ఎలా వ్రాయాలో ప్రాథమికంగా మాకు తెలుసు మరియు "సగటు కంటే ఎక్కువ" డెవలపర్ల చరిత్ర ఉన్నందున మేము దీన్ని చేస్తాము.
మేము ప్రయోజనాల సమితిని కలిగి ఉన్నాము: నిర్దిష్ట నేపథ్యం, అభ్యాసాల పరిజ్ఞానం, కోడ్ వ్రాయగల సామర్థ్యం, కొత్త విషయాలను నేర్చుకోవాలనే కోరిక.
మరియు ఒక కుంగిపోయిన భాగం ఉంది, ఇది కూడా మైనస్: మౌలిక సదుపాయాల హార్డ్వేర్ గురించి జ్ఞానం లేకపోవడం.
మా IaCలో మేము ఉపయోగించే టెక్నాలజీ స్టాక్.
వనరులను సృష్టించడానికి టెర్రాఫార్మ్.
చిత్రాలను అసెంబ్లింగ్ చేయడానికి ప్యాకర్. ఇవి Windows, CentOS 7 చిత్రాలు.
Jsonnet drone.ioలో శక్తివంతమైన బిల్డ్ చేయడానికి, అలాగే ప్యాకర్ json మరియు మా టెర్రాఫార్మ్ మాడ్యూల్లను రూపొందించడానికి.
నీలవర్ణం.
చిత్రాలను సిద్ధం చేసేటప్పుడు గుర్తించదగినది.
సహాయక సేవలు మరియు ప్రొవిజనింగ్ స్క్రిప్ట్ల కోసం పైథాన్.
మరియు జట్టు సభ్యుల మధ్య భాగస్వామ్యం చేయబడిన ప్లగిన్లతో VSCodeలో ఇవన్నీ.
నా నుండి తీర్మానం చివరి వ్యాసం ఇలా ఉంది: నేను (మొదట నాలో) ఆశావాదాన్ని నింపడానికి ప్రయత్నించాను, ఈ ప్రాంతంలో ఉన్న ఇబ్బందులు మరియు సంక్లిష్టతలను ఎదుర్కోవటానికి మనకు తెలిసిన విధానాలు మరియు అభ్యాసాలను మేము ప్రయత్నిస్తామని చెప్పాలనుకుంటున్నాను.
మేము ప్రస్తుతం క్రింది IaC సమస్యలతో పోరాడుతున్నాము:
కోడ్ అభివృద్ధి కోసం సాధనాలు మరియు సాధనాల అసంపూర్ణత.
నెమ్మదిగా విస్తరణ. అవస్థాపన వాస్తవ ప్రపంచంలో భాగం, మరియు అది నెమ్మదిగా ఉంటుంది.
విధానాలు మరియు అభ్యాసాలు లేకపోవడం.
మేము కొత్తవాళ్ళం మరియు పెద్దగా తెలియదు.
ఎక్స్ట్రీమ్ ప్రోగ్రామింగ్ (XP) రెస్క్యూ
డెవలపర్లందరికీ ఎక్స్ట్రీమ్ ప్రోగ్రామింగ్ (XP) మరియు దాని వెనుక ఉన్న అభ్యాసాల గురించి బాగా తెలుసు. మనలో చాలా మంది ఈ విధానంతో పని చేసారు మరియు ఇది విజయవంతమైంది. కాబట్టి మౌలిక సదుపాయాల సవాళ్లను అధిగమించడానికి అక్కడ నిర్దేశించిన సూత్రాలు మరియు అభ్యాసాలను ఎందుకు ఉపయోగించకూడదు? మేము ఈ విధానాన్ని అనుసరించాలని నిర్ణయించుకున్నాము మరియు ఏమి జరుగుతుందో చూడాలి.
మీ పరిశ్రమకు XP విధానం యొక్క వర్తింపును తనిఖీ చేస్తోందిXPకి బాగా సరిపోయే పర్యావరణం మరియు అది మనకు ఎలా సంబంధం కలిగి ఉందో ఇక్కడ వివరించబడింది:
1. డైనమిక్గా మారుతున్న సాఫ్ట్వేర్ అవసరాలు. అంతిమ లక్ష్యం ఏమిటో మాకు స్పష్టమైంది. కానీ వివరాలు మారవచ్చు. మనం ఎక్కడ టాక్సీకి వెళ్లాలో మనమే నిర్ణయిస్తాము, కాబట్టి అవసరాలు క్రమానుగతంగా మారుతాయి (ప్రధానంగా మనమే). మేము SRE బృందాన్ని తీసుకుంటే, ఇది ఆటోమేషన్ను స్వయంగా చేస్తుంది మరియు పని యొక్క అవసరాలు మరియు పరిధిని పరిమితం చేస్తుంది, అప్పుడు ఈ పాయింట్ బాగా సరిపోతుంది.
2. కొత్త టెక్నాలజీని ఉపయోగించి నిర్ణీత సమయ ప్రాజెక్ట్ల వల్ల కలిగే నష్టాలు. మనకు తెలియని కొన్ని వస్తువులను ఉపయోగించినప్పుడు మనం ప్రమాదాలను ఎదుర్కోవచ్చు. మరియు ఇది 100% మా కేసు. మా ప్రాజెక్ట్ మొత్తం మాకు పూర్తిగా పరిచయం లేని సాంకేతికతలను ఉపయోగించడం. సాధారణంగా, ఇది స్థిరమైన సమస్య, ఎందుకంటే ... ఇన్ఫ్రాస్ట్రక్చర్ రంగంలో ఎప్పటికప్పుడు అనేక కొత్త టెక్నాలజీలు పుట్టుకొస్తూనే ఉన్నాయి.
3,4 చిన్న, సహ-స్థానంలో విస్తరించిన అభివృద్ధి బృందం. మీరు ఉపయోగిస్తున్న ఆటోమేటెడ్ టెక్నాలజీ యూనిట్ మరియు ఫంక్షనల్ పరీక్షలను అనుమతిస్తుంది. ఈ రెండు పాయింట్లు మనకు సరిపోవు. మొదట, మేము సమన్వయ బృందం కాదు, మరియు రెండవది, మాలో తొమ్మిది మంది ఉన్నారు, ఇది పెద్ద జట్టుగా పరిగణించబడుతుంది. అయినప్పటికీ, "పెద్ద" బృందం యొక్క కొన్ని నిర్వచనాల ప్రకారం, చాలా మంది 14+ మంది ఉన్నారు.
కొన్ని XP పద్ధతులు మరియు అవి ఫీడ్బ్యాక్ వేగం మరియు నాణ్యతను ఎలా ప్రభావితం చేస్తాయో చూద్దాం.
XP ఫీడ్బ్యాక్ లూప్ సూత్రం
నా అవగాహన ప్రకారం, ఫీడ్బ్యాక్ అనేది ప్రశ్నకు సమాధానం, నేను సరైన పని చేస్తున్నానా, మనం అక్కడికి వెళ్తున్నామా? దీని కోసం XP ఒక దివ్య స్కీమ్ని కలిగి ఉంది: టైమ్ ఫీడ్బ్యాక్ లూప్. ఆసక్తికరమైన విషయం ఏమిటంటే, మనం ఎంత తక్కువగా ఉంటే, అవసరమైన ప్రశ్నలకు సమాధానం ఇవ్వడానికి OSని వేగంగా పొందగలుగుతాము.
ఇది చర్చకు చాలా ఆసక్తికరమైన అంశం, మా IT పరిశ్రమలో త్వరగా OS పొందడం సాధ్యమవుతుంది. ఆరునెలలకోసారి ప్రాజెక్ట్ చేసి మొదట్లో పొరపాటు జరిగిందని అప్పుడే తెలుసుకోవడం ఎంత బాధాకరమో ఆలోచించండి. ఇది రూపకల్పనలో మరియు సంక్లిష్ట వ్యవస్థల యొక్క ఏదైనా నిర్మాణంలో జరుగుతుంది.
మా IaC విషయంలో, అభిప్రాయం మాకు సహాయపడుతుంది. పైన ఉన్న రేఖాచిత్రానికి నేను వెంటనే చిన్న సర్దుబాటు చేస్తాను: విడుదల ప్రణాళికకు నెలవారీ చక్రం లేదు, కానీ రోజుకు చాలా సార్లు జరుగుతుంది. ఈ OS సైకిల్తో ముడిపడి ఉన్న కొన్ని పద్ధతులు ఉన్నాయి, వాటిని మేము మరింత వివరంగా పరిశీలిస్తాము.
ముఖ్యమైనది: పైన పేర్కొన్న అన్ని సమస్యలకు అభిప్రాయం పరిష్కారంగా ఉంటుంది. XP అభ్యాసాలతో కలిపి, ఇది మిమ్మల్ని నిరాశ యొక్క అగాధం నుండి బయటకు లాగగలదు.
నిరాశ యొక్క అగాధం నుండి మిమ్మల్ని మీరు ఎలా బయటకు తీయాలి: మూడు అభ్యాసాలు
పరీక్షలు
XP ఫీడ్బ్యాక్ లూప్లో పరీక్షలు రెండుసార్లు ప్రస్తావించబడ్డాయి. ఇది కేవలం అలాంటిది కాదు. మొత్తం ఎక్స్ట్రీమ్ ప్రోగ్రామింగ్ టెక్నిక్కి అవి చాలా ముఖ్యమైనవి.
మీకు యూనిట్ మరియు అంగీకార పరీక్షలు ఉన్నాయని భావించబడుతుంది. కొందరు మీకు కొన్ని నిమిషాల్లో అభిప్రాయాన్ని అందిస్తారు, మరికొందరు కొన్ని రోజులలో, వారు వ్రాయడానికి ఎక్కువ సమయం తీసుకుంటారు మరియు తక్కువ తరచుగా సమీక్షించబడతారు.
ఒక క్లాసిక్ టెస్టింగ్ పిరమిడ్ ఉంది, ఇది మరిన్ని పరీక్షలు ఉండాలని చూపిస్తుంది.
IaC ప్రాజెక్ట్లో ఈ ఫ్రేమ్వర్క్ మాకు ఎలా వర్తిస్తుంది? నిజానికి... అస్సలు కాదు.
యూనిట్ పరీక్షలు, వాటిలో చాలా ఉండాలి అనే వాస్తవం ఉన్నప్పటికీ, చాలా ఎక్కువ ఉండకూడదు. లేదా వారు చాలా పరోక్షంగా ఏదో పరీక్షిస్తున్నారు. నిజానికి మనం వాటిని అస్సలు రాయడం లేదని చెప్పొచ్చు. కానీ మేము చేయగలిగిన అటువంటి పరీక్షల కోసం ఇక్కడ కొన్ని అప్లికేషన్లు ఉన్నాయి:
jsonnet కోడ్ని పరీక్షిస్తోంది. ఇది, ఉదాహరణకు, మా డ్రోన్ అసెంబ్లీ పైప్లైన్, ఇది చాలా క్లిష్టంగా ఉంటుంది. jsonnet కోడ్ పరీక్షల ద్వారా బాగా కవర్ చేయబడింది.
మేము దీనిని ఉపయోగిస్తాము Jsonnet కోసం యూనిట్ టెస్టింగ్ ఫ్రేమ్వర్క్.
వనరు ప్రారంభమైనప్పుడు అమలు చేయబడే స్క్రిప్ట్ల కోసం పరీక్షలు. స్క్రిప్ట్లు పైథాన్లో వ్రాయబడ్డాయి మరియు అందువల్ల వాటిపై పరీక్షలు వ్రాయవచ్చు.
పరీక్షలలో కాన్ఫిగరేషన్ను తనిఖీ చేయడం సాధ్యమే, కానీ మేము అలా చేయము. ద్వారా రిసోర్స్ కాన్ఫిగరేషన్ నియమాలను తనిఖీ చేయడం కూడా కాన్ఫిగర్ చేయడం సాధ్యపడుతుంది tflint. అయినప్పటికీ, అక్కడ ఉన్న చెక్కులు టెర్రాఫార్మ్ కోసం చాలా ప్రాథమికమైనవి, కానీ చాలా పరీక్ష స్క్రిప్ట్లు AWS కోసం వ్రాయబడ్డాయి. మరియు మేము అజూర్లో ఉన్నాము, కాబట్టి ఇది మళ్లీ వర్తించదు.
కాంపోనెంట్ ఇంటిగ్రేషన్ పరీక్షలు: మీరు వాటిని ఎలా వర్గీకరిస్తారు మరియు మీరు వాటిని ఎక్కడ ఉంచారు అనే దానిపై ఆధారపడి ఉంటుంది. కానీ అవి ప్రాథమికంగా పనిచేస్తాయి.
ఇంటిగ్రేషన్ పరీక్షలు ఇలా ఉంటాయి.
డ్రోన్ CIలో చిత్రాలను నిర్మించేటప్పుడు ఇది ఒక ఉదాహరణ. వాటిని చేరుకోవడానికి, మీరు ప్యాకర్ చిత్రం ఏర్పడటానికి 30 నిమిషాలు వేచి ఉండాలి, ఆపై అవి పాస్ అయ్యే వరకు మరో 15 నిమిషాలు వేచి ఉండండి. కానీ అవి ఉన్నాయి!
చిత్రం ధృవీకరణ అల్గోరిథం
ప్యాకర్ మొదట చిత్రాన్ని పూర్తిగా సిద్ధం చేయాలి.
పరీక్ష పక్కన స్థానిక రాష్ట్రంతో టెర్రాఫాం ఉంది, మేము ఈ చిత్రాన్ని అమలు చేయడానికి ఉపయోగిస్తాము.
విప్పుతున్నప్పుడు, చిత్రంతో పని చేయడం సులభతరం చేయడానికి సమీపంలోని చిన్న మాడ్యూల్ ఉపయోగించబడుతుంది.
చిత్రం నుండి VM అమలు చేయబడిన తర్వాత, తనిఖీలు ప్రారంభమవుతాయి. ప్రాథమికంగా, తనిఖీలు కారు ద్వారా నిర్వహించబడతాయి. ఇది స్టార్టప్లో స్క్రిప్ట్లు ఎలా పని చేశాయో మరియు డెమోన్లు ఎలా పనిచేస్తాయో తనిఖీ చేస్తుంది. దీన్ని చేయడానికి, ssh లేదా winrm ద్వారా మేము కొత్తగా పెరిగిన మెషీన్లోకి లాగిన్ చేస్తాము మరియు కాన్ఫిగరేషన్ స్థితిని తనిఖీ చేస్తాము లేదా సేవలు అందుబాటులో ఉన్నాయో లేదో తనిఖీ చేస్తాము.
టెర్రాఫార్మ్ కోసం మాడ్యూల్స్లో ఇంటిగ్రేషన్ పరీక్షల విషయంలో కూడా ఇదే పరిస్థితి ఉంది. అటువంటి పరీక్షల లక్షణాలను వివరించే చిన్న పట్టిక ఇక్కడ ఉంది.
పైప్లైన్పై అభిప్రాయం సుమారు 40 నిమిషాలు ఉంటుంది. ప్రతిదీ చాలా కాలం పాటు జరుగుతుంది. ఇది రిగ్రెషన్ కోసం ఉపయోగించబడుతుంది, కానీ కొత్త అభివృద్ధికి ఇది సాధారణంగా అవాస్తవంగా ఉంటుంది. మీరు దీని కోసం చాలా చాలా సిద్ధంగా ఉంటే, నడుస్తున్న స్క్రిప్ట్లను సిద్ధం చేయండి, అప్పుడు మీరు దానిని 10 నిమిషాలకు తగ్గించవచ్చు. కానీ ఇవి ఇప్పటికీ యూనిట్ పరీక్షలు కాదు, ఇవి 5 సెకన్లలో 100 ముక్కలను చేస్తాయి.
ఇమేజ్లు లేదా టెర్రాఫార్మ్ మాడ్యూల్లను అసెంబ్లింగ్ చేసేటప్పుడు యూనిట్ టెస్ట్లు లేకపోవడం వల్ల పనిని REST ద్వారా లేదా పైథాన్ స్క్రిప్ట్ల ద్వారా అమలు చేయగల ప్రత్యేక సేవలకు మార్చడాన్ని ప్రోత్సహిస్తుంది.
ఉదాహరణకు, వర్చువల్ మెషీన్ ప్రారంభమైనప్పుడు, అది సేవలో నమోదు చేసుకుంటుందని మేము నిర్ధారించుకోవాలి ScaleFT, మరియు వర్చువల్ మిషన్ నాశనం అయినప్పుడు, అది స్వయంగా తొలగించబడింది.
మేము ScaleFTని సేవగా కలిగి ఉన్నందున, మేము API ద్వారా దానితో పని చేయవలసి వస్తుంది. "లోపలికి వెళ్లి ఇది మరియు దానిని తొలగించండి" అని మీరు లాగి చెప్పగల రేపర్ అక్కడ వ్రాయబడింది. ఇది అవసరమైన అన్ని సెట్టింగ్లు మరియు యాక్సెస్లను నిల్వ చేస్తుంది.
దీని కోసం మేము ఇప్పటికే సాధారణ పరీక్షలను వ్రాయవచ్చు, ఎందుకంటే ఇది సాధారణ సాఫ్ట్వేర్ నుండి భిన్నంగా లేదు: ఒక రకమైన అపిహా వెక్కిరించింది, మీరు దాన్ని లాగి, ఏమి జరుగుతుందో చూడండి.
పరీక్షల ఫలితాలు: యూనిట్ టెస్టింగ్, ఒక నిమిషంలో OS ఇవ్వాలి, అది ఇవ్వదు. మరియు పిరమిడ్లో ఎక్కువ పరీక్షలు చేసే రకాలు ప్రభావవంతంగా ఉంటాయి, కానీ సమస్యలలో కొంత భాగాన్ని మాత్రమే కవర్ చేస్తాయి.
పెయిర్ ప్రోగ్రామింగ్
పరీక్షలు, వాస్తవానికి, మంచివి. మీరు వాటిని చాలా వ్రాయవచ్చు, అవి వివిధ రకాలుగా ఉండవచ్చు. వారు వారి స్థాయిలలో పని చేస్తారు మరియు మాకు అభిప్రాయాన్ని అందిస్తారు. కానీ వేగవంతమైన OSని అందించే బ్యాడ్ యూనిట్ పరీక్షల సమస్య అలాగే ఉంది. అదే సమయంలో, నేను ఇప్పటికీ పని చేయడానికి సులభమైన మరియు ఆహ్లాదకరమైన వేగవంతమైన OSని కోరుకుంటున్నాను. ఫలిత పరిష్కారం యొక్క నాణ్యత గురించి ప్రత్యేకంగా చెప్పనక్కర్లేదు. అదృష్టవశాత్తూ, యూనిట్ పరీక్షల కంటే వేగవంతమైన అభిప్రాయాన్ని అందించగల సాంకేతికతలు ఉన్నాయి. ఇది పెయిర్ ప్రోగ్రామింగ్.
కోడ్ వ్రాసేటప్పుడు, మీరు వీలైనంత త్వరగా దాని నాణ్యతపై అభిప్రాయాన్ని పొందాలనుకుంటున్నారు. అవును, మీరు ఫీచర్ బ్రాంచ్లో అన్నింటినీ వ్రాయవచ్చు (ఎవరికీ ఏదైనా విచ్ఛిన్నం చేయకుండా ఉండటానికి), గితుబ్లో పుల్ రిక్వెస్ట్ చేయండి, ఎవరి అభిప్రాయం ప్రకారం ఎవరికైనా దాన్ని కేటాయించండి మరియు ప్రతిస్పందన కోసం వేచి ఉండండి.
కానీ మీరు చాలా కాలం వేచి ఉండగలరు. ప్రజలందరూ బిజీగా ఉన్నారు మరియు సమాధానం ఒకటి ఉన్నప్పటికీ, అత్యధిక నాణ్యతతో ఉండకపోవచ్చు. సమాధానం వెంటనే వచ్చిందని అనుకుందాం, సమీక్షకుడు తక్షణమే మొత్తం ఆలోచనను అర్థం చేసుకున్నాడు, కాని సమాధానం వాస్తవం తర్వాత ఆలస్యంగా వస్తుంది. ఇది ఇంతకు ముందు ఉంటే బాగుండును. పెయిర్ ప్రోగ్రామింగ్ లక్ష్యంగా పెట్టుకున్నది ఇదే - వెంటనే, వ్రాసే సమయంలో.
IaCలో పని చేయడంలో జత ప్రోగ్రామింగ్ స్టైల్స్ మరియు వాటి వర్తింపు క్రింద ఉన్నాయి:
1. క్లాసిక్, అనుభవం+అనుభవం, టైమర్ ద్వారా షిఫ్ట్. రెండు పాత్రలు - డ్రైవర్ మరియు నావిగేటర్. ఇద్దరు మనుషులు. వారు ఒకే కోడ్పై పని చేస్తారు మరియు నిర్దిష్ట ముందుగా నిర్ణయించిన సమయం తర్వాత పాత్రలను మార్చుకుంటారు.
శైలితో మా సమస్యల అనుకూలతను పరిశీలిద్దాం:
సమస్య: కోడ్ అభివృద్ధి కోసం సాధనాలు మరియు సాధనాల అసంపూర్ణత.
ప్రతికూల ప్రభావం: ఇది అభివృద్ధి చెందడానికి ఎక్కువ సమయం పడుతుంది, మేము నెమ్మదిస్తాము, పని యొక్క వేగం/లయ పోతుంది.
మేము ఎలా పోరాడతాము: మేము వేరే సాధనం, సాధారణ IDEని ఉపయోగిస్తాము మరియు సత్వరమార్గాలను కూడా నేర్చుకుంటాము.
సమస్య: నెమ్మదిగా విస్తరణ.
ప్రతికూల ప్రభావం: కోడ్ యొక్క పని భాగాన్ని సృష్టించడానికి పట్టే సమయాన్ని పెంచుతుంది. వేచి ఉన్నప్పుడు విసుగు చెందుతాము, వేచి ఉన్నప్పుడు మన చేతులు మరేదైనా చేయడానికి ముందుకు వస్తాయి.
మేము ఎలా పోరాడతాము: మేము దానిని అధిగమించలేదు.
సమస్య: విధానాలు మరియు అభ్యాసాలు లేకపోవడం.
ప్రతికూల ప్రభావం: దీన్ని ఎలా బాగా చేయాలో మరియు పేలవంగా ఎలా చేయాలో తెలియడం లేదు. ఫీడ్బ్యాక్ రసీదుని పొడిగిస్తుంది.
మేము ఎలా పోరాడతాము: జంట పనిలో పరస్పర అభిప్రాయాలు మరియు అభ్యాసాల మార్పిడి సమస్యను దాదాపుగా పరిష్కరిస్తుంది.
IaC లో ఈ శైలిని ఉపయోగించడంలో ప్రధాన సమస్య పని యొక్క అసమాన వేగం. సాంప్రదాయ సాఫ్ట్వేర్ అభివృద్ధిలో, మీరు చాలా ఏకరీతి కదలికను కలిగి ఉంటారు. మీరు ఐదు నిమిషాలు గడిపి N అని వ్రాయవచ్చు. 10 నిమిషాలు వెచ్చించి 2N, 15 నిమిషాలు - 3N అని వ్రాయవచ్చు. ఇక్కడ మీరు ఐదు నిమిషాలు గడిపి N అని వ్రాయవచ్చు, ఆపై మరో 30 నిమిషాలు వెచ్చించి N లో పదో వంతు వ్రాయండి. ఇక్కడ మీకు ఏమీ తెలియదు, మీరు కష్టం, తెలివితక్కువవారు. దర్యాప్తు సమయం తీసుకుంటుంది మరియు ప్రోగ్రామింగ్ నుండి దృష్టి మరల్చుతుంది.
తీర్మానం: దాని స్వచ్ఛమైన రూపంలో ఇది మాకు తగినది కాదు.
2. పింగ్-పాంగ్. ఈ విధానంలో ఒకరు పరీక్ష రాయడం, మరొకరు దాని అమలు చేయడం వంటివి చేస్తారు. యూనిట్ పరీక్షలతో ప్రతిదీ సంక్లిష్టంగా ఉందని మరియు మీరు ప్రోగ్రామ్ చేయడానికి చాలా సమయం తీసుకునే ఇంటిగ్రేషన్ పరీక్షను వ్రాయవలసి ఉంటుంది అనే వాస్తవాన్ని పరిగణనలోకి తీసుకుంటే, పింగ్-పాంగ్ యొక్క అన్ని సౌలభ్యం తొలగిపోతుంది.
టెస్ట్ స్క్రిప్ట్ని రూపొందించడానికి మరియు దాని కోసం కోడ్ని అమలు చేయడానికి మేము బాధ్యతలను వేరు చేయడానికి ప్రయత్నించామని నేను చెప్పగలను. ఒక పాల్గొనేవారు స్క్రిప్ట్తో ముందుకు వచ్చారు, పని యొక్క ఈ భాగంలో అతను బాధ్యత వహించాడు, అతనికి చివరి పదం ఉంది. మరియు మరొకటి అమలుకు బాధ్యత వహించింది. అది బాగా వర్కవుట్ అయింది. ఈ విధానంతో స్క్రిప్ట్ నాణ్యత పెరుగుతుంది.
ముగింపు: అయ్యో, పని యొక్క వేగం IaCలో పెయిర్ ప్రోగ్రామింగ్ ప్రాక్టీస్గా పింగ్-పాంగ్ను ఉపయోగించడాన్ని అనుమతించదు.
3.బలమైన శైలి.కష్టమైన సాధన. ఆలోచన ఏమిటంటే, ఒక పార్టిసిపెంట్ డైరెక్టివ్ నావిగేటర్ అవుతాడు మరియు రెండవది ఎగ్జిక్యూషన్ డ్రైవర్ పాత్రను పోషిస్తుంది. ఈ సందర్భంలో, నిర్ణయాలు తీసుకునే హక్కు ప్రత్యేకంగా నావిగేటర్పై ఉంటుంది. డ్రైవర్ మాత్రమే ప్రింట్ చేస్తాడు మరియు ఒక పదంతో ఏమి జరుగుతుందో ప్రభావితం చేయగలడు. చాలా కాలం వరకు పాత్రలు మారవు.
నేర్చుకోవడానికి మంచిది, కానీ బలమైన సాఫ్ట్ స్కిల్స్ అవసరం. ఇక్కడే మనం తడబడ్డాం. టెక్నిక్ కష్టంగా ఉంది. మరియు ఇది మౌలిక సదుపాయాల గురించి కూడా కాదు.
ముగింపు: ఇది సమర్థవంతంగా ఉపయోగించవచ్చు, మేము ప్రయత్నాన్ని వదిలిపెట్టడం లేదు.
4. మోబింగ్, స్వర్మింగ్ మరియు అన్నీ తెలిసినవి కానీ జాబితా చేయని శైలులు మేము దానిని పరిగణించము, ఎందుకంటే మేము దీన్ని ప్రయత్నించలేదు మరియు మా పని సందర్భంలో దాని గురించి మాట్లాడటం అసాధ్యం.
పెయిర్ ప్రోగ్రామింగ్ ఉపయోగించి సాధారణ ఫలితాలు:
మాకు పనిలో అసమాన వేగం ఉంది, ఇది గందరగోళంగా ఉంది.
మాకు తగినంత మంచి సాఫ్ట్ స్కిల్స్ లేవు. మరియు సబ్జెక్ట్ ఏరియా మనలోని ఈ లోపాలను అధిగమించడానికి సహాయం చేయదు.
సుదీర్ఘ పరీక్షలు మరియు సాధనాలతో సమస్యలు జత అభివృద్ధిని కష్టతరం చేస్తాయి.
5. ఇది ఉన్నప్పటికీ, విజయాలు ఉన్నాయి. మేము మా స్వంత పద్ధతిని "కన్వర్జెన్స్ - డైవర్జెన్స్"తో రూపొందించాము. ఇది ఎలా పనిచేస్తుందో నేను క్లుప్తంగా వివరిస్తాను.
మాకు కొన్ని రోజులు (వారం కంటే తక్కువ) శాశ్వత భాగస్వాములు ఉన్నారు. మేము కలిసి ఒక పని చేస్తాము. మేము కాసేపు కలిసి కూర్చుంటాము: ఒకరు వ్రాస్తారు, మరొకరు కూర్చుని మద్దతు బృందాన్ని చూస్తారు. అప్పుడు మనం కొంత సమయం వరకు చెదరగొడతాము, ఒక్కొక్కరు కొన్ని స్వతంత్ర పనులు చేసుకుంటాము, తర్వాత మనం మళ్లీ కలిసి వస్తాము, చాలా త్వరగా సమకాలీకరించండి, కలిసి ఏదైనా చేసి మళ్లీ చెదరగొడతాము.
ప్రణాళిక మరియు కమ్యూనికేషన్
OS సమస్యలు పరిష్కరించబడే అభ్యాసాల యొక్క చివరి బ్లాక్ పనులతో పని చేసే సంస్థ. ఇది జత పనికి వెలుపల ఉన్న అనుభవ మార్పిడిని కూడా కలిగి ఉంటుంది. మూడు అభ్యాసాలను చూద్దాం:
1. గోల్ ట్రీ ద్వారా లక్ష్యాలు. మేము ప్రాజెక్ట్ యొక్క మొత్తం నిర్వహణను భవిష్యత్తులో అంతులేని విధంగా వృక్షం ద్వారా నిర్వహించాము. సాంకేతికంగా, ట్రాకింగ్ మీరోలో జరుగుతుంది. ఒక పని ఉంది - ఇది ఇంటర్మీడియట్ లక్ష్యం. దాని నుండి చిన్న లక్ష్యాలు లేదా పనుల సమూహాలకు వెళ్లండి. పనులు వారి నుండి వస్తాయి. అన్ని పనులు ఈ బోర్డులో సృష్టించబడతాయి మరియు నిర్వహించబడతాయి.
ఈ పథకం ఫీడ్బ్యాక్ను కూడా అందిస్తుంది, ఇది మేము ర్యాలీలలో సమకాలీకరించినప్పుడు రోజుకు ఒకసారి జరుగుతుంది. ప్రతిఒక్కరి ముందు ఒక సాధారణ ప్రణాళికను కలిగి ఉండటం, కానీ నిర్మాణాత్మకంగా మరియు పూర్తిగా బహిరంగంగా ఉండటం వలన, ఏమి జరుగుతుందో మరియు మనం ఎంతవరకు పురోగతి సాధించాము అనే దాని గురించి ప్రతి ఒక్కరూ తెలుసుకునేలా చేస్తుంది.
పనుల దృశ్య దృష్టి యొక్క ప్రయోజనాలు:
కారణత్వము. ప్రతి పని ఏదో ఒక ప్రపంచ లక్ష్యానికి దారి తీస్తుంది. పనులు చిన్న లక్ష్యాలుగా విభజించబడ్డాయి. ఇన్ఫ్రాస్ట్రక్చర్ డొమైన్ చాలా సాంకేతికమైనది. ఉదాహరణకు, మరొక nginxకి మారడంపై రన్బుక్ రాయడం వల్ల వ్యాపారంపై ఎలాంటి నిర్దిష్ట ప్రభావం ఉంటుందో ఎల్లప్పుడూ స్పష్టంగా తెలియదు. దగ్గర్లో టార్గెట్ కార్డ్ ఉండడం వల్ల అది మరింత స్పష్టంగా కనిపిస్తుంది.
కారణవాదం సమస్యల యొక్క ముఖ్యమైన ఆస్తి. ఇది నేరుగా ప్రశ్నకు సమాధానం ఇస్తుంది: "నేను సరైన పని చేస్తున్నానా?"
సమాంతరత. మనలో తొమ్మిది మంది ఉన్నాము మరియు ప్రతి ఒక్కరినీ ఒకే పనిలో విసిరేయడం భౌతికంగా అసాధ్యం. ఒక ప్రాంతం నుండి పనులు ఎల్లప్పుడూ సరిపోకపోవచ్చు. మేము చిన్న వర్కింగ్ గ్రూపుల మధ్య పనిని సమాంతరంగా చేయవలసి వస్తుంది. అదే సమయంలో, సమూహాలు కొంత సమయం పాటు వారి పనిలో కూర్చుంటాయి, వారు వేరొకరిచే బలోపేతం చేయవచ్చు. కొన్నిసార్లు వ్యక్తులు ఈ వర్కింగ్ గ్రూప్ నుండి దూరంగా ఉంటారు. ఎవరో విహారయాత్రకు వెళతారు, ఎవరైనా DevOps conf కోసం రిపోర్ట్ చేస్తారు, ఎవరైనా Habrపై ఒక కథనాన్ని వ్రాస్తారు. ఏ లక్ష్యాలు మరియు పనులు సమాంతరంగా చేయవచ్చో తెలుసుకోవడం చాలా ముఖ్యం.
2. ఉదయం సమావేశాల భర్తీ సమర్పకులు. స్టాండ్-అప్లలో మనకు ఈ సమస్య ఉంది - వ్యక్తులు సమాంతరంగా అనేక పనులు చేస్తారు. కొన్నిసార్లు పనులు వదులుగా అనుసంధానించబడి ఉంటాయి మరియు ఎవరు ఏమి చేస్తున్నారో అర్థం కాదు. మరియు మరొక జట్టు సభ్యుల అభిప్రాయం చాలా ముఖ్యం. ఇది సమస్యను పరిష్కరించే మార్గాన్ని మార్చగల అదనపు సమాచారం. అయితే, సాధారణంగా మీతో ఎవరైనా ఉంటారు, కానీ సలహాలు మరియు చిట్కాలు ఎల్లప్పుడూ ఉపయోగకరంగా ఉంటాయి.
ఈ పరిస్థితిని మెరుగుపరచడానికి, మేము "ఛేంజ్ ది లీడింగ్ స్టాండ్-అప్" టెక్నిక్ని ఉపయోగించాము. ఇప్పుడు అవి ఒక నిర్దిష్ట జాబితా ప్రకారం తిప్పబడ్డాయి మరియు ఇది దాని ప్రభావాన్ని కలిగి ఉంటుంది. మీ వంతు వచ్చినప్పుడు, మీరు మంచి స్క్రమ్ సమావేశాన్ని నిర్వహించడం కోసం డైవ్ చేసి, ఏమి జరుగుతుందో అర్థం చేసుకోవలసి వస్తుంది.
3. అంతర్గత డెమో. పెయిర్ ప్రోగ్రామింగ్ నుండి సమస్యను పరిష్కరించడంలో సహాయం, సమస్య ట్రీపై విజువలైజేషన్ మరియు ఉదయం స్క్రమ్ సమావేశాలలో సహాయం మంచివి, కానీ ఆదర్శంగా లేవు. జంటగా, మీరు మీ జ్ఞానానికి మాత్రమే పరిమితం. టాస్క్ ట్రీ ప్రపంచవ్యాప్తంగా ఎవరు ఏమి చేస్తున్నారో అర్థం చేసుకోవడానికి సహాయపడుతుంది. మరియు ఉదయం సమావేశంలో ప్రెజెంటర్ మరియు సహచరులు మీ సమస్యలను లోతుగా డైవ్ చేయరు. వారు ఖచ్చితంగా ఏదో కోల్పోవచ్చు.
ఒకరికొకరు చేసిన పనిని ప్రదర్శించి ఆ తర్వాత చర్చించుకోవడంలోనే పరిష్కారం దొరికింది. మేము వారానికి ఒకసారి ఒక గంట పాటు కలుసుకుంటాము మరియు గత వారంలో మేము చేసిన పనులకు పరిష్కారాల వివరాలను చూపుతాము.
ప్రదర్శన సమయంలో, పని యొక్క వివరాలను బహిర్గతం చేయడం మరియు దాని ఆపరేషన్ను ప్రదర్శించడం అవసరం.
చెక్లిస్ట్ ఉపయోగించి నివేదికను నిర్వహించవచ్చు.1. సందర్భాన్ని నమోదు చేయండి. పని ఎక్కడ నుండి వచ్చింది, అది ఎందుకు అవసరం?
2. సమస్య ముందు ఎలా పరిష్కరించబడింది? ఉదాహరణకు, భారీ మౌస్ క్లిక్ చేయడం అవసరం లేదా ఏదైనా చేయడం అసాధ్యం.
3. మేము దానిని ఎలా మెరుగుపరుస్తాము. ఉదాహరణకు: "చూడండి, ఇప్పుడు స్క్రిప్టోసిక్ ఉంది, ఇక్కడ రీడ్మీ ఉంది."
4. ఇది ఎలా పని చేస్తుందో చూపించు. కొన్ని వినియోగదారు దృష్టాంతాన్ని నేరుగా అమలు చేయడం మంచిది. నాకు X కావాలి, నేను Y చేస్తాను, నాకు Y (లేదా Z) కనిపిస్తుంది. ఉదాహరణకు, నేను NGINXని అమలు చేస్తాను, urlని పొగతాను మరియు 200 OK పొందుతాను. చర్య పొడవుగా ఉంటే, దానిని ముందుగానే సిద్ధం చేయండి, తద్వారా మీరు దానిని తర్వాత చూపవచ్చు. డెమో పెళుసుగా ఉన్నట్లయితే, డెమోకు ఒక గంట ముందు దానిని విచ్ఛిన్నం చేయకుండా ఉండటం మంచిది.
5. సమస్య ఎంత విజయవంతంగా పరిష్కరించబడింది, ఏ ఇబ్బందులు మిగిలి ఉన్నాయి, ఏమి పూర్తి కాలేదు, భవిష్యత్తులో ఏ మెరుగుదలలు సాధ్యమవుతాయి అని వివరించండి. ఉదాహరణకు, ఇప్పుడు CLI, అప్పుడు CIలో పూర్తి ఆటోమేషన్ ఉంటుంది.
ప్రతి స్పీకర్ దానిని 5-10 నిమిషాల వరకు ఉంచడం మంచిది. మీ ప్రసంగం స్పష్టంగా ముఖ్యమైనది మరియు ఎక్కువ సమయం తీసుకుంటే, sre-టేకోవర్ ఛానెల్లో దీన్ని ముందుగానే సమన్వయం చేయండి.
ముఖాముఖి భాగం తర్వాత థ్రెడ్లో ఎల్లప్పుడూ చర్చ ఉంటుంది. ఇక్కడే మన పనులపై మనకు అవసరమైన ఫీడ్బ్యాక్ కనిపిస్తుంది.
ఫలితంగా, ఏమి జరుగుతుందో దాని ప్రయోజనాన్ని గుర్తించడానికి ఒక సర్వే నిర్వహించబడుతుంది. ఇది ప్రసంగం యొక్క సారాంశం మరియు పని యొక్క ప్రాముఖ్యతపై అభిప్రాయం.
సుదీర్ఘ ముగింపులు మరియు తదుపరి ఏమిటి
వ్యాసం యొక్క స్వరం కొంత నిరాశావాదంగా ఉన్నట్లు అనిపించవచ్చు. ఇది తప్పు. రెండు తక్కువ స్థాయి అభిప్రాయం, అవి పరీక్షలు మరియు పెయిర్ ప్రోగ్రామింగ్, పని. సాంప్రదాయిక అభివృద్ధిలో వలె ఖచ్చితమైనది కాదు, కానీ దాని నుండి సానుకూల ప్రభావం ఉంది.
పరీక్షలు, వాటి ప్రస్తుత రూపంలో, పాక్షిక కోడ్ కవరేజీని మాత్రమే అందిస్తాయి. అనేక కాన్ఫిగరేషన్ ఫంక్షన్లు పరీక్షించబడవు. కోడ్ రాసేటప్పుడు వారి ప్రభావం అసలు పనిపై తక్కువగా ఉంటుంది. అయినప్పటికీ, ఇంటిగ్రేషన్ పరీక్షల నుండి ప్రభావం ఉంది మరియు అవి నిర్భయంగా రీఫ్యాక్టరింగ్లను నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తాయి. ఇది గొప్ప విజయం. అలాగే, ఉన్నత-స్థాయి భాషలలో (మనకు పైథాన్ ఉంది, గో) అభివృద్ధిపై దృష్టి మారడంతో సమస్య తొలగిపోతుంది. మరియు "జిగురు" కోసం మీకు చాలా చెక్లు అవసరం లేదు; సాధారణ ఇంటిగ్రేషన్ చెక్ సరిపోతుంది.
జంటగా పనిచేయడం అనేది నిర్దిష్ట వ్యక్తులపై ఎక్కువగా ఆధారపడి ఉంటుంది. టాస్క్ ఫ్యాక్టర్ మరియు మా సాఫ్ట్ స్కిల్స్ ఉన్నాయి. కొంతమందికి ఇది చాలా బాగా పని చేస్తుంది, మరికొందరితో ఇది చెత్తగా పని చేస్తుంది. దీని వల్ల ఖచ్చితంగా లాభాలున్నాయి. జత పని యొక్క నియమాలు తగినంతగా గమనించబడనప్పటికీ, కలిసి పని చేసే వాస్తవం ఫలితం యొక్క నాణ్యతపై సానుకూల ప్రభావాన్ని చూపుతుందని స్పష్టమవుతుంది. వ్యక్తిగతంగా, నేను జంటగా పని చేయడం సులభం మరియు మరింత ఆనందదాయకంగా భావిస్తున్నాను.
OSని ప్రభావితం చేసే ఉన్నత-స్థాయి మార్గాలు - ప్రణాళిక మరియు పనులతో పని చేయడం ఖచ్చితంగా ప్రభావాలను ఉత్పత్తి చేస్తుంది: అధిక-నాణ్యత జ్ఞాన మార్పిడి మరియు మెరుగైన అభివృద్ధి నాణ్యత.
ఒక లైన్లో చిన్న ముగింపులు
HR ప్రాక్టీషనర్లు IaCలో పని చేస్తారు, కానీ తక్కువ సామర్థ్యంతో.
పని చేసేదాన్ని బలోపేతం చేయండి.
మీ స్వంత పరిహార విధానాలు మరియు అభ్యాసాలతో ముందుకు రండి.