GitOps: మరొక బజ్‌వర్డ్ లేదా ఆటోమేషన్‌లో పురోగతి?

GitOps: మరొక బజ్‌వర్డ్ లేదా ఆటోమేషన్‌లో పురోగతి?

మనలో చాలా మంది, IT బ్లాగ్‌స్పియర్ లేదా కాన్ఫరెన్స్‌లో మరొక కొత్త పదాన్ని గమనిస్తూ, ముందుగానే లేదా తరువాత ఇలాంటి ప్రశ్న అడుగుతారు: “ఇది ఏమిటి? మరొక బజ్‌వర్డ్, “బజ్‌వర్డ్” లేదా కొత్త క్షితిజాలను జాగ్రత్తగా పరిశీలించడం, అధ్యయనం చేయడం మరియు వాగ్దానం చేయడం నిజంగా విలువైనదేనా?” పదం విషయంలో నాకు అదే జరిగింది GitOps కొంత కాలం కిందట. ఇప్పటికే ఉన్న అనేక కథనాలతో, అలాగే కంపెనీకి చెందిన సహోద్యోగుల జ్ఞానంతో సాయుధమైంది GitLab, ఇది ఏ విధమైన మృగం అని నేను గుర్తించడానికి ప్రయత్నించాను మరియు ఆచరణలో దాని ఉపయోగం ఎలా ఉండవచ్చు.

మార్గం ద్వారా, పదం యొక్క కొత్తదనం గురించి GitOps మా ఇటీవలి సర్వే కూడా ఇలా చెబుతోంది: సర్వే చేయబడిన వారిలో సగం కంటే ఎక్కువ మంది ఇంకా దాని సూత్రాలతో పనిచేయడం ప్రారంభించలేదు.

కాబట్టి, మౌలిక సదుపాయాల నిర్వహణ సమస్య కొత్తది కాదు. చాలా మంది క్లౌడ్ ప్రొవైడర్లు మంచి డజను సంవత్సరాలుగా సాధారణ ప్రజలకు అందుబాటులో ఉన్నారు మరియు అవస్థాపనకు బాధ్యత వహించే బృందాల పనిని సరళంగా మరియు సూటిగా చేసి ఉండాలి. అయితే, అప్లికేషన్ డెవలప్‌మెంట్ ప్రాసెస్‌తో పోల్చినప్పుడు (ఆటోమేషన్ ఎప్పుడూ కొత్త స్థాయిలను చేరుకుంటోంది), ఇన్‌ఫ్రాస్ట్రక్చర్ ప్రాజెక్ట్‌లు ఇప్పటికీ చాలా మాన్యువల్ టాస్క్‌లను కలిగి ఉంటాయి మరియు ప్రత్యేక జ్ఞానం మరియు నైపుణ్యం అవసరం, ప్రత్యేకించి నేటి అవసరాలు తప్పు సహనం, వశ్యత, స్కేలబిలిటీ మరియు స్థితిస్థాపకత.

క్లౌడ్ సేవలు ఈ అవసరాలను చాలా విజయవంతంగా నెరవేర్చాయి మరియు వారు విధానం యొక్క అభివృద్ధికి గణనీయమైన ప్రేరణనిచ్చారు Iac. ఇది అర్థమవుతుంది. అన్నింటికంటే, వారు పూర్తిగా వర్చువల్ డేటా సెంటర్‌ను కాన్ఫిగర్ చేయడాన్ని సాధ్యం చేసారు: భౌతిక సర్వర్లు, రాక్‌లు లేదా నెట్‌వర్క్ భాగాలు లేవు; మొత్తం అవస్థాపనను స్క్రిప్ట్‌లు మరియు కాన్ఫిగరేషన్ ఫైల్‌లను ఉపయోగించి వివరించవచ్చు.

కాబట్టి ఖచ్చితంగా తేడా ఏమిటి? GitOps от Iac? ఈ ప్రశ్నతోనే నేను విచారణ ప్రారంభించాను. సహోద్యోగులతో మాట్లాడిన తర్వాత, నేను ఈ క్రింది పోలికతో ముందుకు రాగలిగాను:

GitOps

Iac

అన్ని కోడ్ ఒక git రిపోజిటరీలో నిల్వ చేయబడుతుంది

కోడ్ సంస్కరణ ఐచ్ఛికం

డిక్లరేటివ్ కోడ్ వివరణ / ఐడెంపోటెన్సీ

డిక్లరేటివ్ మరియు అత్యవసర వివరణలు రెండూ ఆమోదయోగ్యమైనవి

మెర్జ్ రిక్వెస్ట్ / పుల్ రిక్వెస్ట్ మెకానిజమ్స్ ఉపయోగించి మార్పులు ప్రభావం చూపుతాయి

ఒప్పందం, ఆమోదం మరియు సహకారం ఐచ్ఛికం

