గందరగోళాన్ని నిర్వహించడం: సాంకేతిక మ్యాప్ సహాయంతో ఆర్డర్ తీసుకురావడం

గందరగోళాన్ని నిర్వహించడం: సాంకేతిక మ్యాప్ సహాయంతో ఆర్డర్ తీసుకురావడం

చిత్రం: Unsplash

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

బహుళ-ఉత్పత్తి అభివృద్ధిని సమన్వయం చేయడంలో సంక్లిష్టత, సాంకేతిక పటం అంటే ఏమిటి మరియు పరిష్కారాలను నిర్వహించడానికి మరియు ప్రతిబింబించడానికి ఇది ఎలా సహాయపడుతుంది, అభివృద్ధి ప్రక్రియ యొక్క ప్రధాన దశలు మరియు దశలు ఏమిటి, బాధ్యతాయుతమైన ప్రాంతాలు ఎలా గుర్తించబడతాయి అనే విషయాల గురించి మీరు మెటీరియల్ నుండి నేర్చుకుంటారు. మా కంపెనీలో DevOps మరియు బృందాల మధ్య.

ఖోస్ మరియు DevOps గురించి

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

ఒక కంపెనీ ఒక ఉత్పత్తిని అభివృద్ధి చేస్తున్నప్పుడు, ప్రతిదీ ఎక్కువ లేదా తక్కువ స్పష్టంగా ఉంటుంది: సాధారణంగా సాధారణ రోడ్‌మ్యాప్ మరియు అభివృద్ధి పథకం ఉంటుంది. కానీ ఉత్పత్తి లైన్ విస్తరించినప్పుడు మరియు మరిన్ని ఉత్పత్తులు ఉన్నప్పుడు ఏమి చేయాలి? మొదటి చూపులో, వారు ఒకే విధమైన ప్రక్రియలు మరియు అసెంబ్లీ లైన్‌లను కలిగి ఉన్నారు మరియు లాగ్‌లు మరియు స్క్రిప్ట్‌లలో "X తేడాలను కనుగొనండి" గేమ్ ప్రారంభమవుతుంది. యాక్టివ్ డెవలప్‌మెంట్‌లో ఇప్పటికే 5+ ప్రాజెక్ట్‌లు ఉంటే మరియు అనేక సంవత్సరాలుగా అభివృద్ధి చేయబడిన అనేక వెర్షన్‌లకు మద్దతు అవసరమైతే ఏమి చేయాలి? మేము ఉత్పత్తి పైప్‌లైన్‌లలో వీలైనన్ని ఎక్కువ పరిష్కారాలను తిరిగి ఉపయోగించాలనుకుంటున్నారా లేదా ప్రతి దాని కోసం ప్రత్యేకమైన అభివృద్ధి కోసం డబ్బు ఖర్చు చేయడానికి సిద్ధంగా ఉన్నారా?

పరిష్కారాల ప్రత్యేకత మరియు సీరియల్ మధ్య సమతుల్యతను ఎలా కనుగొనాలి?

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

డెవలప్‌మెంట్ డైరెక్టర్: “అబ్బాయిలు, ఉత్పత్తుల కోసం DevOps ఏమి చేస్తుందో మనం ఏదో ఒకవిధంగా అంచనా వేయగలమా?”

మేము: "మాకు తెలియదు, మేము ఈ ప్రశ్న అడగలేదు, కానీ ఏ సూచికలను లెక్కించాలి?"

డెవలప్‌మెంట్ డైరెక్టర్: "ఎవరికీ తెలుసు! ఆలోచించు..."

ఆ ప్రసిద్ధ చిత్రంలో వలె: “నేను హోటల్‌కి వెళ్తున్నాను!..” - “ఉహ్... మీరు నాకు దారి చూపగలరా?” ఆలోచించిన తర్వాత, మేము మొదట ఉత్పత్తుల యొక్క తుది స్థితులను నిర్ణయించాల్సిన అవసరం ఉందని మేము నిర్ధారణకు వచ్చాము; ఇది మా మొదటి లక్ష్యం.

కాబట్టి, మీరు 10 నుండి 200 మంది వ్యక్తులతో కూడిన పెద్ద బృందాలతో డజను ఉత్పత్తులను ఎలా విశ్లేషించగలరు మరియు పరిష్కారాలను ప్రతిరూపం చేసేటప్పుడు కొలవగల కొలమానాలను ఎలా నిర్ణయించగలరు?

1:0 ఖోస్‌కు అనుకూలంగా లేదా బ్లేడ్‌లపై DevOps

మేము BPwin సిరీస్ నుండి IDEF0 రేఖాచిత్రాలు మరియు వివిధ వ్యాపార ప్రక్రియ రేఖాచిత్రాలను వర్తింపజేయడానికి ప్రయత్నించడం ద్వారా ప్రారంభించాము. తదుపరి ప్రాజెక్ట్ యొక్క తదుపరి దశ యొక్క ఐదవ చతురస్రం తర్వాత గందరగోళం ప్రారంభమైంది మరియు ప్రతి ప్రాజెక్ట్ కోసం ఈ చతురస్రాలను 50+ దశల్లో పొడవైన కొండచిలువ తోకలోకి లాగవచ్చు. నేను విచారంగా ఉన్నాను మరియు చంద్రుని వద్ద కేకలు వేయాలనుకున్నాను - అది అస్సలు సరిపోలేదు.

సాధారణ ఉత్పత్తి పనులు

ఉత్పత్తి ప్రక్రియలను మోడలింగ్ చేయడం చాలా క్లిష్టమైన మరియు శ్రమతో కూడుకున్న పని: మీరు వివిధ విభాగాలు మరియు ఉత్పత్తి గొలుసుల నుండి చాలా డేటాను సేకరించి, ప్రాసెస్ చేయాలి మరియు విశ్లేషించాలి. మీరు వ్యాసంలో దీని గురించి మరింత చదువుకోవచ్చు "IT కంపెనీలో ఉత్పత్తి ప్రక్రియల నమూనా".

మేము మా ఉత్పత్తి ప్రక్రియను మోడలింగ్ చేయడం ప్రారంభించినప్పుడు, మాకు ఒక నిర్దిష్ట లక్ష్యం ఉంది - మా కంపెనీ ఉత్పత్తుల అభివృద్ధిలో పాల్గొన్న ప్రతి ఉద్యోగికి మరియు ప్రాజెక్ట్ మేనేజర్‌లకు తెలియజేయడం:

  • ఉత్పత్తులు మరియు వాటి భాగాలు, కోడ్ లైన్ యొక్క కమిట్ నుండి ప్రారంభించి, ఇన్‌స్టాలర్‌లు మరియు అప్‌డేట్‌ల రూపంలో కస్టమర్‌ను ఎలా చేరుకుంటాయి,
  • ఉత్పత్తి ఉత్పత్తి యొక్క ప్రతి దశలో ఏ వనరులు అందించబడతాయి,
  • ప్రతి దశలో ఏ సేవలు ఉన్నాయి,
  • ప్రతి దశకు బాధ్యత గల ప్రాంతాలు ఎలా గుర్తించబడతాయి,
  • ప్రతి దశ యొక్క ఇన్‌పుట్ మరియు అవుట్‌పుట్ వద్ద ఏ ఒప్పందాలు ఉన్నాయి.

గందరగోళాన్ని నిర్వహించడం: సాంకేతిక మ్యాప్ సహాయంతో ఆర్డర్ తీసుకురావడం

పూర్తి పరిమాణంలో తెరవడానికి చిత్రంపై క్లిక్ చేయండి

సంస్థలో మా పని అనేక ఫంక్షనల్ ప్రాంతాలుగా విభజించబడింది. అన్ని డిపార్ట్‌మెంట్ హార్డ్‌వేర్ వనరుల ఆపరేషన్‌ను ఆప్టిమైజ్ చేయడంలో మౌలిక సదుపాయాల విభాగం నిమగ్నమై ఉంది, అలాగే వర్చువల్ మిషన్‌ల విస్తరణ మరియు వాటిపై పర్యావరణాన్ని ఆటోమేట్ చేస్తుంది. పర్యవేక్షణ దిశ 24/7 సేవల పనితీరుపై నియంత్రణను అందిస్తుంది; మేము డెవలపర్‌ల కోసం మానిటరింగ్‌ని సేవగా కూడా అందిస్తాము. వర్క్‌ఫ్లో దిశలో డెవలప్‌మెంట్ మరియు టెస్టింగ్ ప్రాసెస్‌లను నిర్వహించడం, కోడ్ స్థితిని విశ్లేషించడం మరియు ప్రాజెక్ట్‌లపై విశ్లేషణలను పొందడం కోసం టూల్స్‌తో టీమ్‌లను అందిస్తుంది. చివరగా, వెబ్‌దేవ్ దిశ GUS మరియు FLUS అప్‌డేట్ సర్వర్‌లలో విడుదలల ప్రచురణను నిర్ధారిస్తుంది, అలాగే లైసెన్స్‌ల్యాబ్ సేవను ఉపయోగించి ఉత్పత్తులకు లైసెన్స్ ఇస్తుంది. ఉత్పత్తి పైప్‌లైన్‌కు మద్దతు ఇవ్వడానికి, మేము డెవలపర్‌ల కోసం అనేక విభిన్న మద్దతు సేవలను సెటప్ చేస్తాము మరియు నిర్వహిస్తాము (మీరు పాత సమావేశాలలో వాటిలో కొన్నింటి గురించి కథనాలను వినవచ్చు: Op!DevOps! 2016 и Op!DevOps! 2017) మేము అంతర్గత ఆటోమేషన్ సాధనాలను కూడా అభివృద్ధి చేస్తాము ఓపెన్ సోర్స్ పరిష్కారాలు.

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

గందరగోళాన్ని నిర్వహించడం: సాంకేతిక మ్యాప్ సహాయంతో ఆర్డర్ తీసుకురావడం

సాంకేతిక గొలుసు యొక్క సరళమైన ఉదాహరణ కంపెనీలో మా ప్రతి ఉత్పత్తి యొక్క అసెంబ్లీ, విస్తరణ మరియు పరీక్ష యొక్క దశలు. ఉదాహరణకు, బిల్డ్ స్టేజ్ అనేక ప్రత్యేక ప్రామాణిక దశలను కలిగి ఉంటుంది: GitLab నుండి మూలాధారాలను డౌన్‌లోడ్ చేయడం, డిపెండెన్సీలు మరియు 3వ-పక్ష లైబ్రరీలను సిద్ధం చేయడం, యూనిట్ టెస్టింగ్ మరియు స్టాటిక్ కోడ్ విశ్లేషణ, GitLab CIలో బిల్డ్ స్క్రిప్ట్‌ను అమలు చేయడం, కళాఖండాలను రిపోజిటరీకి ప్రచురించడం మా అంతర్గత చేంజ్‌లాగ్‌బిల్డర్ సాధనం ద్వారా కృత్రిమ మరియు విడుదల గమనికలను రూపొందించడం.

మీరు హబ్రేలోని మా ఇతర కథనాలలో సాధారణ DevOps టాస్క్‌ల గురించి చదువుకోవచ్చు: "వ్యక్తిగత అనుభవం: మా నిరంతర ఇంటిగ్రేషన్ సిస్టమ్ ఎలా ఉంటుంది"మరియు"అభివృద్ధి ప్రక్రియల ఆటోమేషన్: మేము పాజిటివ్ టెక్నాలజీస్‌లో DevOps ఆలోచనలను ఎలా అమలు చేసాము".

అనేక సాధారణ ఉత్పత్తి గొలుసులు ఏర్పడతాయి తయారీ విధానం. ప్రక్రియలను వివరించడానికి ప్రామాణిక విధానం ఫంక్షనల్ IDEF0 మోడల్‌లను ఉపయోగించడం.

ఉత్పత్తి CI ప్రక్రియను మోడలింగ్ చేయడానికి ఉదాహరణ

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

గందరగోళాన్ని నిర్వహించడం: సాంకేతిక మ్యాప్ సహాయంతో ఆర్డర్ తీసుకురావడం

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

మేము మా విడుదల పథకాన్ని చాలా సరళీకృతం చేసి మరియు సాధారణీకరించినట్లయితే, ఇది క్రింది దశలను కలిగి ఉంటుంది:

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

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

గందరగోళాన్ని నిర్వహించడం: సాంకేతిక మ్యాప్ సహాయంతో ఆర్డర్ తీసుకురావడం

పూర్తి పరిమాణంలో తెరవడానికి చిత్రంపై క్లిక్ చేయండి

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

ఆశ పుట్టుక

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

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

మ్యాప్ యొక్క అడ్డు వరుసలు మరియు నిలువు వరుసల విభజనల వద్ద, మేము నిర్దిష్ట దశ మరియు ఉత్పత్తి కోసం స్థితిని ఉంచాము. అనేక రాష్ట్రాలు హోదాల కోసం నిర్వచించబడ్డాయి:

  1. సమాచారం లేదు - లేదా అసాధ్యమైనది. ఉత్పత్తిలో ఒక దశ కోసం డిమాండ్‌ను విశ్లేషించడం అవసరం. విశ్లేషణ ఇప్పటికే నిర్వహించబడింది, కానీ దశ ప్రస్తుతం అవసరం లేదు లేదా ఆర్థికంగా సమర్థించబడదు.
  2. వాయిదా పడింది - లేదా ప్రస్తుతానికి సంబంధించినది కాదు. పైప్‌లైన్‌లో ఈ దశ అవసరం, కానీ ఈ సంవత్సరం దీన్ని అమలు చేయడానికి శక్తి లేదు.
  3. ప్రణాళిక. ఈ సంవత్సరం అమలు చేయడానికి వేదిక ప్రణాళిక చేయబడింది.
  4. అమలు చేశారు. పైప్‌లైన్‌లోని దశ అవసరమైన మేరకు అమలు చేయబడుతుంది.

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

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

వారు మాకు అభ్యంతరం చెప్పవచ్చు: “ఇదంతా బాగానే ఉంది, అయితే కాలక్రమేణా దశలు మరియు దశల సంఖ్య చాలా పెద్దదిగా మారుతుంది. నేనేం చేయాలి?

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

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

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

ఉత్పత్తి ప్రక్రియ యొక్క సాంకేతిక పటం

మేము మా అన్ని దశలు మరియు దశలను తీసుకుంటే, వాటిని ట్యాగ్‌లతో ఎన్‌కోడ్ చేసి, వాటిని ఒక గొలుసుగా విస్తరింపజేస్తే, అది చాలా పొడవుగా మరియు అపారమయినదిగా మారుతుంది (ఖచ్చితంగా మేము వ్యాసం ప్రారంభంలో మాట్లాడిన అదే “పైథాన్ తోక”) :

[Production] — [InfMonitoring] — [SourceCodeControl] — [Prepare] — [PrepareLinuxDocker] — [PrepareWinDocker] — [Build] — [PullSourceCode] — [PrepareDep] — [UnitTest] — [CodeCoverage] — [StaticAnalyze] — [BuildScenario] — [PushToSnapshot] — [ChangelogBuilder] — [Deploy] — [PrepareTestStand] — [PullTestCode] — [PrepareTestEnv] — [PullArtifact] — [DeployArtifact] — [Test] — [BVTTest] — [SmokeTest] — [FuncTest] — [LoadTest] — [IntegrityTest] — [DeliveryTest] — [MonitoringStands] — [TestManagement] — [Promote] — [QualityTag] — [MoveToRelease] — [License] — [Publish] — [PublishGUSFLUS] — [ControlVisibility] — [Install] — [LicenseActivation] — [RequestUpdates] — [PullUpdates] — [InitUpdates] — [PrepareEnv] — [InstallUpdates] — [Telemetry] — [Workflow] — [Communication] — [Certification] — [CISelfSufficiency]

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

వాటితో పాటు, మేము ప్రత్యేక దశలను వేరు చేయవచ్చు: అవస్థాపన స్థితిని పర్యవేక్షించడం [InfMonitoring], సోర్స్ కోడ్ సంస్కరణలను నిర్వహించడం [SourceCodeControl], అసెంబ్లీ వాతావరణాన్ని సిద్ధం చేయడం [సిద్ధం చేయండి], ప్రాజెక్ట్ నిర్వహణ [వర్క్‌ఫ్లో], కమ్యూనికేషన్ సాధనాలతో బృందాలను అందించడం [ కమ్యూనికేషన్], ఉత్పత్తి ధృవీకరణ [ధృవీకరణ] మరియు CI ప్రక్రియల స్వయం సమృద్ధిని నిర్ధారించడం [CISelfSufficiency] (ఉదాహరణకు, ఇంటర్నెట్ నుండి అసెంబ్లీల స్వతంత్రత). మేము మా ప్రక్రియలలో డజన్ల కొద్దీ దశలను కూడా పరిగణించము, ఎందుకంటే అవి చాలా నిర్దిష్టంగా ఉంటాయి.

మీరు దానిని రూపంలో ఊహించినట్లయితే మొత్తం ఉత్పత్తి ప్రక్రియను అర్థం చేసుకోవడం మరియు చూడటం చాలా సులభం సాంకేతిక పటం; మోడల్ యొక్క వ్యక్తిగత ఉత్పత్తి దశలు మరియు కుళ్ళిన దశలు వరుసలలో మరియు నిలువు వరుసలలో ప్రతి దశలో లేదా దశలో ఏమి జరుగుతుందో వివరించే పట్టిక ఇది. ప్రతి దశను అందించే వనరులు మరియు బాధ్యత గల ప్రాంతాల డీలిమిటేషన్‌పై ప్రధాన ప్రాధాన్యత ఉంది.

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

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

గందరగోళాన్ని నిర్వహించడం: సాంకేతిక మ్యాప్ సహాయంతో ఆర్డర్ తీసుకురావడం

పూర్తి పరిమాణంలో తెరవడానికి చిత్రంపై క్లిక్ చేయండి

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

మా సాంకేతిక పటం యొక్క నిర్మాణం

మ్యాప్ అనేక భాగాలను కలిగి ఉంటుంది:

  1. హెడ్డింగ్ ప్రాంతం - ఇక్కడ మ్యాప్ యొక్క సాధారణ వివరణ ఉంది, ప్రాథమిక అంశాలు ప్రవేశపెట్టబడ్డాయి మరియు ఉత్పత్తి ప్రక్రియ యొక్క ప్రధాన వనరులు మరియు ఫలితాలు నిర్వచించబడ్డాయి.
  2. సమాచార ప్యానెల్ - ఇక్కడ మీరు వ్యక్తిగత ఉత్పత్తుల కోసం డేటా ప్రదర్శనను నియంత్రించవచ్చు; అన్ని ఉత్పత్తుల కోసం సాధారణంగా అమలు చేయబడిన దశలు మరియు దశల సారాంశం అందించబడింది.
  3. సాంకేతిక పటం - సాంకేతిక ప్రక్రియ యొక్క పట్టిక వివరణ. మ్యాప్‌లో:
    • అన్ని దశలు, దశలు మరియు వాటి సంకేతాలు ఇవ్వబడ్డాయి;
    • దశల సంక్షిప్త మరియు పూర్తి వివరణలు ఇవ్వబడ్డాయి;
    • ప్రతి దశలో ఉపయోగించిన ఇన్‌పుట్ వనరులు మరియు సేవలు సూచించబడతాయి;
    • ప్రతి దశ మరియు వ్యక్తిగత దశ ఫలితాలు సూచించబడతాయి;
    • ప్రతి దశ మరియు దశకు బాధ్యత యొక్క ప్రాంతం సూచించబడుతుంది;
    • సాంకేతిక వనరులు నిర్ణయించబడ్డాయి, ఉదాహరణకు HDD (SSD), RAM, vCPU మరియు ఈ దశలో పని చేయడానికి అవసరమైన పని గంటలు, ప్రస్తుతం - వాస్తవం మరియు భవిష్యత్తులో - ప్రణాళిక;
    • ప్రతి ఉత్పత్తికి ఏ సాంకేతిక దశలు లేదా దాని కోసం దశలు అమలు చేయబడ్డాయి, అమలు చేయడానికి ప్రణాళిక చేయబడ్డాయి, అసంబద్ధం లేదా అమలు చేయబడలేదు అని సూచించబడుతుంది.

సాంకేతిక పటం ఆధారంగా నిర్ణయాలు తీసుకోవడం

మ్యాప్‌ని అధ్యయనం చేసిన తర్వాత, కంపెనీలో ఉద్యోగి పాత్ర (డెవలప్‌మెంట్ మేనేజర్, ప్రొడక్ట్ మేనేజర్, డెవలపర్ లేదా టెస్టర్) ఆధారంగా మీరు కొన్ని చర్యలు తీసుకోవచ్చు:

  • నిజమైన ఉత్పత్తి లేదా ప్రాజెక్ట్‌లో ఏ దశలు లేవు మరియు వాటి అమలు అవసరాన్ని అంచనా వేయండి;
  • అనేక విభాగాలు వేర్వేరు దశల్లో పనిచేస్తుంటే వాటి మధ్య బాధ్యత గల ప్రాంతాలను డీలిమిట్ చేయండి;
  • దశల ఇన్‌పుట్‌లు మరియు అవుట్‌పుట్‌ల కోసం ఒప్పందాలను చర్చించండి;
  • మొత్తం అభివృద్ధి ప్రక్రియలో మీ పని దశను ఏకీకృతం చేయండి;
  • ప్రతి దశకు మద్దతు ఇవ్వడానికి వనరుల అవసరాన్ని మరింత ఖచ్చితంగా అంచనా వేయండి.

పైన పేర్కొన్నవన్నీ సంగ్రహించడం

సాంకేతిక పటం బహుముఖమైనది, విస్తరించదగినది మరియు నిర్వహించడం సులభం. కఠినమైన అకడమిక్ IDEF0 మోడల్‌లో కంటే ఈ రూపంలో ప్రక్రియ వివరణలను అభివృద్ధి చేయడం మరియు నిర్వహించడం చాలా సులభం. అదనంగా, ఫంక్షనల్ మోడల్ కంటే పట్టిక వివరణ సరళమైనది, మరింత సుపరిచితమైనది మరియు మెరుగైన నిర్మాణాత్మకమైనది.

ఒక ప్రత్యేక అంతర్గత సాధనం, CrossBuilder, దశల యొక్క సాంకేతిక అమలుకు బాధ్యత వహిస్తుంది - CI వ్యవస్థలు, సేవలు మరియు అవస్థాపనల మధ్య పొరల సాధనం. డెవలపర్ తన బైక్‌ను కత్తిరించాల్సిన అవసరం లేదు: మా CI సిస్టమ్‌లో క్రాస్‌బిల్డర్ సాధనం యొక్క స్క్రిప్ట్‌లలో ఒకదాన్ని (టాస్క్ అని పిలవబడేది) అమలు చేయడానికి సరిపోతుంది, ఇది మా మౌలిక సదుపాయాల లక్షణాలను పరిగణనలోకి తీసుకొని సరిగ్గా అమలు చేస్తుంది.

ఫలితాలు

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

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

మా మ్యాప్‌లో నిర్దిష్ట సాంకేతిక దశలను అమలు చేయడానికి ఏ సాంకేతిక సాధనాలు ఉపయోగించబడుతున్నాయనే దాని గురించి క్రింది కథనాలలో మేము మరింత వివరంగా మాట్లాడుతాము.

వ్యాసం యొక్క రచయితలు:

మూలం: www.habr.com

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