DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

పార్ట్ 1: వెబ్/ఆండ్రాయిడ్

వ్యాఖ్య: ఈ వ్యాసం అసలు వ్యాసం యొక్క రష్యన్ భాషలోకి అనువాదం “DevOps సాధనాలు DevOps కోసం మాత్రమే కాదు. "మొదటి నుండి బిల్డింగ్ టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్." అయినప్పటికీ, రష్యన్‌లోకి అనువదించబడినప్పుడు అర్థం వక్రీకరించబడకుండా ఉండటానికి అన్ని దృష్టాంతాలు, లింక్‌లు, కోట్‌లు మరియు నిబంధనలు అసలు భాషలో భద్రపరచబడతాయి. మీరు సంతోషంగా చదువుకోవాలని కోరుకుంటున్నాను!

DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

ప్రస్తుతం, DevOps స్పెషాలిటీ IT పరిశ్రమలో అత్యంత డిమాండ్‌లో ఒకటి. మీరు జనాదరణ పొందిన ఉద్యోగ శోధన సైట్‌లను తెరిచి, జీతం ఆధారంగా ఫిల్టర్ చేస్తే, DevOps-సంబంధిత ఉద్యోగాలు జాబితాలో అగ్రస్థానంలో ఉన్నట్లు మీరు చూస్తారు. ఏది ఏమైనప్పటికీ, ఇది ప్రధానంగా 'సీనియర్' స్థానాన్ని సూచిస్తుందని అర్థం చేసుకోవడం ముఖ్యం, ఇది అభ్యర్థికి ఉన్నత స్థాయి నైపుణ్యాలు, సాంకేతిక పరిజ్ఞానం మరియు సాధనాల పరిజ్ఞానం ఉందని సూచిస్తుంది. ఇది ఉత్పత్తి యొక్క అంతరాయం లేని ఆపరేషన్‌తో అనుబంధించబడిన అధిక స్థాయి బాధ్యతతో కూడా వస్తుంది. అయితే, మేము DevOps అంటే ఏమిటో మర్చిపోవడం ప్రారంభించాము. ప్రారంభంలో, ఇది ఏదైనా నిర్దిష్ట వ్యక్తి లేదా విభాగం కాదు. మేము ఈ పదం యొక్క నిర్వచనాల కోసం వెతికితే, పద్దతి, అభ్యాసాలు, సాంస్కృతిక తత్వశాస్త్రం, భావనల సమూహం మొదలైన అనేక అందమైన మరియు సరైన నామవాచకాలు మనకు కనిపిస్తాయి.

నా స్పెషలైజేషన్ టెస్ట్ ఆటోమేషన్ ఇంజనీర్ (QA ఆటోమేషన్ ఇంజనీర్), అయితే ఇది ఆటో-టెస్ట్‌లు రాయడం లేదా టెస్ట్ ఫ్రేమ్‌వర్క్ ఆర్కిటెక్చర్‌ను అభివృద్ధి చేయడంతో మాత్రమే అనుబంధించబడదని నేను నమ్ముతున్నాను. 2020లో, ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌పై అవగాహన కూడా అవసరం. పరీక్షలను అమలు చేయడం నుండి మీ లక్ష్యాలకు అనుగుణంగా అన్ని వాటాదారులకు ఫలితాలను అందించడం వరకు ఆటోమేషన్ ప్రక్రియను మీరే నిర్వహించుకోవడానికి ఇది మిమ్మల్ని అనుమతిస్తుంది. ఫలితంగా, పనిని పూర్తి చేయడానికి DevOps నైపుణ్యాలు తప్పనిసరి. మరియు ఇవన్నీ మంచివి, కానీ, దురదృష్టవశాత్తు, ఒక సమస్య ఉంది (స్పాయిలర్: ఈ వ్యాసం ఈ సమస్యను సులభతరం చేయడానికి ప్రయత్నిస్తుంది) విషయం ఏమిటంటే DevOps కష్టం. మరియు ఇది స్పష్టంగా ఉంది, ఎందుకంటే కంపెనీలు సులభంగా చేసే పనికి పెద్దగా చెల్లించవు... DevOps ప్రపంచంలో, పెద్ద సంఖ్యలో సాధనాలు, నిబంధనలు మరియు అభ్యాసాలను ప్రావీణ్యం చేసుకోవాలి. కెరీర్ ప్రారంభంలో ఇది చాలా కష్టం మరియు సేకరించిన సాంకేతిక అనుభవంపై ఆధారపడి ఉంటుంది.

DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ
మూలం: http://maximelanciauxbi.blogspot.com/2017/04/devops-tools.html

ఇక్కడ మనం బహుశా పరిచయ భాగంతో ముగించి, ఈ వ్యాసం యొక్క ఉద్దేశ్యంపై దృష్టి పెడతాము. 

ఈ కథనం దేనికి సంబంధించినది?

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

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

ఈ వ్యాసంలో ఏమి లేదు

వ్యాసం నిర్దిష్ట సాధనాల గురించి కాదని నేను మరోసారి పునరావృతం చేస్తున్నాను, కాబట్టి నిర్దిష్ట ఆదేశాల యొక్క డాక్యుమెంటేషన్ మరియు వివరణల నుండి కోడ్ యొక్క ఇన్సర్ట్‌లు ఉండవు. కానీ ప్రతి విభాగం చివరిలో నేను వివరణాత్మక అధ్యయనం కోసం లింక్‌లను వదిలివేస్తాను.

ఇది జరుగుతుంది ఎందుకంటే: 

  • ఈ పదార్థం వివిధ వనరులలో (డాక్యుమెంటేషన్, పుస్తకాలు, వీడియో కోర్సులు) కనుగొనడం చాలా సులభం;
  • మేము లోతుగా వెళ్లడం ప్రారంభిస్తే, మేము ఈ వ్యాసంలోని 10, 20, 30 భాగాలను వ్రాయవలసి ఉంటుంది (ప్రణాళికలు 2-3 అయితే);
  • అదే లక్ష్యాలను సాధించడానికి మీరు ఇతర సాధనాలను ఉపయోగించాలనుకోవచ్చు కాబట్టి నేను మీ సమయాన్ని వృథా చేయకూడదనుకుంటున్నాను.

ఆచరణలో

ఈ విషయం ప్రతి పాఠకుడికి ఉపయోగకరంగా ఉండాలని నేను నిజంగా కోరుకుంటున్నాను మరియు కేవలం చదివి మరచిపోకూడదు. ఏదైనా అధ్యయనంలో, అభ్యాసం చాలా ముఖ్యమైన భాగం. దీని కోసం నేను సిద్ధం చేశాను మొదటి నుండి ప్రతిదీ ఎలా చేయాలో దశల వారీ సూచనలతో GitHub రిపోజిటరీ. మీరు అమలు చేస్తున్న ఆదేశాల పంక్తులను మీరు బుద్ధిహీనంగా కాపీ చేయలేదని నిర్ధారించుకోవడానికి మీ కోసం హోంవర్క్ కూడా వేచి ఉంది.

ప్రణాళిక

దశ
టెక్నాలజీ
పరికరములు

1
లోకల్ రన్నింగ్ (వెబ్ / ఆండ్రాయిడ్ డెమో పరీక్షలను సిద్ధం చేసి స్థానికంగా అమలు చేయండి) 
Node.js, సెలీనియం, అప్పియం

2
సంస్కరణ నియంత్రణ వ్యవస్థలు 
Git

3
కంటెయినరైజేషన్
డాకర్, సెలీనియం గ్రిడ్, సెలీనోయిడ్ (వెబ్, ఆండ్రాయిడ్)

4
CI/CD
గిట్లాబ్ సీఐ

5
క్లౌడ్ ప్లాట్‌ఫారమ్‌లు
Google మేఘ ప్లాట్ఫారమ్

6
వాద్య
Kubernetes

7
కోడ్‌గా మౌలిక సదుపాయాలు (IaC)
టెర్రాఫాం, అన్సిబుల్

ప్రతి విభాగం యొక్క నిర్మాణం

కథనాన్ని స్పష్టంగా ఉంచడానికి, ప్రతి విభాగం క్రింది రూపురేఖల ప్రకారం వివరించబడింది:

  • సాంకేతికత యొక్క సంక్షిప్త వివరణ,
  • ఆటోమేషన్ మౌలిక సదుపాయాల విలువ,
  • మౌలిక సదుపాయాల ప్రస్తుత స్థితికి ఉదాహరణ,
  • అధ్యయనానికి లింకులు,
  • సారూప్య సాధనాలు.

1. స్థానికంగా పరీక్షలను అమలు చేయండి

సాంకేతికత యొక్క సంక్షిప్త వివరణ

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

అయినప్పటికీ, ఆటోమేషన్ సాధనాలుగా, వెబ్ ప్లాట్‌ఫారమ్‌ల కోసం సెలీనియం వెబ్‌డ్రైవర్‌ని మరియు ఆండ్రాయిడ్ ప్లాట్‌ఫారమ్ కోసం Appiumని ఉపయోగించమని నేను సిఫార్సు చేస్తున్నాను, ఎందుకంటే తదుపరి దశల్లో మేము ఈ సాధనాలతో ప్రత్యేకంగా పని చేయడానికి రూపొందించిన డాకర్ చిత్రాలను ఉపయోగిస్తాము. అంతేకాకుండా, ఉద్యోగ అవసరాలను సూచిస్తూ, ఈ సాధనాలు మార్కెట్లో డిమాండ్‌లో ఎక్కువగా ఉన్నాయి.

మీరు గమనించినట్లుగా, మేము వెబ్ మరియు Android పరీక్షలను మాత్రమే పరిశీలిస్తాము. దురదృష్టవశాత్తు, iOS పూర్తిగా భిన్నమైన కథనం (యాపిల్ ధన్యవాదాలు). IOS సంబంధిత పరిష్కారాలు మరియు అభ్యాసాలను రాబోయే భాగాలలో ప్రదర్శించాలని నేను ప్లాన్ చేస్తున్నాను.

ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్ కోసం విలువ

ఇన్‌ఫ్రాస్ట్రక్చర్ దృక్కోణంలో, స్థానికంగా అమలు చేయడం ఏ విలువను అందించదు. స్థానిక బ్రౌజర్‌లు మరియు సిమ్యులేటర్‌లలో స్థానిక మెషీన్‌లో పరీక్షలు అమలు అవుతున్నాయని మీరు మాత్రమే తనిఖీ చేస్తారు. కానీ ఏదైనా సందర్భంలో, ఇది అవసరమైన ప్రారంభ స్థానం.

మౌలిక సదుపాయాల ప్రస్తుత స్థితికి ఉదాహరణ

DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

అన్వేషించడానికి లింక్‌లు

సారూప్య సాధనాలు

  • సెలీనియం/అప్పియం పరీక్షలతో కలిపి మీకు నచ్చిన ఏదైనా ప్రోగ్రామింగ్ భాష;
  • ఏదైనా పరీక్షలు;
  • ఏదైనా టెస్ట్ రన్నర్.

2. వెర్షన్ నియంత్రణ వ్యవస్థలు (Git)

సాంకేతికత యొక్క సంక్షిప్త వివరణ

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

ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్ కోసం విలువ

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

మేము దశ 7లో IaCని మరింత వివరంగా పరిశీలిస్తాము, కానీ ఇప్పుడు కూడా మీరు స్థానిక రిపోజిటరీని సృష్టించడం ద్వారా స్థానికంగా Gitని ఉపయోగించడం ప్రారంభించవచ్చు. మేము ఇన్‌ఫ్రాస్ట్రక్చర్‌కు రిమోట్ రిపోజిటరీని జోడించినప్పుడు పెద్ద చిత్రం విస్తరించబడుతుంది.

మౌలిక సదుపాయాల ప్రస్తుత స్థితికి ఉదాహరణ

DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

అన్వేషించడానికి లింక్‌లు

సారూప్య సాధనాలు

3. కంటెయినరైజేషన్ (డాకర్)

సాంకేతికత యొక్క సంక్షిప్త వివరణ

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

పరిణామం యొక్క తదుపరి దశ వర్చువల్ మిషన్లు (VMలు), ఇది ఉపయోగించని వనరులపై డబ్బును వృధా చేసే సమస్యను పరిష్కరించింది. ఈ సాంకేతికత పూర్తిగా వివిక్త స్థలాన్ని కేటాయించడం ద్వారా ఒకే సర్వర్‌లో ఒకదానికొకటి స్వతంత్రంగా అప్లికేషన్‌లను అమలు చేయడం సాధ్యం చేసింది. కానీ, దురదృష్టవశాత్తు, ఏదైనా సాంకేతికత దాని లోపాలను కలిగి ఉంది. VMని అమలు చేయడానికి పూర్తి ఆపరేటింగ్ సిస్టమ్ అవసరం, ఇది CPU, RAM, నిల్వను వినియోగిస్తుంది మరియు OS ఆధారంగా లైసెన్స్ ఖర్చులను పరిగణనలోకి తీసుకోవాలి. ఈ కారకాలు లోడింగ్ వేగాన్ని ప్రభావితం చేస్తాయి మరియు పోర్టబిలిటీని కష్టతరం చేస్తాయి.

మరియు ఇప్పుడు మేము కంటైనర్‌కు వచ్చాము. మరోసారి, ఈ సాంకేతికత మునుపటి సమస్యను పరిష్కరిస్తుంది, ఎందుకంటే కంటైనర్లు పూర్తి OSని ఉపయోగించవు, ఇది పెద్ద మొత్తంలో వనరులను ఖాళీ చేస్తుంది మరియు పోర్టబిలిటీ కోసం వేగవంతమైన మరియు సౌకర్యవంతమైన పరిష్కారాన్ని అందిస్తుంది.

వాస్తవానికి, కంటైనర్ టెక్నాలజీ కొత్తదేమీ కాదు మరియు 70వ దశకం చివరిలో మొదటిసారిగా పరిచయం చేయబడింది. ఆ రోజుల్లో, చాలా పరిశోధనలు, అభివృద్ధిలు మరియు ప్రయత్నాలు జరిగాయి. కానీ డాకర్ ఈ సాంకేతికతను స్వీకరించి, ప్రజలకు సులభంగా అందుబాటులో ఉండేలా చేసింది. ఈ రోజుల్లో, మేము కంటైనర్ల గురించి మాట్లాడేటప్పుడు, చాలా సందర్భాలలో మనం డాకర్ అని అర్థం. మేము డాకర్ కంటైనర్ల గురించి మాట్లాడేటప్పుడు, మేము Linux కంటైనర్లను సూచిస్తాము. కంటైనర్‌లను అమలు చేయడానికి మేము విండోస్ మరియు మాకోస్ సిస్టమ్‌లను ఉపయోగించవచ్చు, అయితే ఈ సందర్భంలో అదనపు లేయర్ కనిపిస్తుందని అర్థం చేసుకోవడం ముఖ్యం. ఉదాహరణకు, Macలోని డాకర్ తేలికైన Linux VM లోపల కంటైనర్‌లను నిశ్శబ్దంగా నడుపుతుంది. కంటైనర్‌లలో Android ఎమ్యులేటర్‌లను అమలు చేయడం గురించి చర్చించినప్పుడు మేము ఈ అంశానికి తిరిగి వస్తాము, కాబట్టి ఇక్కడ చాలా ముఖ్యమైన స్వల్పభేదాన్ని మరింత వివరంగా చర్చించాల్సిన అవసరం ఉంది.

ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్ కోసం విలువ

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

  • సెలీనియం మరియు ముఖ్యంగా అప్పియమ్‌ను ఇన్‌స్టాల్ చేసేటప్పుడు భారీ సంఖ్యలో డిపెండెన్సీలు;
  • బ్రౌజర్లు, సిమ్యులేటర్లు మరియు డ్రైవర్ల సంస్కరణల మధ్య అనుకూలత సమస్యలు;
  • బ్రౌజర్‌లు/సిమ్యులేటర్‌ల కోసం వివిక్త స్థలం లేకపోవడం, ఇది సమాంతరంగా నడుస్తున్నందుకు ప్రత్యేకించి కీలకం;
  • మీరు ఒకే సమయంలో 10, 50, 100 లేదా 1000 బ్రౌజర్‌లను అమలు చేయాల్సి వస్తే నిర్వహించడం మరియు నిర్వహించడం కష్టం.

సెలీనియం అత్యంత ప్రజాదరణ పొందిన ఆటోమేషన్ సాధనం మరియు డాకర్ అత్యంత ప్రజాదరణ పొందిన కంటైనర్ సాధనం కాబట్టి, పైన పేర్కొన్న సమస్యలను పరిష్కరించడానికి ఎవరైనా వాటిని మిళితం చేయడానికి శక్తివంతమైన సాధనాన్ని రూపొందించడానికి ప్రయత్నించడంలో ఆశ్చర్యం లేదు. అటువంటి పరిష్కారాలను మరింత వివరంగా పరిశీలిద్దాం. 

డాకర్‌లో సెలీనియం గ్రిడ్

ఈ సాధనం సెలీనియం ప్రపంచంలో బహుళ మెషీన్‌లలో బహుళ బ్రౌజర్‌లను అమలు చేయడానికి మరియు వాటిని సెంట్రల్ హబ్ నుండి నిర్వహించడానికి అత్యంత ప్రజాదరణ పొందింది. ప్రారంభించడానికి, మీరు కనీసం 2 భాగాలను నమోదు చేయాలి: హబ్ మరియు నోడ్(లు). Hub అనేది సెంట్రల్ నోడ్, ఇది పరీక్షల నుండి అన్ని అభ్యర్థనలను స్వీకరిస్తుంది మరియు వాటిని తగిన నోడ్‌లకు పంపిణీ చేస్తుంది. ప్రతి నోడ్ కోసం మనం నిర్దిష్ట కాన్ఫిగరేషన్‌ను కాన్ఫిగర్ చేయవచ్చు, ఉదాహరణకు, కావలసిన బ్రౌజర్ మరియు దాని సంస్కరణను పేర్కొనడం ద్వారా. అయినప్పటికీ, మేము ఇప్పటికీ అనుకూల బ్రౌజర్ డ్రైవర్లను మనమే చూసుకోవాలి మరియు వాటిని కావలసిన నోడ్లలో ఇన్స్టాల్ చేయాలి. ఈ కారణంగా, Linux OSలో ఇన్‌స్టాల్ చేయలేని బ్రౌజర్‌లతో మనం పని చేయాల్సి వచ్చినప్పుడు తప్ప, సెలీనియం గ్రిడ్ దాని స్వచ్ఛమైన రూపంలో ఉపయోగించబడదు. అన్ని ఇతర సందర్భాల్లో, సెలీనియం గ్రిడ్ హబ్ మరియు నోడ్‌లను అమలు చేయడానికి డాకర్ ఇమేజ్‌లను ఉపయోగించడం అనేది చాలా సౌకర్యవంతమైన మరియు సరైన పరిష్కారం. ఈ విధానం నోడ్ నిర్వహణను చాలా సులభతరం చేస్తుంది, ఎందుకంటే ఇప్పటికే ఇన్‌స్టాల్ చేయబడిన బ్రౌజర్‌లు మరియు డ్రైవర్ల అనుకూల సంస్కరణలతో మనకు అవసరమైన చిత్రాన్ని ఎంచుకోవచ్చు.