నవీకరణ రోల్అవుట్ ప్రక్రియ స్వయంచాలకంగా ఉంది

నవీకరణ రోల్అవుట్ ప్రాసెస్ ప్రామాణికం కాదు (ఆటోమేటిక్, మాన్యువల్, ఫైళ్లను కాపీ చేయడం, కమాండ్ లైన్ ఉపయోగించి మొదలైనవి)

వేరే పదాల్లో GitOps సూత్రాల అన్వయం ద్వారా ఖచ్చితంగా పుట్టింది Iac. ముందుగా, ఇన్‌ఫ్రాస్ట్రక్చర్ మరియు కాన్ఫిగరేషన్‌లు ఇప్పుడు అప్లికేషన్‌ల మాదిరిగానే నిల్వ చేయబడతాయి. కోడ్ నిల్వ చేయడం సులభం, భాగస్వామ్యం చేయడం, పోల్చడం మరియు సంస్కరణ సామర్థ్యాలను ఉపయోగించడం సులభం. సంస్కరణలు, శాఖలు, చరిత్ర. మరియు మొత్తం టీమ్‌కి పబ్లిక్‌గా అందుబాటులో ఉండే ప్రదేశంలో ఇవన్నీ. అందువల్ల, సంస్కరణ నియంత్రణ వ్యవస్థల ఉపయోగం పూర్తిగా సహజమైన అభివృద్ధిగా మారింది. ముఖ్యంగా, git, అత్యంత ప్రజాదరణ పొందింది.

మరోవైపు, మౌలిక సదుపాయాల నిర్వహణ ప్రక్రియలను ఆటోమేట్ చేయడం సాధ్యమైంది. ఇప్పుడు ఇది వేగంగా, మరింత విశ్వసనీయంగా మరియు చౌకగా చేయవచ్చు. అంతేకాకుండా, CI / CD సూత్రాలు ఇప్పటికే సాఫ్ట్‌వేర్ డెవలపర్‌లలో ప్రసిద్ధి చెందాయి. ఇప్పటికే తెలిసిన జ్ఞానం మరియు నైపుణ్యాలను కొత్త ప్రాంతానికి బదిలీ చేయడం మరియు వర్తింపజేయడం మాత్రమే అవసరం. అయితే, ఈ పద్ధతులు మౌలిక సదుపాయాల యొక్క ప్రామాణిక నిర్వచనాన్ని కోడ్‌గా మించిపోయాయి, అందుకే భావన GitOps.

GitOps: మరొక బజ్‌వర్డ్ లేదా ఆటోమేషన్‌లో పురోగతి?

ఉత్సుకత GitOps, వాస్తవానికి, ఇది ఏదైనా విక్రేతతో అనుబంధించబడిన ఉత్పత్తి, ప్లగ్ఇన్ లేదా ప్లాట్‌ఫారమ్ కాదు. ఇది ఒక నమూనా మరియు సూత్రాల సమితి, మనకు తెలిసిన మరొక పదం వలె ఉంటుంది: DevOps.

సంస్థలో GitLab మేము ఈ కొత్త పదానికి రెండు నిర్వచనాలను అభివృద్ధి చేసాము: సైద్ధాంతిక మరియు ఆచరణాత్మకమైనది. సిద్ధాంతంతో ప్రారంభిద్దాం:

GitOps అనేది సంస్కరణ నియంత్రణ, సహకారం, ఆర్కెస్ట్రేషన్, CI/CD వంటి అప్లికేషన్ డెవలప్‌మెంట్ కోసం ఉపయోగించే ఉత్తమమైన DevOps సూత్రాలను తీసుకునే ఒక పద్దతి మరియు వాటిని ఆటోమేటింగ్ ఇన్‌ఫ్రాస్ట్రక్చర్ మేనేజ్‌మెంట్ యొక్క సవాళ్లకు వర్తింపజేస్తుంది.

అన్ని ప్రక్రియలు GitOps నేను ఇప్పటికే ఉన్న సాధనాలను ఉపయోగించి పని చేస్తున్నాను. అన్ని ఇన్‌ఫ్రాస్ట్రక్చర్ కోడ్ ఇప్పటికే తెలిసిన git రిపోజిటరీలో నిల్వ చేయబడుతుంది, మార్పులు ఇతర ప్రోగ్రామ్ కోడ్‌ల మాదిరిగానే ఆమోదం ప్రక్రియ ద్వారా వెళ్తాయి మరియు రోల్‌అవుట్ ప్రక్రియ స్వయంచాలకంగా ఉంటుంది, ఇది మానవ లోపాలను తగ్గించడానికి, విశ్వసనీయత మరియు పునరుత్పత్తి సామర్థ్యాన్ని పెంచడానికి అనుమతిస్తుంది.

ఆచరణాత్మక కోణం నుండి, మేము వివరిస్తాము GitOps క్రింది విధంగా:

