మేము ఇటీవల బఫర్‌లో మా సిస్టమ్‌లోని భాగాలు తెరవెనుక కమ్యూనికేట్ చేసే విధానాన్ని క్లీన్ చేయడానికి ఒక చిన్న ప్రాజెక్ట్‌ను ప్రారంభించాము.కొన్ని శీఘ్ర సందర్భం: మేము SQS (అమెజాన్ సింపుల్ క్యూ సర్వీస్. ఈ క్యూలు టాస్క్‌ల కోసం వెయిటింగ్ రూమ్‌ల వలె పని చేస్తాయి. మా సిస్టమ్‌లోని ఒక భాగం సందేశాన్ని పంపుతుంది మరియు మరొక భాగం తర్వాత దాన్ని తీసుకుంటుంది. ఈ ప్రక్రియలో మీరు సహోద్యోగి కోసం ఒక గమనికను పంపినట్లు ఆలోచించండి. గమనిక ప్రతిస్పందన కోసం వేచి ఉండాల్సిన అవసరం లేదు. మా ప్రాజెక్ట్ సాధారణ నిర్వహణను నిర్వహించడం: మేము స్థానికంగా క్యూలను పరీక్షించడానికి మరియు వాటి కాన్ఫిగరేషన్‌ను శుభ్రపరచడానికి ఉపయోగించే సాధనాలను నవీకరించండి. అయితే మేము వాస్తవానికి ఏ క్యూలను ఉపయోగిస్తామో మ్యాప్ చేస్తున్నప్పుడు, మేము ఊహించనిది కనుగొన్నాము: ఏడు విభిన్న నేపథ్య ప్రక్రియలు (లేదా క్రాన్ జాబ్‌లు, అవి స్వయంచాలకంగా అమలు చేయబడని పనులు ఇది ఎందుకు ముఖ్యమైనది, మేము వాటిని ఎలా కనుగొన్నాము మరియు మేము దాని గురించి ఏమి చేసాము. ఇది ఎందుకు ముఖ్యమైనది, అవును, అనవసరమైన అవస్థాపనకు డబ్బు ఖర్చవుతుంది, నేను త్వరితగతిన లెక్కించాను మరియు ఆ కార్మికులలో ఒకరికి, మేము 5 సంవత్సరాలకు పైగా ~$360-600 చెల్లించాము. ఈ క్లీనప్ ద్వారా, ఆర్థిక వ్యయం అనేది సమస్య యొక్క అతిచిన్న భాగమని నేను వాదిస్తాను. ప్రతిసారీ కొత్త ఇంజనీర్ బృందంలో చేరి, మా సిస్టమ్‌లను అన్వేషించినప్పుడు, వారు ఈ రహస్య ప్రక్రియలను ఎదుర్కొంటారు, ఇది ఆన్‌బోర్డింగ్ సమయాన్ని తినేస్తుంది మరియు అనిశ్చితిని సృష్టిస్తుంది. "మరచిపోయిన" అవస్థాపనకు అప్పుడప్పుడు శ్రద్ధ అవసరం. వేళ్లు, కానీ నిజమేమిటంటే, ఏదైనా దీర్ఘకాల సిస్టమ్‌లో ఇది సహజంగా జరుగుతుంది. ఒక ఫీచర్ నిలుపుదల చేయబడుతుంది, కానీ ఒక వ్యక్తి వలసలను నిర్వహించడానికి "తాత్కాలికంగా" ఒక కార్యకర్తను స్పిన్ చేస్తూనే ఉంటాడు మరియు ఒక షెడ్యూల్ చేసిన పనిని ఎప్పటికీ నలిగిపోదు ప్రస్తుత తేదీకి సరిపోయే పుట్టినరోజుల కోసం మొత్తం డేటాబేస్‌ను తనిఖీ చేసి, కస్టమర్‌లకు వ్యక్తిగతీకరించిన ఇమెయిల్‌ను పంపిన షెడ్యూల్ చేసిన పని 2020లో, మేము మా లావాదేవీ ఇమెయిల్ సాధనాన్ని మార్చాము - ఇది మరో ఐదేళ్లపాటు అమలులో ఉంది. ఇది చాలా కంపెనీల మాదిరిగానే, బఫర్ సంవత్సరాల క్రితం మైక్రోసర్వీసెస్ మూవ్‌మెంట్‌ను (కంపెనీలు తమ కోడ్‌ను అనేక చిన్న, స్వతంత్ర సేవలుగా విభజించే ఒక ప్రసిద్ధ విధానం) స్వీకరించింది. మేము మా ఏకశిలాను ప్రత్యేక సేవలుగా విభజించాము, ఒక్కొక్కటి దాని స్వంత రిపోజిటరీ, విస్తరణ పైప్‌లైన్ మరియు అవస్థాపనతో, ఆ సమయంలో, ఇది అర్ధవంతంగా ఉంది: ప్రతి సేవను దాని స్వంత బృందాల మధ్య విస్తరించవచ్చు. రిపోజిటరీలు మా పరిమాణాన్ని మించిపోయాయి, కాబట్టి మేము ఒక బహుళ-సేవ రిపోజిటరీగా ఏకీకృతం చేసాము, కానీ అవి ఒకే చోట ఉన్నాయి. మైక్రోసర్వీస్ ప్రపంచంలో, ప్రతి రిపోజిటరీ దాని స్వంత ద్వీపాన్ని మరచిపోకూడదు పేర్లు, ఎక్కడ నడుస్తున్నాయో ఏకీకృత వీక్షణ లేదు. ఒక రిపోజిటరీలో అన్నింటితో, మేము ప్రతి క్యూను దాని వినియోగదారులకు మరియు నిర్మాతలకు గుర్తించగలము, కానీ వినియోగదారులను సూచించే శ్రేణులను మేము కనుగొనలేకపోయాము.కనుగొనడం దాదాపు అనివార్యమైంది. నిజానికి మనం ఏమి చేసాము అనాథ ప్రక్రియలను గుర్తించిన తర్వాత, వాటిని ఏమి చేయాలో మనం నిర్ణయించుకోవాలి. మేము దీన్ని ఎలా సంప్రదించామో ఇక్కడ ఉంది. ముందుగా, మేము ప్రతి దాని మూలాన్ని గుర్తించాము. ప్రతి కార్మికుడు మొదటి స్థానంలో ఎందుకు సృష్టించబడ్డాడో అర్థం చేసుకోవడానికి మేము git చరిత్ర మరియు పాత డాక్యుమెంటేషన్ ద్వారా త్రవ్వించాము. చాలా సందర్భాలలో, అసలు ప్రయోజనం స్పష్టంగా ఉంది: ఒక-పర్యాయ డేటా మైగ్రేషన్, సూర్యాస్తమయం పొందిన ఫీచర్, దాని ఉపయోగాన్ని మించిపోయిన తాత్కాలిక పరిష్కారం. తర్వాత అవి నిజంగా ఉపయోగించబడనివని మేము ధృవీకరించాము. దేన్నైనా తీసివేయడానికి ముందు, ఈ ప్రాసెస్‌లు నిశ్శబ్దంగా మనం కోల్పోయే ముఖ్యమైన పనిని చేయడం లేదని ధృవీకరించడానికి లాగింగ్‌ని జోడించాము. వారు అస్సలు పిలవలేదని నిర్ధారించుకోవడానికి మేము కొన్ని రోజులు పర్యవేక్షించాము మరియు మేము వారిని క్రమంగా తీసివేసాము. We didn't delete everything at once. మేము ఏవైనా ఊహించని దుష్ప్రభావాల కోసం చూస్తూ, ప్రాసెస్‌లను ఒక్కొక్కటిగా తీసివేసాము. (అదృష్టవశాత్తూ, ఏవీ లేవు.) చివరగా, మేము నేర్చుకున్న వాటిని డాక్యుమెంట్ చేసాము. మేము మా అంతర్గత డాక్స్‌కు ప్రతి ప్రాసెస్‌ని అసలు ఏమి చేసారు మరియు ఎందుకు తీసివేయబడింది అనే దాని గురించి గమనికలను జోడించాము, కాబట్టి భవిష్యత్తులో ఇంజనీర్లు ఏదైనా ముఖ్యమైనది తప్పిపోయినా ఆశ్చర్యపోరు. శుభ్రపరిచిన తర్వాత ఏమి మారిపోయింది, మేము పూర్తి ప్రభావాన్ని కొలిచేందుకు ఇంకా ముందుగానే ఉన్నాము, అయితే మేము ఇప్పటివరకు చూసినవి ఇక్కడ ఉన్నాయి.మా మౌలిక సదుపాయాల జాబితా ఇప్పుడు ఖచ్చితమైనది. ఎవరైనా అడిగితే, "మేము ఏ కార్మికులను నడుపుతాము?" మేము నిజంగా ఆ ప్రశ్నకు నమ్మకంగా సమాధానం చెప్పగలము. ఆన్‌బోర్డింగ్ సంభాషణలు కూడా సరళంగా మారాయి. కొత్త ఇంజనీర్లు రహస్యమైన ప్రక్రియలను అడ్డుకోవడం లేదు మరియు వారు సందర్భాన్ని కోల్పోతున్నారా అని ఆశ్చర్యపోతున్నారు. కోడ్‌బేస్ మనం నిజంగా ఏమి చేస్తున్నామో ప్రతిబింబిస్తుంది, ఐదేళ్ల క్రితం మనం ఏమి చేశామో కాదు. రిఫాక్టర్‌లను పురావస్తు శాస్త్రంగా పరిగణించండి మరియు నివారణ ఈ ప్రాజెక్ట్ నుండి నా అతిపెద్ద టేక్‌అవే: ప్రతి ముఖ్యమైన రీఫాక్టర్ ఆర్కియాలజీకి ఒక అవకాశం. మీరు సిస్టమ్‌లో లోతుగా ఉన్నప్పుడు, ముక్కలు ఎలా కనెక్ట్ అవుతాయో నిజంగా అర్థం చేసుకుంటే, ఇంకా ఏమి అవసరమో ప్రశ్నించడానికి మీరు సరైన స్థితిలో ఉన్నారు. ఏదైనా పాత ప్రాజెక్ట్ నుండి ఆ క్యూ? వన్-టైమ్ డేటా మైగ్రేషన్ కోసం ఎవరైనా సృష్టించిన కార్యకర్త? మీరు ఎన్నడూ వినని లక్షణాన్ని సూచించే షెడ్యూల్ చేయబడిన టాస్క్? అవి ఇంకా రన్ అవుతూనే ఉండవచ్చు.ఇక్కడ మేము మా ప్రాసెస్‌ని రూపొందిస్తున్నాము: ఏదైనా రీఫ్యాక్టర్ సమయంలో, అడగండి: మనం కొంతకాలంగా చూడని ఈ సిస్టమ్‌ను ఇంకా ఏమి తాకుతుంది? ఫీచర్‌ను విస్మరించేటప్పుడు, దాని బ్యాక్‌గ్రౌండ్ ప్రాసెస్‌ల వరకు దాన్ని ట్రేస్ చేయండి, కేవలం వినియోగదారు-ఫేసింగ్ కోడ్ మాత్రమే. ఎవరైనా జట్టు నుండి నిష్క్రమించినప్పుడు, వారు ఇప్పటికీ పాత కోడ్‌లను కలిగి ఉన్న అంశాలని డాక్యుమెంట్ చేయండి. ఇప్పటికీ ఒకే రిపోజిటరీకి తరలించబడలేదు. మేము ఏకీకరణను కొనసాగిస్తున్నందున, మేము ఈ దాచిన శేషాలను మరిన్ని కనుగొంటామని మేము విశ్వసిస్తున్నాము. కానీ ఇప్పుడు మేము వాటిని పట్టుకోవడానికి మరియు కొత్తవి ఏర్పడకుండా నిరోధించడానికి సెటప్ చేసాము. మీ కోడ్ అంతా ఒకే చోట నివసించినప్పుడు, అనాథ మౌలిక సదుపాయాలు ఎక్కడా దాచుకోలేవు.

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free