స్థిరత్వం గురించి ప్రతికూల సమీక్షలు ఉన్నప్పటికీ, ప్రత్యేకించి పెద్ద సంఖ్యలో నోడ్‌లను సమాంతరంగా అమలు చేస్తున్నప్పుడు, సెలీనియం గ్రిడ్ ఇప్పటికీ సెలీనియం పరీక్షలను సమాంతరంగా అమలు చేయడానికి అత్యంత ప్రజాదరణ పొందిన సాధనంగా ఉంది. ఈ సాధనం యొక్క వివిధ మెరుగుదలలు మరియు మార్పులు నిరంతరం ఓపెన్ సోర్స్‌లో కనిపిస్తూనే ఉన్నాయని గమనించడం ముఖ్యం, ఇది వివిధ అడ్డంకులను ఎదుర్కొంటుంది.

వెబ్ కోసం Selenoid

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

కానీ, అయ్యో, సెలీనోయిడ్ ఇప్పటికీ వెండి బుల్లెట్ కాదు. మాకు 'బ్రౌజర్ ఆన్ డిమాండ్' ఫీచర్ వచ్చింది, కానీ 'రిసోర్స్ ఆన్ డిమాండ్' ఫీచర్ ఇప్పటికీ అందుబాటులో లేదు. సెలీనోయిడ్‌ని ఉపయోగించడానికి, మనం దానిని ఫిజికల్ హార్డ్‌వేర్‌లో లేదా VMలో తప్పనిసరిగా అమలు చేయాలి, అంటే ఎన్ని వనరులను కేటాయించాలో మనం ముందుగానే తెలుసుకోవాలి. 10, 20 లేదా 30 బ్రౌజర్‌లను సమాంతరంగా అమలు చేసే చిన్న ప్రాజెక్ట్‌లకు ఇది సమస్య కాదని నేను ఊహిస్తున్నాను. అయితే మనకు 100, 500, 1000 లేదా అంతకంటే ఎక్కువ అవసరం అయితే? అన్ని సమయాలలో అనేక వనరులను నిర్వహించడం మరియు చెల్లించడం సమంజసం కాదు. ఈ కథనంలోని 5 మరియు 6 విభాగాలలో, మీరు స్కేల్ చేయడానికి అనుమతించే పరిష్కారాలను మేము చర్చిస్తాము, తద్వారా కంపెనీ ఖర్చులు గణనీయంగా తగ్గుతాయి.

Android కోసం Selenoid

వెబ్ ఆటోమేషన్ సాధనంగా Selenoid విజయవంతమైన తర్వాత, ప్రజలు Android కోసం అలాంటిదే కోరుకున్నారు. మరియు అది జరిగింది - సెలీనోయిడ్ Android మద్దతుతో విడుదలైంది. ఉన్నత-స్థాయి వినియోగదారు దృక్కోణం నుండి, ఆపరేషన్ సూత్రం వెబ్ ఆటోమేషన్ మాదిరిగానే ఉంటుంది. ఒకే తేడా ఏమిటంటే, బ్రౌజర్ కంటైనర్‌లకు బదులుగా, సెలీనోయిడ్ ఆండ్రాయిడ్ ఎమ్యులేటర్ కంటైనర్‌లను నడుపుతుంది. నా అభిప్రాయం ప్రకారం, ఇది ప్రస్తుతం Android పరీక్షలను సమాంతరంగా అమలు చేయడానికి అత్యంత శక్తివంతమైన ఉచిత సాధనం.

ఈ సాధనం యొక్క ప్రతికూల అంశాల గురించి మాట్లాడటానికి నేను నిజంగా ఇష్టపడను, ఎందుకంటే నేను దీన్ని నిజంగా ఇష్టపడుతున్నాను. కానీ ఇప్పటికీ, వెబ్ ఆటోమేషన్‌కు వర్తించే మరియు స్కేలింగ్‌తో అనుబంధించబడిన అదే ప్రతికూలతలు ఉన్నాయి. దీనితో పాటు, మేము మొదటి సారి సాధనాన్ని సెటప్ చేస్తున్నట్లయితే ఆశ్చర్యం కలిగించే మరో పరిమితి గురించి మాట్లాడాలి. Android చిత్రాలను అమలు చేయడానికి, మాకు సమూహ వర్చువలైజేషన్ మద్దతుతో కూడిన భౌతిక యంత్రం లేదా VM అవసరం. హౌ-టు గైడ్‌లో, దీన్ని Linux VMలో ఎలా ప్రారంభించాలో నేను ప్రదర్శిస్తాను. అయితే, మీరు MacOS వినియోగదారు అయితే మరియు స్థానికంగా Selenoidని అమలు చేయాలనుకుంటే, Android పరీక్షలను అమలు చేయడం సాధ్యం కాదు. కానీ మీరు ఎల్లప్పుడూ 'నెస్టెడ్ వర్చువలైజేషన్'తో స్థానికంగా Linux VMని రన్ చేయవచ్చు మరియు లోపల Selenoidని అమలు చేయవచ్చు.

మౌలిక సదుపాయాల ప్రస్తుత స్థితికి ఉదాహరణ

ఈ కథనం సందర్భంలో, మౌలిక సదుపాయాలను వివరించడానికి మేము 2 సాధనాలను జోడిస్తాము. ఇవి వెబ్ పరీక్షల కోసం సెలీనియం గ్రిడ్ మరియు ఆండ్రాయిడ్ పరీక్షల కోసం సెలీనోయిడ్. GitHub ట్యుటోరియల్‌లో, వెబ్ పరీక్షలను అమలు చేయడానికి Selenoidని ఎలా ఉపయోగించాలో కూడా నేను మీకు చూపుతాను. 

DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

అన్వేషించడానికి లింక్‌లు

సారూప్య సాధనాలు

  • ఇతర కంటైనర్ సాధనాలు ఉన్నాయి, కానీ డాకర్ అత్యంత ప్రజాదరణ పొందినది. మీరు మరేదైనా ప్రయత్నించాలనుకుంటే, సెలీనియం పరీక్షలను సమాంతరంగా అమలు చేయడానికి మేము కవర్ చేసిన సాధనాలు బాక్స్ వెలుపల పని చేయవని గుర్తుంచుకోండి.  
  • ఇప్పటికే చెప్పినట్లుగా, సెలీనియం గ్రిడ్ యొక్క అనేక మార్పులు ఉన్నాయి, ఉదాహరణకు, జలీనియం.

4.CI/CD

సాంకేతికత యొక్క సంక్షిప్త వివరణ

నిరంతర ఏకీకరణ యొక్క అభ్యాసం అభివృద్ధిలో బాగా ప్రాచుర్యం పొందింది మరియు సంస్కరణ నియంత్రణ వ్యవస్థలతో సమానంగా ఉంటుంది. అయినప్పటికీ, పరిభాషలో గందరగోళం ఉందని నేను భావిస్తున్నాను. ఈ పేరాలో నేను నా దృష్టికోణం నుండి ఈ సాంకేతికత యొక్క 3 మార్పులను వివరించాలనుకుంటున్నాను. ఇంటర్నెట్‌లో మీరు విభిన్న వివరణలతో అనేక కథనాలను కనుగొంటారు మరియు మీ అభిప్రాయం భిన్నంగా ఉంటే అది ఖచ్చితంగా సాధారణం. చాలా ముఖ్యమైన విషయం ఏమిటంటే మీరు మీ సహోద్యోగులతో ఒకే పేజీలో ఉన్నారు.

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

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

ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్ కోసం విలువ

ఈ విభాగంలో, మేము ఎండ్-టు-ఎండ్ UI పరీక్షల గురించి మాట్లాడేటప్పుడు, పర్యావరణాలను పరీక్షించడానికి మా మార్పులు మరియు అనుబంధిత సేవలను అమలు చేయాలని నేను స్పష్టం చేయాలి. నిరంతర ఏకీకరణ - ప్రక్రియ ఈ విధికి వర్తించదు మరియు కనీసం నిరంతర డెలివర్ పద్ధతులను అమలు చేయడంలో మేము జాగ్రత్త వహించాలి. మేము వాటిని ఉత్పత్తిలో అమలు చేయబోతున్నట్లయితే UI పరీక్షల సందర్భంలో నిరంతర విస్తరణ కూడా అర్ధమే.

మరియు ఆర్కిటెక్చర్ మార్పు యొక్క ఉదాహరణను చూసే ముందు, నేను GitLab CI గురించి కొన్ని మాటలు చెప్పాలనుకుంటున్నాను. ఇతర CI/CD సాధనాల వలె కాకుండా, GitLab రిమోట్ రిపోజిటరీ మరియు అనేక ఇతర అదనపు ఫీచర్లను అందిస్తుంది. అందువలన, GitLab CI కంటే ఎక్కువ. ఇందులో సోర్స్ కోడ్ మేనేజ్‌మెంట్, ఎజైల్ మేనేజ్‌మెంట్, CI/CD పైప్‌లైన్‌లు, లాగింగ్ టూల్స్ మరియు కొలమానాల సేకరణ ఉన్నాయి. GitLab ఆర్కిటెక్చర్‌లో Gitlab CI/CD మరియు GitLab రన్నర్ ఉంటాయి. అధికారిక వెబ్‌సైట్ నుండి ఇక్కడ చిన్న వివరణ ఉంది:

Gitlab CI/CD అనేది APIతో కూడిన వెబ్ అప్లికేషన్, ఇది డేటాబేస్‌లో దాని స్థితిని నిల్వ చేస్తుంది, ప్రాజెక్ట్‌లు/బిల్డ్‌లను నిర్వహిస్తుంది మరియు వినియోగదారు ఇంటర్‌ఫేస్‌ను అందిస్తుంది. GitLab రన్నర్ అనేది బిల్డ్‌లను ప్రాసెస్ చేసే అప్లికేషన్. ఇది విడిగా అమలు చేయబడుతుంది మరియు API ద్వారా GitLab CI/CDతో పని చేస్తుంది. నడుస్తున్న పరీక్షల కోసం మీకు Gitlab ఉదాహరణ మరియు రన్నర్ రెండూ అవసరం.

మౌలిక సదుపాయాల ప్రస్తుత స్థితికి ఉదాహరణ

DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

అన్వేషించడానికి లింక్‌లు

సారూప్య సాధనాలు

5. క్లౌడ్ ప్లాట్‌ఫారమ్‌లు

సాంకేతికత యొక్క సంక్షిప్త వివరణ

ఈ విభాగంలో మనం 'పబ్లిక్ క్లౌడ్స్' అనే ప్రసిద్ధ ట్రెండ్ గురించి మాట్లాడుతాము. పైన వివరించిన వర్చువలైజేషన్ మరియు కంటెయినరైజేషన్ సాంకేతికతలు అందించే అపారమైన ప్రయోజనాలు ఉన్నప్పటికీ, మాకు ఇంకా కంప్యూటింగ్ వనరులు అవసరం. కంపెనీలు ఖరీదైన సర్వర్‌లను కొనుగోలు చేస్తాయి లేదా డేటా కేంద్రాలను అద్దెకు తీసుకుంటాయి, అయితే ఈ సందర్భంలో మనకు ఎన్ని వనరులు అవసరమో, మనం వాటిని 24/7 ఉపయోగిస్తామా మరియు ఏ ప్రయోజనాల కోసం ఉపయోగిస్తామో లెక్కలు (కొన్నిసార్లు అవాస్తవికం) చేయడం అవసరం. ఉదాహరణకు, ఉత్పత్తికి XNUMX/XNUMX నడుస్తున్న సర్వర్ అవసరం, అయితే పని గంటల వెలుపల పరీక్షించడానికి మనకు ఇలాంటి వనరులు అవసరమా? ఇది నిర్వహించబడుతున్న పరీక్ష రకంపై కూడా ఆధారపడి ఉంటుంది. మరుసటి రోజు ఫలితాలను పొందడానికి మేము పని చేయని సమయాల్లో అమలు చేయడానికి ప్లాన్ చేసే లోడ్/ఒత్తిడి పరీక్షలు ఒక ఉదాహరణ. కానీ ఖచ్చితంగా XNUMX/XNUMX సర్వర్ లభ్యత ఎండ్-టు-ఎండ్ ఆటోమేటెడ్ పరీక్షలకు అవసరం లేదు మరియు ముఖ్యంగా మాన్యువల్ టెస్టింగ్ ఎన్విరాన్మెంట్ల కోసం కాదు. అటువంటి పరిస్థితుల కోసం, డిమాండ్‌పై అవసరమైనన్ని వనరులను పొందడం, వాటిని ఉపయోగించడం మరియు ఇకపై అవసరం లేనప్పుడు చెల్లింపును నిలిపివేయడం మంచిది. అంతేకాకుండా, కొన్ని మౌస్ క్లిక్‌లు చేయడం ద్వారా లేదా రెండు స్క్రిప్ట్‌లను అమలు చేయడం ద్వారా వాటిని తక్షణమే స్వీకరించడం చాలా బాగుంది. దీని కోసం పబ్లిక్ మేఘాలు ఉపయోగించబడతాయి. నిర్వచనాన్ని చూద్దాం:

“పబ్లిక్ క్లౌడ్ అనేది పబ్లిక్ ఇంటర్నెట్‌లో థర్డ్-పార్టీ ప్రొవైడర్లు అందించే కంప్యూటింగ్ సేవలుగా నిర్వచించబడింది, వాటిని ఉపయోగించడానికి లేదా కొనుగోలు చేయాలనుకునే ఎవరికైనా వాటిని అందుబాటులో ఉంచుతుంది. కస్టమర్‌లు వారు వినియోగించే CPU సైకిల్స్, స్టోరేజ్ లేదా బ్యాండ్‌విడ్త్ కోసం ఒక్కో వినియోగానికి మాత్రమే చెల్లించడానికి వీలు కల్పిస్తూ అవి ఉచితంగా లేదా డిమాండ్‌పై విక్రయించబడవచ్చు."

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

ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్ కోసం విలువ

ఎండ్-టు-ఎండ్ UI పరీక్షల కోసం మనకు ఏ నిర్దిష్ట వనరులు అవసరం? ప్రాథమికంగా ఇవి వర్చువల్ మెషీన్‌లు లేదా క్లస్టర్‌లు (మేము తదుపరి విభాగంలో కుబెర్నెట్స్ గురించి మాట్లాడుతాము) బ్రౌజర్‌లు మరియు ఎమ్యులేటర్‌లను అమలు చేయడం కోసం. మనం ఎక్కువ బ్రౌజర్‌లు మరియు ఎమ్యులేటర్‌లను ఏకకాలంలో అమలు చేయాలనుకుంటున్నాము, ఎక్కువ CPU మరియు మెమరీ అవసరం మరియు దాని కోసం మనం ఎక్కువ డబ్బు చెల్లించాలి. అందువల్ల, టెస్ట్ ఆటోమేషన్ సందర్భంలో పబ్లిక్ క్లౌడ్‌లు డిమాండ్‌పై పెద్ద సంఖ్యలో (100, 200, 1000...) బ్రౌజర్‌లు/ఎమ్యులేటర్‌లను అమలు చేయడానికి అనుమతిస్తాయి, వీలైనంత త్వరగా పరీక్ష ఫలితాలను పొందండి మరియు అటువంటి అతి వనరులు ఎక్కువగా ఉండే వాటి కోసం చెల్లించడం ఆపండి. శక్తి. 

అత్యంత ప్రజాదరణ పొందిన క్లౌడ్ ప్రొవైడర్లు Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP). హౌ-టు గైడ్ GCPని ఎలా ఉపయోగించాలి అనేదానికి ఉదాహరణలను అందిస్తుంది, అయితే సాధారణంగా మీరు ఆటోమేషన్ టాస్క్‌ల కోసం ఏమి ఉపయోగిస్తున్నారనేది పట్టింపు లేదు. అవన్నీ దాదాపు ఒకే విధమైన కార్యాచరణను అందిస్తాయి. సాధారణంగా, ప్రొవైడర్‌ను ఎంచుకోవడానికి, నిర్వహణ సంస్థ యొక్క మొత్తం మౌలిక సదుపాయాలు మరియు వ్యాపార అవసరాలపై దృష్టి పెడుతుంది, ఇది ఈ కథనం యొక్క పరిధికి మించినది కాదు. ఆటోమేషన్ ఇంజనీర్‌ల కోసం, క్లౌడ్ ప్రొవైడర్‌ల వినియోగాన్ని ప్రత్యేకంగా పరీక్ష ప్రయోజనాల కోసం క్లౌడ్ ప్లాట్‌ఫారమ్‌ల వాడకంతో పోల్చడం మరింత ఆసక్తికరంగా ఉంటుంది, సాస్ ల్యాబ్‌లు, బ్రౌజర్‌స్టాక్, బిట్‌బార్ మొదలైనవి. కాబట్టి మనం కూడా చేద్దాం! నా అభిప్రాయం ప్రకారం, సాస్ ల్యాబ్స్ అత్యంత ప్రసిద్ధ క్లౌడ్ టెస్టింగ్ ఫామ్, అందుకే నేను దానిని పోలిక కోసం ఉపయోగించాను. 

ఆటోమేషన్ ప్రయోజనాల కోసం GCP vs సాస్ ల్యాబ్‌లు:

మనం ఏకకాలంలో 8 వెబ్ పరీక్షలు మరియు 8 ఆండ్రాయిడ్ పరీక్షలను అమలు చేయవలసి ఉంటుందని ఊహించండి. దీని కోసం మేము GCPని ఉపయోగిస్తాము మరియు Selenoidతో 2 వర్చువల్ మిషన్లను అమలు చేస్తాము. మొదటిదానిలో మేము బ్రౌజర్‌లతో 8 కంటైనర్‌లను పెంచుతాము. రెండవదానిలో ఎమ్యులేటర్లతో 8 కంటైనర్లు ఉన్నాయి. ధరలను పరిశీలిద్దాం:  

DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ
Chromeతో ఒక కంటైనర్‌ను అమలు చేయడానికి, మాకు ఇది అవసరం n1-ప్రామాణిక-1 కారు. ఆండ్రాయిడ్ విషయంలో ఇది ఉంటుంది n1-ప్రామాణిక-4 ఒక ఎమ్యులేటర్ కోసం. వాస్తవానికి, CPU/మెమొరీ కోసం నిర్దిష్ట వినియోగదారు విలువలను సెట్ చేయడం మరింత సౌకర్యవంతమైన మరియు చౌకైన మార్గం, అయితే ప్రస్తుతానికి సాస్ ల్యాబ్‌లతో పోల్చడానికి ఇది ముఖ్యమైనది కాదు.

మరియు సాస్ ల్యాబ్‌లను ఉపయోగించడం కోసం ఇక్కడ సుంకాలు ఉన్నాయి:

DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ
మీరు ఇప్పటికే వ్యత్యాసాన్ని గమనించారని నేను నమ్ముతున్నాను, కానీ నేను మా పని కోసం లెక్కలతో పట్టికను అందిస్తాను:

అవసరమైన వనరులు
నెలవారీ
పని గంటలు(ఉదయం 8 - రాత్రి 8)
పని గంటలు+ ముందస్తు

వెబ్ కోసం GCP
n1-స్టాండర్డ్-1 x 8 = n1-స్టాండర్డ్-8
$194.18
23 రోజులు * 12గం * 0.38 = $104.88 
23 రోజులు * 12గం * 0.08 = $22.08

వెబ్ కోసం సాస్ ల్యాబ్స్
వర్చువల్ Cloud8 సమాంతర పరీక్షలు
$1.559
-
-

Android కోసం GCP
n1-స్టాండర్డ్-4 x 8: n1-స్టాండర్డ్-16
$776.72
23 రోజులు * 12గం * 1.52 = $419.52 
23 రోజులు * 12గం * 0.32 = $88.32

Android కోసం సాస్ ల్యాబ్‌లు
రియల్ డివైస్ క్లౌడ్ 8 సమాంతర పరీక్షలు
$1.999
-
-

మీరు చూడగలిగినట్లుగా, ఖర్చులో వ్యత్యాసం చాలా పెద్దది, ప్రత్యేకించి మీరు పన్నెండు గంటల పని వ్యవధిలో మాత్రమే పరీక్షలను అమలు చేస్తే. కానీ మీరు ముందస్తు యంత్రాలను ఉపయోగిస్తే మీరు ఖర్చులను మరింత తగ్గించుకోవచ్చు. ఇది ఏమిటి?

ప్రీఎంప్టిబుల్ VM అనేది మీరు సాధారణ ఉదాహరణల కంటే ఎక్కువ ధరతో సృష్టించగల మరియు అమలు చేయగల ఉదాహరణ. అయినప్పటికీ, కంప్యూట్ ఇంజిన్ ఇతర పనుల కోసం ఆ వనరులకు ప్రాప్యత అవసరమైతే ఈ సందర్భాలను ముగించవచ్చు (ముందస్తుగా). ప్రీమిప్టబుల్ ఉదంతాలు అదనపు కంప్యూట్ ఇంజిన్ సామర్థ్యం, ​​కాబట్టి వాటి లభ్యత వినియోగాన్ని బట్టి మారుతుంది.

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

మరియు అది ఇంకా ముగియలేదు! వాస్తవానికి, ఎవరూ విరామం లేకుండా 12 గంటల పాటు పరీక్షలు నిర్వహించరని నేను ఖచ్చితంగా అనుకుంటున్నాను. మరియు అలా అయితే, మీరు వర్చువల్ మిషన్లు అవసరం లేనప్పుడు స్వయంచాలకంగా ప్రారంభించవచ్చు మరియు ఆపవచ్చు. వాస్తవ వినియోగ సమయాన్ని రోజుకు 6 గంటలకు తగ్గించవచ్చు. అప్పుడు మా పని సందర్భంలో చెల్లింపు 11 బ్రౌజర్‌లకు నెలకు $8కి తగ్గుతుంది. ఇది అద్భుతమైనది కాదా? అయితే సాఫ్ట్‌వేర్‌లో ఈ పరిస్థితులను అందించవచ్చు మరియు నిర్వహించవచ్చు అయినప్పటికీ, ముందస్తు యంత్రాలతో మనం జాగ్రత్తగా ఉండాలి మరియు అంతరాయాలు మరియు అస్థిరత కోసం సిద్ధంగా ఉండాలి. ఇది విలువ కలిగినది!

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

మౌలిక సదుపాయాల ప్రస్తుత స్థితికి ఉదాహరణ

DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

అన్వేషించడానికి లింక్‌లు

సారూప్య సాధనాలు:

6. ఆర్కెస్ట్రేషన్

సాంకేతికత యొక్క సంక్షిప్త వివరణ

నాకు శుభవార్త ఉంది - మేము దాదాపు వ్యాసం ముగింపులో ఉన్నాము! ప్రస్తుతానికి, మా ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌లో వెబ్ మరియు ఆండ్రాయిడ్ పరీక్షలు ఉన్నాయి, వీటిని మేము GitLab CI ద్వారా సమాంతరంగా డాకర్-ఎనేబుల్ చేసిన సాధనాలను ఉపయోగించి అమలు చేస్తాము: సెలీనియం గ్రిడ్ మరియు సెలీనోయిడ్. అంతేకాకుండా, మేము బ్రౌజర్‌లు మరియు ఎమ్యులేటర్‌లతో కంటైనర్‌లను హోస్ట్ చేయడానికి GCP ద్వారా సృష్టించబడిన వర్చువల్ మిషన్‌లను ఉపయోగిస్తాము. ఖర్చులను తగ్గించడానికి, మేము ఈ వర్చువల్ మిషన్‌లను డిమాండ్‌పై మాత్రమే ప్రారంభిస్తాము మరియు పరీక్ష నిర్వహించబడనప్పుడు వాటిని ఆపివేస్తాము. మన మౌలిక సదుపాయాలను మెరుగుపరచగల ఇంకేమైనా ఉందా? సమాధానం అవును! కుబెర్నెట్స్ (K8s)ని కలవండి!

మొదట, ఆర్కెస్ట్రేషన్, క్లస్టర్ మరియు కుబెర్నెట్స్ అనే పదాలు ఒకదానికొకటి ఎలా సంబంధం కలిగి ఉన్నాయో చూద్దాం. అధిక స్థాయిలో, ఆర్కెస్ట్రేషన్ అనేది అప్లికేషన్‌లను అమలు చేసే మరియు నిర్వహించే వ్యవస్థ. పరీక్ష ఆటోమేషన్ కోసం, అటువంటి కంటైనర్ అప్లికేషన్లు సెలీనియం గ్రిడ్ మరియు సెలీనోయిడ్. డాకర్ మరియు K8లు ఒకదానికొకటి పూర్తి చేస్తాయి. మొదటిది అప్లికేషన్ విస్తరణ కోసం, రెండవది ఆర్కెస్ట్రేషన్ కోసం ఉపయోగించబడుతుంది. ప్రతిగా, K8s ఒక క్లస్టర్. క్లస్టర్ యొక్క పని VM లను నోడ్స్‌గా ఉపయోగించడం, ఇది ఒక సర్వర్ (క్లస్టర్) లోపల వివిధ కార్యాచరణలు, ప్రోగ్రామ్‌లు మరియు సేవలను ఇన్‌స్టాల్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. నోడ్‌లలో ఏదైనా విఫలమైతే, ఇతర నోడ్‌లు తీయబడతాయి, ఇది మా అప్లికేషన్ యొక్క అంతరాయం లేని ఆపరేషన్‌ని నిర్ధారిస్తుంది. దీనికి అదనంగా, K8s స్కేలింగ్‌కు సంబంధించిన ముఖ్యమైన కార్యాచరణను కలిగి ఉంది, దీనికి ధన్యవాదాలు మేము లోడ్ మరియు సెట్ పరిమితుల ఆధారంగా వనరుల యొక్క సరైన మొత్తాన్ని స్వయంచాలకంగా పొందుతాము.

వాస్తవానికి, కుబెర్నెట్‌లను మొదటి నుండి మాన్యువల్‌గా అమలు చేయడం అనేది చిన్న పని కాదు. "కుబెర్నెటెస్ ది హార్డ్ వే" అనే ప్రసిద్ధ హౌ-టు గైడ్‌కి నేను లింక్‌ను వదిలివేస్తాను మరియు మీకు ఆసక్తి ఉంటే, మీరు దానిని ప్రాక్టీస్ చేయవచ్చు. కానీ, అదృష్టవశాత్తూ, ప్రత్యామ్నాయ పద్ధతులు మరియు సాధనాలు ఉన్నాయి. GCPలో Google Kubernetes ఇంజిన్ (GKE)ని ఉపయోగించడం సులభమయిన మార్గం, ఇది కొన్ని క్లిక్‌లలో రెడీమేడ్ క్లస్టర్‌ని పొందడానికి మిమ్మల్ని అనుమతిస్తుంది. నేర్చుకోవడం ప్రారంభించడానికి ఈ విధానాన్ని ఉపయోగించమని నేను సిఫార్సు చేస్తున్నాను, ఎందుకంటే అంతర్గత భాగాలు ఒకదానితో ఒకటి ఎలా కలిసిపోవాలో తెలుసుకోవడానికి బదులుగా మీ పనుల కోసం K8లను ఎలా ఉపయోగించాలో నేర్చుకోవడంపై దృష్టి పెట్టడానికి ఇది మిమ్మల్ని అనుమతిస్తుంది. 

ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్ కోసం విలువ

K8s అందించే కొన్ని ముఖ్యమైన లక్షణాలను పరిశీలిద్దాం:

  • అప్లికేషన్ విస్తరణ: VMలకు బదులుగా బహుళ-నోడ్స్ క్లస్టర్‌ని ఉపయోగించడం;
  • డైనమిక్ స్కేలింగ్: డిమాండ్‌పై మాత్రమే ఉపయోగించే వనరుల ధరను తగ్గిస్తుంది;
  • స్వీయ-స్వస్థత: పాడ్ల యొక్క స్వయంచాలక రికవరీ (దీని ఫలితంగా కంటైనర్లు కూడా పునరుద్ధరించబడతాయి);
  • అప్‌డేట్‌ల రోల్‌అవుట్ మరియు డౌన్‌టైమ్ లేకుండా మార్పుల రోల్‌బ్యాక్‌లు: సాధనాలు, బ్రౌజర్‌లు మరియు ఎమ్యులేటర్‌లను నవీకరించడం ప్రస్తుత వినియోగదారుల పనికి అంతరాయం కలిగించదు

కానీ K8s ఇప్పటికీ వెండి బుల్లెట్ కాదు. మేము పరిగణిస్తున్న సాధనాల (సెలీనియం గ్రిడ్, సెలీనోయిడ్) సందర్భంలో అన్ని ప్రయోజనాలు మరియు పరిమితులను అర్థం చేసుకోవడానికి, మేము K8ల నిర్మాణాన్ని క్లుప్తంగా చర్చిస్తాము. క్లస్టర్‌లో రెండు రకాల నోడ్‌లు ఉన్నాయి: మాస్టర్ నోడ్స్ మరియు వర్కర్స్ నోడ్స్. మాస్టర్ నోడ్స్ నిర్వహణ, విస్తరణ మరియు షెడ్యూలింగ్ నిర్ణయాలకు బాధ్యత వహిస్తాయి. వర్కర్స్ నోడ్స్ అంటే అప్లికేషన్‌లు ప్రారంభించబడతాయి. నోడ్‌లు కంటైనర్ రన్‌టైమ్ వాతావరణాన్ని కూడా కలిగి ఉంటాయి. మా విషయంలో, ఇది డాకర్, ఇది కంటైనర్-సంబంధిత కార్యకలాపాలకు బాధ్యత వహిస్తుంది. కానీ ప్రత్యామ్నాయ పరిష్కారాలు కూడా ఉన్నాయి, ఉదాహరణకు కంటైనర్. స్కేలింగ్ లేదా స్వీయ-స్వస్థత నేరుగా కంటైనర్లకు వర్తించదని అర్థం చేసుకోవడం ముఖ్యం. పాడ్‌ల సంఖ్యను జోడించడం/తగ్గించడం ద్వారా ఇది అమలు చేయబడుతుంది, ఇందులో కంటైనర్‌లు ఉంటాయి (సాధారణంగా ఒక్కో పాడ్‌కు ఒక కంటైనర్, కానీ పనిని బట్టి ఎక్కువ ఉండవచ్చు). ఉన్నత-స్థాయి సోపానక్రమం వర్కర్ నోడ్‌లను కలిగి ఉంటుంది, దాని లోపల పాడ్‌లు ఉన్నాయి, వాటి లోపల కంటైనర్లు పెంచబడతాయి.

స్కేలింగ్ ఫీచర్ కీలకం మరియు క్లస్టర్ నోడ్-పూల్‌లోని రెండు నోడ్‌లకు మరియు నోడ్‌లోని పాడ్‌లకు వర్తించవచ్చు. నోడ్స్ మరియు పాడ్‌లు రెండింటికీ వర్తించే 2 రకాల స్కేలింగ్ ఉన్నాయి. మొదటి రకం క్షితిజ సమాంతరంగా ఉంటుంది - నోడ్స్/పాడ్‌ల సంఖ్యను పెంచడం ద్వారా స్కేలింగ్ జరుగుతుంది. ఈ రకం మరింత ప్రాధాన్యతనిస్తుంది. రెండవ రకం, తదనుగుణంగా, నిలువుగా ఉంటుంది. నోడ్స్/పాడ్‌ల పరిమాణాన్ని పెంచడం ద్వారా స్కేలింగ్ నిర్వహించబడుతుంది మరియు వాటి సంఖ్య కాదు.

ఇప్పుడు పై నిబంధనల సందర్భంలో మన సాధనాలను చూద్దాం.

సెలీనియం గ్రిడ్

ముందే చెప్పినట్లుగా, సెలీనియం గ్రిడ్ చాలా ప్రజాదరణ పొందిన సాధనం, మరియు ఇది కంటెయినరైజ్ చేయబడటంలో ఆశ్చర్యం లేదు. అందువల్ల, సెలీనియం గ్రిడ్‌ను K8 లలో అమలు చేయడంలో ఆశ్చర్యం లేదు. దీన్ని ఎలా చేయాలో ఒక ఉదాహరణ అధికారిక K8s రిపోజిటరీలో చూడవచ్చు. ఎప్పటిలాగే, నేను విభాగం చివరిలో లింక్‌లను అటాచ్ చేస్తాను. అదనంగా, టెర్రాఫార్మ్‌లో దీన్ని ఎలా చేయాలో మార్గదర్శిని చూపుతుంది. బ్రౌజర్ కంటైనర్‌లను కలిగి ఉన్న పాడ్‌ల సంఖ్యను ఎలా స్కేల్ చేయాలో కూడా సూచనలు ఉన్నాయి. కానీ K8s సందర్భంలో ఆటోమేటిక్ స్కేలింగ్ ఫంక్షన్ ఇప్పటికీ పూర్తిగా స్పష్టమైన పని కాదు. నేను చదువుకోవడం ప్రారంభించినప్పుడు, నాకు ఆచరణాత్మక మార్గదర్శకత్వం లేదా సిఫార్సులు దొరకలేదు. DevOps బృందం మద్దతుతో అనేక అధ్యయనాలు మరియు ప్రయోగాల తర్వాత, మేము ఒక పాడ్ లోపల అవసరమైన బ్రౌజర్‌లతో కంటైనర్‌లను పెంచే విధానాన్ని ఎంచుకున్నాము, ఇది ఒక వర్కర్ నోడ్‌లో ఉంది. ఈ పద్ధతి వారి సంఖ్యను పెంచడం ద్వారా నోడ్స్ యొక్క క్షితిజ సమాంతర స్కేలింగ్ యొక్క వ్యూహాన్ని వర్తింపజేయడానికి అనుమతిస్తుంది. భవిష్యత్తులో ఇది మారుతుందని నేను ఆశిస్తున్నాను మరియు మెరుగైన విధానాలు మరియు రెడీమేడ్ పరిష్కారాల గురించి మరిన్ని వివరణలను చూస్తాము, ప్రత్యేకించి సెలీనియం గ్రిడ్ 4 మారిన అంతర్గత నిర్మాణంతో విడుదలైన తర్వాత.

సెలీనోయిడ్:

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

చంద్రుడు:

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

పూర్తిగా స్థితిలేనిది. ప్రస్తుతం నడుస్తున్న బ్రౌజర్ సెషన్‌ల గురించిన సమాచారాన్ని మెమరీలో Selenoid స్టోర్ చేస్తుంది. కొన్ని కారణాల వలన దాని ప్రక్రియ క్రాష్ అయినట్లయితే - అన్ని రన్నింగ్ సెషన్‌లు పోతాయి. చంద్రుడికి విరుద్దంగా అంతర్గత స్థితి లేదు మరియు డేటా సెంటర్లలో ప్రతిరూపం చేయవచ్చు. ఒకటి లేదా అంతకంటే ఎక్కువ ప్రతిరూపాలు తగ్గినప్పటికీ బ్రౌజర్ సెషన్‌లు సజీవంగా ఉంటాయి.

కాబట్టి, చంద్రుడు ఒక గొప్ప పరిష్కారం, కానీ ఒక సమస్య ఉంది: ఇది ఉచితం కాదు. ధర సెషన్ల సంఖ్యపై ఆధారపడి ఉంటుంది. మీరు 0-4 సెషన్‌లను మాత్రమే ఉచితంగా అమలు చేయగలరు, ఇది ప్రత్యేకంగా ఉపయోగపడదు. కానీ, ఐదవ సెషన్ నుండి, మీరు ప్రతిదానికి $5 చెల్లించాలి. పరిస్థితి కంపెనీకి కంపెనీకి భిన్నంగా ఉండవచ్చు, కానీ మా విషయంలో, చంద్రుడిని ఉపయోగించడం అర్థరహితం. నేను పైన వివరించినట్లుగా, మేము డిమాండ్‌పై సెలీనియం గ్రిడ్‌తో VMలను అమలు చేయవచ్చు లేదా క్లస్టర్‌లోని నోడ్‌ల సంఖ్యను పెంచవచ్చు. దాదాపు ఒక పైప్‌లైన్ కోసం, మేము 500 బ్రౌజర్‌లను ప్రారంభించాము మరియు పరీక్షలు పూర్తయిన తర్వాత అన్ని వనరులను నిలిపివేస్తాము. మేము మూన్‌ని ఉపయోగించినట్లయితే, మనం ఎంత తరచుగా పరీక్షలు నిర్వహించినప్పటికీ, నెలకు అదనంగా 500 x 5 = $2500 చెల్లించాలి. మళ్ళీ, నేను చంద్రుడిని ఉపయోగించవద్దు అని చెప్పడం లేదు. మీ టాస్క్‌ల కోసం, ఇది ఒక అనివార్యమైన పరిష్కారం కావచ్చు, ఉదాహరణకు, మీ సంస్థలో మీకు అనేక ప్రాజెక్ట్‌లు/టీమ్‌లు ఉంటే మరియు ప్రతి ఒక్కరికీ మీకు భారీ ఉమ్మడి క్లస్టర్ అవసరమైతే. ఎప్పటిలాగే, నేను ముగింపులో ఒక లింక్‌ను వదిలివేసి, మీ పని సందర్భంలో అవసరమైన అన్ని గణనలను చేయమని సిఫార్సు చేస్తున్నాను.

Callisto: (శ్రద్ధ! ఇది అసలు వ్యాసంలో లేదు మరియు రష్యన్ అనువాదంలో మాత్రమే ఉంది)

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

మౌలిక సదుపాయాల ప్రస్తుత స్థితికి ఉదాహరణ

DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

అన్వేషించడానికి లింక్‌లు

సారూప్య సాధనాలు

7. కోడ్ (IaC)గా మౌలిక సదుపాయాలు

సాంకేతికత యొక్క సంక్షిప్త వివరణ

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

ఈ విధానాన్ని ఉపయోగించడం కోసం ప్రేరణతో ప్రారంభిద్దాం. GitlabCIలో పరీక్షలను అమలు చేయడానికి, Gitlab రన్నర్‌ని అమలు చేయడానికి మాకు కనీసం వనరులు అవసరమని మేము ఇప్పటికే చర్చించాము. మరియు బ్రౌజర్‌లు/ఎమ్యులేటర్‌లతో కంటైనర్‌లను అమలు చేయడానికి, మేము VM లేదా క్లస్టర్‌ను రిజర్వ్ చేయాలి. వనరులను పరీక్షించడంతో పాటు, డేటాబేస్‌లు, ఆటోమేటిక్ షెడ్యూల్‌లు, నెట్‌వర్క్ కాన్ఫిగరేషన్‌లు, లోడ్ బ్యాలెన్సర్‌లు, వినియోగదారు హక్కులు మొదలైనవాటిని కలిగి ఉన్న డెవలప్‌మెంట్, స్టేజింగ్, ప్రొడక్షన్ ఎన్విరాన్‌మెంట్‌లకు మద్దతు ఇవ్వడానికి మాకు గణనీయమైన సామర్థ్యం అవసరం. వీటన్నింటికీ మద్దతు ఇవ్వడానికి అవసరమైన కృషి ప్రధాన సమస్య. మేము మార్పులు చేయడానికి మరియు అప్‌డేట్‌లను విడుదల చేయడానికి అనేక మార్గాలు ఉన్నాయి. ఉదాహరణకు, GCP సందర్భంలో, మేము బ్రౌజర్‌లో UI కన్సోల్‌ని ఉపయోగించవచ్చు మరియు బటన్‌లను క్లిక్ చేయడం ద్వారా అన్ని చర్యలను చేయవచ్చు. క్లౌడ్ ఎంటిటీలతో పరస్పర చర్య చేయడానికి API కాల్‌లను ఉపయోగించడం లేదా కావలసిన మానిప్యులేషన్‌లను నిర్వహించడానికి gCloud కమాండ్ లైన్ యుటిలిటీని ఉపయోగించడం ప్రత్యామ్నాయం. కానీ నిజంగా పెద్ద సంఖ్యలో వివిధ ఎంటిటీలు మరియు ఇన్‌ఫ్రాస్ట్రక్చర్ ఎలిమెంట్స్‌తో, అన్ని కార్యకలాపాలను మాన్యువల్‌గా చేయడం కష్టం లేదా అసాధ్యం కూడా అవుతుంది. అంతేకాకుండా, ఈ మాన్యువల్ చర్యలన్నీ నియంత్రించలేనివి. మేము వాటిని అమలు చేయడానికి ముందు సమీక్ష కోసం సమర్పించలేము, సంస్కరణ నియంత్రణ వ్యవస్థను ఉపయోగించలేము మరియు సంఘటనకు దారితీసిన మార్పులను త్వరగా వెనక్కి తీసుకోలేము. అటువంటి సమస్యలను పరిష్కరించడానికి, ఇంజనీర్లు స్వయంచాలక బాష్/షెల్ స్క్రిప్ట్‌లను సృష్టించారు మరియు రూపొందించారు, అవి మునుపటి పద్ధతుల కంటే మెరుగైనవి కావు, ఎందుకంటే అవి త్వరగా చదవడం, అర్థం చేసుకోవడం, నిర్వహించడం మరియు విధానపరమైన శైలిలో సవరించడం అంత సులభం కాదు.

ఈ కథనంలో మరియు ఎలా-గైడ్ చేయాలో, నేను IaC అభ్యాసానికి సంబంధించిన 2 సాధనాలను ఉపయోగిస్తాను. ఇవి టెర్రాఫాం మరియు అన్సిబుల్. కొందరు వ్యక్తులు వాటిని ఒకే సమయంలో ఉపయోగించడంలో అర్థం లేదని నమ్ముతారు, ఎందుకంటే వాటి కార్యాచరణ సారూప్యంగా ఉంటుంది మరియు అవి పరస్పరం మార్చుకోగలవు. కానీ వాస్తవం ఏమిటంటే మొదట్లో వారికి పూర్తిగా భిన్నమైన పనులు ఇస్తారు. మరియు ఈ సాధనాలు ఒకదానికొకటి సంపూర్ణంగా ఉండాలనే వాస్తవం HashiCorp మరియు RedHatకి ప్రాతినిధ్యం వహిస్తున్న డెవలపర్‌లచే ఉమ్మడి ప్రదర్శనలో నిర్ధారించబడింది. సంభావిత వ్యత్యాసం ఏమిటంటే, టెర్రాఫార్మ్ అనేది సర్వర్‌లను స్వయంగా నిర్వహించడానికి ఒక ప్రొవిజనింగ్ సాధనం. Ansible అనేది కాన్ఫిగరేషన్ మేనేజ్‌మెంట్ సాధనం, దీని పని ఈ సర్వర్‌లలో సాఫ్ట్‌వేర్‌ను ఇన్‌స్టాల్ చేయడం, కాన్ఫిగర్ చేయడం మరియు నిర్వహించడం.

ఈ సాధనాల యొక్క మరొక ముఖ్య ప్రత్యేక లక్షణం కోడింగ్ శైలి. బాష్ మరియు అన్సిబుల్ కాకుండా, టెర్రాఫార్మ్ అమలు ఫలితంగా సాధించడానికి కావలసిన ముగింపు స్థితి యొక్క వివరణ ఆధారంగా డిక్లరేటివ్ శైలిని ఉపయోగిస్తుంది. ఉదాహరణకు, మేము 10 VMలను సృష్టించి, Terraform ద్వారా మార్పులను వర్తింపజేయబోతున్నట్లయితే, మనకు 10 VMలు లభిస్తాయి. మేము స్క్రిప్ట్‌ని మళ్లీ అమలు చేస్తే, మనకు ఇప్పటికే 10 VMలు ఉన్నందున ఏమీ జరగదు మరియు టెర్రాఫార్మ్‌కు దీని గురించి తెలుసు ఎందుకంటే ఇది స్టేట్ ఫైల్‌లో ఇన్‌ఫ్రాస్ట్రక్చర్ యొక్క ప్రస్తుత స్థితిని నిల్వ చేస్తుంది. కానీ Ansible ఒక విధానపరమైన విధానాన్ని ఉపయోగిస్తుంది మరియు మీరు దానిని 10 VMలను సృష్టించమని అడిగితే, మొదటి లాంచ్‌లో మేము Terraform మాదిరిగానే 10 VMలను పొందుతాము. కానీ పునఃప్రారంభించిన తర్వాత మనకు ఇప్పటికే 20 VMలు ఉంటాయి. ఇది ముఖ్యమైన తేడా. విధానపరమైన శైలిలో, మేము ప్రస్తుత స్థితిని నిల్వ చేయము మరియు తప్పనిసరిగా చేయవలసిన దశల క్రమాన్ని వివరించాము. వాస్తవానికి, మేము వివిధ పరిస్థితులను నిర్వహించగలము, వనరుల ఉనికి మరియు ప్రస్తుత స్థితి కోసం అనేక తనిఖీలను జోడించగలము, అయితే మన సమయాన్ని వృథా చేయడంలో మరియు ఈ తర్కాన్ని నియంత్రించడంలో కృషి చేయడంలో అర్థం లేదు. అదనంగా, ఇది తప్పులు చేసే ప్రమాదాన్ని పెంచుతుంది. 

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

ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్ కోసం విలువ

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

టెస్ట్ ఆటోమేషన్ సందర్భంలో Terraform మరియు Ansibleని ఉపయోగించడం మరియు మేము ముందు చర్చించిన సాధనాల గురించి ఇక్కడ కొన్ని ఉదాహరణలు ఉన్నాయి:

1. Terraformని ఉపయోగించి VMలు మరియు క్లస్టర్‌ల యొక్క అవసరమైన లక్షణాలు మరియు పారామితులను వివరించండి.

2. Ansibleని ఉపయోగించి, పరీక్ష కోసం అవసరమైన సాధనాలను ఇన్‌స్టాల్ చేయండి: డాకర్, సెలీనోయిడ్, సెలీనియం గ్రిడ్ మరియు అవసరమైన బ్రౌజర్‌లు/ఎమ్యులేటర్‌లను డౌన్‌లోడ్ చేయండి.

3. Terraform ఉపయోగించి, GitLab రన్నర్ ప్రారంభించబడే VM యొక్క లక్షణాలను వివరించండి.

4. Ansible, సెట్ సెట్టింగ్‌లు మరియు కాన్ఫిగరేషన్‌లను ఉపయోగించి GitLab రన్నర్ మరియు అవసరమైన అనుబంధ సాధనాలను ఇన్‌స్టాల్ చేయండి.

మౌలిక సదుపాయాల ప్రస్తుత స్థితికి ఉదాహరణ

DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

అన్వేషించడానికి లింక్‌లు:

సారూప్య సాధనాలు

సంగ్రహిద్దాం!

దశ
టెక్నాలజీ
పరికరములు
ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్ కోసం విలువ

1
స్థానిక పరుగు
Node.js, సెలీనియం, అప్పియం

  • వెబ్ మరియు మొబైల్ కోసం అత్యంత ప్రజాదరణ పొందిన సాధనాలు
  • అనేక భాషలు మరియు ప్లాట్‌ఫారమ్‌లకు మద్దతు ఇస్తుంది (Node.jsతో సహా)

2
సంస్కరణ నియంత్రణ వ్యవస్థలు 
Git

  • డెవలప్‌మెంట్ కోడ్‌తో సారూప్య ప్రయోజనాలు

3
కంటెయినరైజేషన్
డాకర్, సెలీనియం గ్రిడ్, సెలీనోయిడ్ (వెబ్, ఆండ్రాయిడ్)

  • సమాంతరంగా పరీక్షలు నిర్వహించడం
  • వివిక్త పరిసరాలు
  • సరళమైన, సౌకర్యవంతమైన సంస్కరణ నవీకరణలు
  • ఉపయోగించని వనరులను డైనమిక్‌గా ఆపడం
  • ఏర్పాటు సులభం

4
CI/CD
గిట్లాబ్ సీఐ

  • పైప్‌లైన్‌లో కొంత భాగాన్ని పరీక్షిస్తుంది
  • త్వరిత అభిప్రాయం
  • మొత్తం కంపెనీ/టీమ్‌కు దృశ్యమానత

5
క్లౌడ్ ప్లాట్‌ఫారమ్‌లు
Google మేఘ ప్లాట్ఫారమ్

  • డిమాండ్‌పై వనరులు (అవసరమైనప్పుడు మాత్రమే మేము చెల్లిస్తాము)
  • నిర్వహించడం మరియు నవీకరించడం సులభం
  • అన్ని వనరుల దృశ్యమానత మరియు నియంత్రణ

6
వాద్య
Kubernetes
పాడ్‌ల లోపల బ్రౌజర్‌లు/ఎమ్యులేటర్‌లు ఉన్న కంటైనర్‌ల సందర్భంలో:

  • స్కేలింగ్/ఆటో స్కేలింగ్
  • స్వీయ వైద్యం
  • అంతరాయం లేకుండా అప్‌డేట్‌లు మరియు రోల్‌బ్యాక్‌లు

7
కోడ్‌గా మౌలిక సదుపాయాలు (IaC)
టెర్రాఫాం, అన్సిబుల్

  • అభివృద్ధి మౌలిక సదుపాయాలతో ఇలాంటి ప్రయోజనాలు
  • కోడ్ సంస్కరణ యొక్క అన్ని ప్రయోజనాలు
  • మార్పులు చేయడం మరియు నిర్వహించడం సులభం
  • పూర్తిగా ఆటోమేటెడ్

మైండ్ మ్యాప్ రేఖాచిత్రాలు: మౌలిక సదుపాయాల పరిణామం

దశ 1: స్థానికం
DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

దశ 2: VCS
DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

దశ 3: కంటైనర్లీకరణ 
DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

దశ 4: CI/CD 
DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

దశ 5: క్లౌడ్ ప్లాట్‌ఫారమ్‌లు
DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

దశ 6: ఆర్కెస్ట్రేషన్
DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

దశ 7: IaC
DevOps సాధనాలు కేవలం DevOps కోసం మాత్రమే కాదు. మొదటి నుండి టెస్ట్ ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను నిర్మించే ప్రక్రియ

తరువాత ఏమిటి?

కాబట్టి, ఇది వ్యాసం ముగింపు. కానీ ముగింపులో, నేను మీతో కొన్ని ఒప్పందాలను ఏర్పాటు చేయాలనుకుంటున్నాను.

మీ వైపు నుండి
ప్రారంభంలో చెప్పినట్లుగా, వ్యాసం ఆచరణాత్మకంగా ఉపయోగించబడాలని మరియు నిజమైన పనిలో పొందిన జ్ఞానాన్ని వర్తింపజేయడంలో మీకు సహాయపడాలని నేను కోరుకుంటున్నాను. నేను మళ్ళీ జోడిస్తాను ప్రాక్టికల్ గైడ్‌కి లింక్.

కానీ ఆ తర్వాత కూడా, ఆపివేయవద్దు, అభ్యాసం చేయండి, సంబంధిత లింక్‌లు మరియు పుస్తకాలను అధ్యయనం చేయండి, మీ కంపెనీలో ఇది ఎలా పనిచేస్తుందో తెలుసుకోండి, మెరుగుపరచగల స్థలాలను కనుగొని దానిలో పాల్గొనండి. అదృష్టం!

నా వైపు నుండి

టైటిల్ ను బట్టి ఇది మొదటి భాగం మాత్రమే అని మీరు చూడవచ్చు. ఇది చాలా పెద్దదిగా మారినప్పటికీ, ముఖ్యమైన అంశాలు ఇప్పటికీ ఇక్కడ కవర్ చేయబడలేదు. రెండవ భాగంలో, IOS సందర్భంలో ఆటోమేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌ను చూడాలని నేను ప్లాన్ చేస్తున్నాను. MacOS సిస్టమ్‌లలో మాత్రమే iOS సిమ్యులేటర్‌లను అమలు చేయడంపై Apple యొక్క పరిమితుల కారణంగా, మా పరిష్కారాల పరిధి తగ్గించబడింది. ఉదాహరణకు, మేము సిమ్యులేటర్‌ను అమలు చేయడానికి డాకర్‌ను లేదా వర్చువల్ మిషన్‌లను అమలు చేయడానికి పబ్లిక్ క్లౌడ్‌లను ఉపయోగించలేము. కానీ ఇతర ప్రత్యామ్నాయాలు లేవని దీని అర్థం కాదు. నేను అధునాతన పరిష్కారాలు మరియు ఆధునిక సాధనాలతో మిమ్మల్ని తాజాగా ఉంచడానికి ప్రయత్నిస్తాను!

అలాగే, నేను మానిటరింగ్‌కు సంబంధించిన చాలా పెద్ద అంశాలను ప్రస్తావించలేదు. పార్ట్ 3లో, నేను అత్యంత జనాదరణ పొందిన ఇన్‌ఫ్రాస్ట్రక్చర్ మానిటరింగ్ టూల్స్ మరియు ఏ డేటా మరియు మెట్రిక్‌లను పరిగణించాలో చూడబోతున్నాను.

మరియు చివరకు. భవిష్యత్తులో, నేను బిల్డింగ్ టెస్ట్ ఇన్‌ఫ్రాస్ట్రక్చర్ మరియు పాపులర్ టూల్స్‌పై వీడియో కోర్సును విడుదల చేయాలనుకుంటున్నాను. ప్రస్తుతం, ఇంటర్నెట్‌లో DevOpsపై చాలా కొన్ని కోర్సులు మరియు ఉపన్యాసాలు ఉన్నాయి, అయితే అన్ని మెటీరియల్‌లు డెవలప్‌మెంట్ సందర్భంలో ప్రదర్శించబడతాయి, టెస్ట్ ఆటోమేషన్ కాదు. ఈ సమస్యపై, టెస్టర్లు మరియు ఆటోమేషన్ ఇంజనీర్‌ల కమ్యూనిటీకి అటువంటి కోర్సు ఆసక్తికరంగా మరియు విలువైనదిగా ఉంటుందా అనే దానిపై నాకు నిజంగా అభిప్రాయం అవసరం. ముందుగానే ధన్యవాదాలు!

మూలం: www.habr.com

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