GitOps: మరొక బజ్‌వర్డ్ లేదా ఆటోమేషన్‌లో పురోగతి?

ఈ ఫార్ములా యొక్క ముఖ్య భాగాలలో ఒకటిగా మేము ఇప్పటికే మౌలిక సదుపాయాలను కోడ్‌గా చర్చించాము. మిగిలిన పార్టిసిపెంట్స్‌ని పరిచయం చేద్దాం.

విలీన అభ్యర్థన (ప్రత్యామ్నాయ పేరు పుల్ అభ్యర్థన). ప్రాసెస్ పరంగా, MR అనేది కోడ్ మార్పులను వర్తింపజేయడానికి మరియు ఆ తర్వాత శాఖలను విలీనం చేయడానికి ఒక అభ్యర్థన. కానీ మేము ఉపయోగించే సాధనాల పరంగా, చేసిన అన్ని మార్పుల యొక్క పూర్తి చిత్రాన్ని పొందడానికి ఇది మరింత అవకాశం: నిర్దిష్ట సంఖ్యలో కమిట్‌ల నుండి సేకరించిన కోడ్ తేడా మాత్రమే కాకుండా, సందర్భం, పరీక్ష ఫలితాలు మరియు చివరి ఆశించిన ఫలితం. మేము ఇన్‌ఫ్రాస్ట్రక్చర్ కోడ్ గురించి మాట్లాడుతున్నట్లయితే, ఇన్‌ఫ్రాస్ట్రక్చర్ ఎలా మారుతుంది, ఎన్ని కొత్త వనరులు జోడించబడతాయి లేదా తీసివేయబడతాయి, మార్చబడతాయి అనే దానిపై మాకు ఆసక్తి ఉంది. మరింత సౌకర్యవంతంగా మరియు సులభంగా చదవగలిగే ఫార్మాట్‌లో ప్రాధాన్యంగా ఉంటుంది. క్లౌడ్ ప్రొవైడర్ల కోసం, ఈ మార్పు యొక్క ఆర్థిక ప్రభావం ఎలా ఉంటుందో తెలుసుకోవడం మంచిది.

కానీ MR అనేది సహకారం, పరస్పర చర్య మరియు కమ్యూనికేషన్ యొక్క సాధనం. చెక్‌లు మరియు బ్యాలెన్స్‌ల వ్యవస్థ అమలులోకి వచ్చే ప్రదేశం. సాధారణ వ్యాఖ్యల నుండి అధికారిక ఆమోదాలు మరియు ఆమోదాల వరకు.

బాగా, చివరి భాగం: CI/CD, మనకు ఇప్పటికే తెలిసినట్లుగా, అవస్థాపన మార్పులు మరియు పరీక్ష ప్రక్రియను ఆటోమేట్ చేయడం సాధ్యపడుతుంది (సాధారణ సింటాక్స్ తనిఖీ నుండి మరింత క్లిష్టమైన స్టాటిక్ కోడ్ విశ్లేషణ వరకు). మరియు డ్రిఫ్ట్ యొక్క తదుపరి గుర్తింపులో కూడా: సిస్టమ్ యొక్క నిజమైన మరియు కావలసిన స్థితి మధ్య తేడాలు. ఉదాహరణకు, అనధికార మాన్యువల్ మార్పులు లేదా సిస్టమ్ వైఫల్యం ఫలితంగా.

అవును, పదం GitOps మాకు పూర్తిగా క్రొత్తగా పరిచయం చేయదు, చక్రాన్ని తిరిగి ఆవిష్కరించదు, కానీ కొత్త ప్రాంతంలో ఇప్పటికే సేకరించిన అనుభవాన్ని వర్తింపజేస్తుంది. అయితే ఇక్కడే అతని బలం ఉంది.

మరియు ఇవన్నీ ఆచరణలో ఎలా కనిపిస్తున్నాయనే దానిపై మీకు అకస్మాత్తుగా ఆసక్తి ఉంటే, మా వైపు చూడమని నేను మిమ్మల్ని ఆహ్వానిస్తున్నాను మాస్టర్ క్లాస్, దీనిలో GitLab ఎలా ఉపయోగించాలో నేను మీకు దశలవారీగా చెబుతున్నాను:

  • GitOps యొక్క ప్రాథమిక సూత్రాలను అమలు చేయండి

  • క్లౌడ్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను సృష్టించండి మరియు మార్పులు చేయండి (Yandex క్లౌడ్ ఉదాహరణను ఉపయోగించి)

  • సక్రియ పర్యవేక్షణను ఉపయోగించి కావలసిన స్థితి నుండి సిస్టమ్ డ్రిఫ్ట్‌ని స్వయంచాలకంగా గుర్తించడం

GitOps: మరొక బజ్‌వర్డ్ లేదా ఆటోమేషన్‌లో పురోగతి?https://bit.ly/34tRpwZ

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి