ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግ

አሁን የዴቭኦፕስ ርዕስ በማስታወቂያ ላይ ነው። ቀጣይነት ያለው ውህደት እና ማስተላለፊያ ቧንቧ ሲአይ / ሲዲ ሁሉንም እና ሁሉንም ይተግብሩ. ነገር ግን አብዛኛዎቹ በ CI / CD Pipeline ደረጃዎች ላይ የመረጃ ስርዓቶችን አስተማማኝነት ለማረጋገጥ ሁልጊዜ ተገቢውን ትኩረት አይሰጡም. በዚህ ጽሑፍ ውስጥ የሶፍትዌር ጥራት ፍተሻዎችን በራስ-ሰር በማዘጋጀት እና ለ "ራስ-ፈውስ" ሊሆኑ የሚችሉ ሁኔታዎችን በመተግበር ላይ ስላለኝ ልምድ ማውራት እፈልጋለሁ.

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግምንጭ

በአንድ ኩባንያ የአይቲ አገልግሎት አስተዳደር ክፍል ውስጥ መሐንዲስ ሆኜ እሰራለሁ። "LANIT-ውህደት". የእኔ መገለጫ አቅጣጫ የመተግበሪያዎችን አፈፃፀም እና ተገኝነት ለመቆጣጠር የተለያዩ ስርዓቶችን መተግበር ነው። የአይቲ አገልግሎታቸውን ጥራት ከመቆጣጠር ጋር በተያያዙ ወቅታዊ ጉዳዮች ላይ ከተለያዩ የገበያ ክፍሎች ከተውጣጡ የአይቲ ደንበኞች ጋር ብዙ ጊዜ እገናኛለሁ። ዋናው ተግባር የመልቀቂያ ዑደት ጊዜን መቀነስ እና የመልቀቂያውን ድግግሞሽ መጨመር ነው. ይህ በእርግጥ ሁሉም ጥሩ ነው፡ ተጨማሪ ልቀቶች - ተጨማሪ አዲስ ባህሪያት - የበለጠ የረኩ ተጠቃሚዎች - የበለጠ ትርፍ። እንደ እውነቱ ከሆነ ግን ነገሮች ሁልጊዜ ጥሩ አይደሉም። በጣም ከፍተኛ የማሰማራት ተመኖች፣የእኛ የተለቀቁት የጥራት ጥያቄ ወዲያውኑ ብቅ ይላል። ሙሉ በሙሉ አውቶማቲክ በሆነ የቧንቧ መስመር እንኳን ቢሆን፣ ከመተግበሪያው ጋር በሰአት እና በተጠቃሚዎች መስተጋብር ላይ ተጽእኖ ሳያሳድር አገልግሎቶችን ከሙከራ ወደ ምርት ማሸጋገር አንዱ ትልቁ ፈተና ነው።

ከደንበኞች ጋር ባደረጉት በርካታ ንግግሮች ውጤቶች ላይ በመመስረት የጥራት ቁጥጥርን ፣ የመተግበሪያውን አስተማማኝነት ችግር እና “ራስን የመፈወስ” እድል (ለምሳሌ ፣ ወደ የተረጋጋ ስሪት መመለስ) በተለያዩ የ CI ደረጃዎች ይልቀቁ ማለት እችላለሁ ። / የሲዲ ቧንቧ መስመር በጣም ከሚያስደስቱ እና ተዛማጅ ርዕሶች መካከል ናቸው.

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግ
በቅርብ ጊዜ, እኔ ራሴ ከደንበኛው ጎን እሰራ ነበር - በኦንላይን የባንክ መተግበሪያ የሶፍትዌር ጥገና አገልግሎት ውስጥ. የኛ አፕሊኬሽኑ አርክቴክቸር ብዙ ቁጥር ያላቸው በራስ የተፃፉ ማይክሮ ሰርቪስ ተጠቅሟል። በጣም የሚያሳዝነው ሁሉም ገንቢዎች ከፍተኛውን የእድገት ፍጥነት መቋቋም አልቻሉም, የአንዳንድ ጥቃቅን አገልግሎቶች ጥራት ተጎድቷል, ይህም ለእነሱ እና ለፈጣሪዎቻቸው አስቂኝ ቅጽል ስሞችን አስገኝቷል. እነዚህ ምርቶች ከየትኞቹ ቁሳቁሶች እንደተሠሩ ተረቶች ታዩ.

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግ

"የችግሩ መፈጠር"

ከፍተኛ የመልቀቂያ ድግግሞሽ እና ብዙ ቁጥር ያላቸው ማይክሮ ሰርቪስ የመተግበሪያውን አሠራር በአጠቃላይ በሙከራ ደረጃም ሆነ በተግባር ደረጃ ለመረዳት አስቸጋሪ ያደርገዋል. ለውጦች ሁል ጊዜ ይከሰታሉ እና ያለ ጥሩ የክትትል መሳሪያዎች እነሱን ለመቆጣጠር በጣም ከባድ ነው. ብዙውን ጊዜ, ጠዋት ማታ ማታ ከተለቀቀ በኋላ, ገንቢዎች ልክ በዱቄት መያዣ ላይ ተቀምጠዋል እና ምንም ነገር እንዳይሰበሩ ይጠብቃሉ, ምንም እንኳን በሙከራ ደረጃ ሁሉም ቼኮች ስኬታማ ነበሩ.

አንድ ተጨማሪ ነጥብ አለ. በሙከራ ደረጃ የሶፍትዌሩ ተግባር ተፈትቷል-የመተግበሪያው ዋና ተግባራት አፈፃፀም እና ስህተቶች አለመኖር። የጥራት አፈጻጸም ግምቶች ጠፍተዋል ወይም ሁሉንም የመተግበሪያውን እና የመዋሃድ ንብርብርን ግምት ውስጥ አያስገባም። አንዳንድ መለኪያዎች ጨርሶ ላይመረመሩ ይችላሉ። በውጤቱም, በምርት አካባቢ ውስጥ ብልሽት ከተከሰተ, የቴክኒካዊ ድጋፍ መምሪያው ስለእሱ የሚያውቀው እውነተኛ ተጠቃሚዎች ማጉረምረም ሲጀምሩ ብቻ ነው. ዝቅተኛ ጥራት ያለው ሶፍትዌር በዋና ተጠቃሚዎች ላይ ያለውን ተጽእኖ መቀነስ እፈልጋለሁ።

አንዱ መፍትሔ የሶፍትዌር የጥራት ማረጋገጫ ሂደቶችን በተለያዩ የCI/ሲዲ ፓይላይን ደረጃዎች መተግበር፣ በአደጋ ጊዜ ለስርዓት መልሶ ማግኛ የተለያዩ ሁኔታዎችን መጨመር ነው። እንዲሁም DevOps እንዳለን አስታውስ። ንግዱ በተቻለ ፍጥነት አዲስ ምርት ለማግኘት ይጠብቃል. ስለዚህ ሁሉም የእኛ ቼኮች እና ስክሪፕቶች በራስ-ሰር መሆን አለባቸው።

ተግባሩ በሁለት ክፍሎች የተከፈለ ነው.

  • በሙከራ ደረጃ ላይ ያሉ ስብሰባዎች የጥራት ቁጥጥር (ዝቅተኛ ጥራት ያላቸውን ስብሰባዎች የመያዝ ሂደትን በራስ-ሰር ለማድረግ);
  • በምርት አካባቢ ውስጥ የሶፍትዌር ጥራት ቁጥጥር (ችግሮችን በራስ-ሰር የመለየት ዘዴዎች እና ለራሳቸው ፈውስ ሊሆኑ የሚችሉ ሁኔታዎች)።

መለኪያዎችን ለመከታተል እና ለመሰብሰብ መሳሪያ

የተቀመጡትን ግቦች ለማሳካት በሲአይ/ሲዲ የቧንቧ መስመር ላይ በተለያዩ ደረጃዎች ያሉ ችግሮችን ፈልጎ ወደ አውቶሜሽን ሲስተምስ ሪፖርት የሚያደርግ የክትትል ስርዓት ያስፈልጋል። እንዲሁም ይህ ስርዓት ለተለያዩ ቡድኖች ጠቃሚ ልኬቶችን የሚያቀርብ ከሆነ አዎንታዊ ይሆናል-ልማት, ሙከራ, አሠራር. እና ለንግድ ስራ ከሆነ ፍጹም ድንቅ ነው.

መለኪያዎችን ለመሰብሰብ የተለያዩ ስርዓቶችን (Prometheus, ELK Stack, Zabbix, ወዘተ) ጥምረት መጠቀም ይችላሉ, ግን በእኔ አስተያየት, የ APM ክፍል መፍትሄዎች ለእነዚህ ስራዎች ተስማሚ ናቸው (የትግበራ አፈፃፀም ቁጥጥር), ይህም ህይወትዎን በእጅጉ ሊያቃልል ይችላል.

እንደ የጥገና ሥራዬ፣ የDyntrace's APM class solution በመጠቀም ተመሳሳይ ፕሮጄክት መስራት ጀመርኩ። አሁን፣ በአቀናባሪ ውስጥ በመስራት፣ የክትትል ስርዓቶችን ገበያ በሚገባ አውቃለሁ። የእኔ ተጨባጭ አስተያየት: Dynatrace ለእንደዚህ አይነት ስራዎች በጣም ተስማሚ ነው.
የDyntrace መፍትሔው የእያንዳንዱ ተጠቃሚ አሠራር አግድም ማሳያ እስከ ኮድ አፈጻጸም ደረጃ ድረስ ጥልቀት ባለው ጥራጥሬ ያቀርባል። በተለያዩ የመረጃ አገልግሎቶች መካከል ያለውን አጠቃላይ የግንኙነት ሰንሰለት መከታተል ይችላሉ፡- ከፊት-መጨረሻ ድር እና የሞባይል አፕሊኬሽኖች ደረጃዎች፣ ከኋላ-መጨረሻ መተግበሪያ አገልጋዮች፣ የውህደት አውቶቡስ ወደ የውሂብ ጎታ የተወሰነ ጥሪ።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግምንጭ. በስርዓት አካላት መካከል የሁሉም ጥገኞች በራስ-ሰር መገንባት

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግምንጭ. የአገልግሎቱን ኦፕሬሽን መንገድ በራስ-ሰር መፈለግ እና መገንባት

እንዲሁም ከተለያዩ አውቶማቲክ መሳሪያዎች ጋር መቀላቀል እንዳለብን ያስታውሱ. እዚህ መፍትሄው የተለያዩ መለኪያዎችን እና ክስተቶችን ለመላክ እና ለመቀበል የሚያስችል ምቹ ኤፒአይ አለው።

በመቀጠል የዲናትራክስ ስርዓትን በመጠቀም የተቀመጡትን ተግባራት እንዴት መፍታት እንደሚቻል ወደ የበለጠ ዝርዝር እይታ እንሂድ።

ተግባር 1. በሙከራ ደረጃ ላይ ያሉትን ስብሰባዎች የጥራት ቁጥጥር በራስ-ሰር ማድረግ

የመጀመሪያው ተግባር በአፕሊኬሽኑ ማስተላለፊያ ቧንቧ ደረጃዎች ውስጥ በተቻለ ፍጥነት ችግሮችን ማግኘት ነው. "ጥሩ" ኮድ ግንባታዎች ብቻ ወደ ምርት አካባቢ መድረስ አለባቸው. ይህንን ለማድረግ የአገልግሎቶችዎን ጥራት ለመፈተሽ በሙከራ ደረጃ ላይ ተጨማሪ ተቆጣጣሪዎች በቧንቧዎ ውስጥ መካተት አለባቸው።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግ

ይህንን እንዴት ተግባራዊ ማድረግ እና ይህንን ሂደት በራስ-ሰር እንደምናደርግ ደረጃ በደረጃ እንመልከት፡-

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግምንጭ

ስዕሉ የራስ-ሰር የሶፍትዌር ጥራት ማረጋገጫ ደረጃዎችን ፍሰት ያሳያል፡-

  1. የክትትል ስርዓት መዘርጋት (ኤጀንቶችን መጫን);
  2. የሶፍትዌርዎን ጥራት ለመገምገም (ሜትሪክስ እና ገደቦች) እና ወደ የክትትል ስርዓቱ ለማስተላለፍ የክስተቶችን መወሰን;
  3. የጭነት እና የአፈፃፀም ሙከራዎች ማመንጨት;
  4. በክትትል ስርዓት ውስጥ በአፈፃፀም እና ተገኝነት ላይ መረጃን መሰብሰብ;
  5. በሶፍትዌር የጥራት ግምገማ ክስተቶች ላይ የተመሰረተ የሙከራ መረጃን ከክትትል ስርዓቱ ወደ CI / ሲዲ ስርዓት ማስተላለፍ. የስብሰባዎች ራስ-ሰር ትንተና.

ደረጃ 1. የክትትል ስርዓቱን መዘርጋት

በመጀመሪያ በሙከራ አካባቢዎ ውስጥ ወኪሎችን መጫን ያስፈልግዎታል. በተመሳሳይ ጊዜ የዲናትራክስ መፍትሄ ጥሩ ባህሪ አለው - በ OS ምሳሌ (ዊንዶውስ ፣ ሊኑክስ ፣ ኤኤክስ) ላይ የተጫነውን የ OneAgent ሁለንተናዊ ወኪል ይጠቀማል ፣ አገልግሎቶችዎን በራስ-ሰር ያገኝ እና በእነሱ ላይ የክትትል መረጃን መሰብሰብ ይጀምራል። ለእያንዳንዱ ሂደት ተወካይ ማዋቀር አያስፈልግዎትም። ለደመና እና መያዣ መድረኮች ተመሳሳይ ሁኔታ ይሆናል. በተመሳሳይ ጊዜ ወኪሎችን የመጫን ሂደቱን በራስ-ሰር ማድረግ ይችላሉ. Dynatrace ከ "መሰረተ ልማት እንደ ኮድ" ጽንሰ-ሐሳብ ጋር በትክክል ይጣጣማል (መሠረተ ልማት እንደ ኮድ ወይም IaCለሁሉም ታዋቂ መድረኮች ዝግጁ የሆኑ ስክሪፕቶች እና መመሪያዎች አሉ። ወኪሉን በአገልግሎት ውቅርህ ውስጥ አስገብተሃል፣ እና እሱን ስታሰማራ፣ ቀድሞውኑ እየሰራ ካለው ወኪል ጋር ወዲያውኑ አዲስ አገልግሎት ታገኛለህ።

ደረጃ 2. የሶፍትዌር ጥራት ግምገማ ክስተቶችዎን ይግለጹ

አሁን በአገልግሎቶች እና በንግድ ስራዎች ዝርዝር ላይ መወሰን ያስፈልግዎታል. ለአገልግሎትዎ ቢዝነስ-ወሳኝ የሆኑትን የተጠቃሚ ክንዋኔዎች በትክክል ግምት ውስጥ ማስገባት አስፈላጊ ነው። እዚህ ከንግድ እና የስርዓት ተንታኞች ጋር ማማከር እመክራለሁ.

በመቀጠል ለእያንዳንዱ ደረጃ በግምገማው ውስጥ የትኞቹን መለኪያዎች ማካተት እንደሚፈልጉ መወሰን ያስፈልግዎታል። ለምሳሌ የማስፈጸሚያ ጊዜ (በአማካኝ፣ መካከለኛ፣ ፐርሰንታይሎች ወዘተ የተከፋፈለ)፣ ስህተቶች (ሎጂክ፣ አገልግሎት፣ መሠረተ ልማት፣ ወዘተ) እና የተለያዩ የመሠረተ ልማት መለኪያዎች (የማስታወሻ ክምር፣ የቆሻሻ ሰብሳቢ፣ የክር ቆጠራ፣ ወዘተ) ሊሆን ይችላል።

ለዴቭኦፕስ ቡድን ለራስ-ሰር እና ለአጠቃቀም ቀላልነት፣ የ"ክትትል እንደ ኮድ" ጽንሰ-ሀሳብ እየወጣ ነው። ይህን ለማለት የፈለኩት ገንቢ/ሞካሪ ለሶፍትዌሩ የQA መለኪያዎችን የሚገልጽ ቀላል JSON ፋይል መፃፍ ይችላል።

የእንደዚህ አይነት JSON ፋይል ምሳሌ እንመልከት። ከDynatrace ኤፒአይ የመጡ ነገሮች እንደ ቁልፍ/እሴት ጥንድ ሆነው ያገለግላሉ (ኤፒአይ መግለጫ እዚህ ላይ ይገኛል። Dynatrace API).

{
    "timeseries": [
    {
      "timeseriesId": "service.ResponseTime",
      "aggregation": "avg",
      "tags": "Frontend",
      "severe": 250000,
      "warning": 1000000
    },
    {
      "timeseriesId": "service.ResponseTime ",
      "aggregation": "avg",
      "tags": "Backend",
      "severe": 4000000,
      "warning": 8000000
    },
    {
      "timeseriesId": "docker.Container.Cpu",
      "aggregation": "avg",
      "severe": 50,
      "warning": 70
    }
  ]
}

ፋይሉ የጊዜ ተከታታይ ትርጓሜዎች (የጊዜ ተከታታይ) ነው፡-

  • timeseriesId - ለመፈተሽ መለኪያው ለምሳሌ የምላሽ ጊዜ፣ የስህተት ብዛት፣ ጥቅም ላይ የዋለው ማህደረ ትውስታ፣ ወዘተ.  
  • ድምር - የመለኪያዎች ድምር ደረጃ, በእኛ ሁኔታ አማካይ, ነገር ግን የሚፈልጉትን ማንኛውንም መጠቀም ይችላሉ (አማካይ, ደቂቃ, ከፍተኛ, ድምር, ቆጠራ, ፐርሰንት);
  • መለያዎች - በክትትል ስርዓት ውስጥ የነገር መለያ, ወይም አንድ የተወሰነ ነገር መለያን መግለጽ ይችላሉ;
  • ከባድ እና ማስጠንቀቂያ - እነዚህ አመላካቾች የመለኪያዎቻችንን የመነሻ እሴቶችን ይቆጣጠራሉ ፣ የፈተናዎቹ ዋጋ ከከባድ ጣራ በላይ ከሆነ ፣ ስብሰባችን ያልተሳካ ተብሎ ምልክት ተደርጎበታል።

የሚከተለው ምስል እንደነዚህ ያሉ ቆሻሻ ማጠራቀሚያዎችን የመጠቀም ምሳሌ ያሳያል.

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግምንጭ

ደረጃ 3. የመጫን ማመንጫ

የአገልግሎታችንን የጥራት ደረጃዎች ከወሰንን በኋላ የሙከራ ጭነት መፍጠር አለብን። እንደ Jmeter, Selenium, Neotys, Gatling, ወዘተ የመሳሰሉ ለእርስዎ ምቹ የሆኑትን ማንኛውንም የሙከራ መሳሪያዎች መጠቀም ይችላሉ.

የDyntrace ክትትል ስርዓት የተለያዩ ሜታዳታዎችን ከፈተናዎችዎ እንዲይዙ እና የየትኛው የመልቀቂያ ዑደት እና የትኛው አገልግሎት እንደሆነ እንዲያውቁ ያስችልዎታል። የኤችቲቲፒ ጥያቄዎችን ለመሞከር ተጨማሪ ራስጌዎችን ማከል ይመከራል።

የሚከተለው ምስል ይህ ሙከራ የመደመር-ወደ-ጋሪ አሰራርን ከመሞከር ጋር የተያያዘ መሆኑን ለማመልከት ተጨማሪ የ X-Dynatrace-Test አርዕስት የምንጠቀምበትን ምሳሌ ያሳያል።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግምንጭ

እያንዳንዱን የጭነት ሙከራ ሲያካሂዱ ከCI/ሲዲ አገልጋይ የክስተት ኤፒአይ በመጠቀም ተጨማሪ አውድ መረጃ ወደ Dynatrace ይልካሉ። ስለዚህ ስርዓቱ የተለያዩ ሙከራዎችን መለየት ይችላል.

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግምንጭ. ስለ ጭነት መፈተሽ መጀመር በክትትል ስርዓቱ ውስጥ ያለ ክስተት

ደረጃ 4-5. የአፈጻጸም መረጃን ያንሱ እና መረጃን ወደ CI/CD ስርዓት ያስተላልፉ

ከተፈጠረው ፈተና ጋር, የአገልግሎት ጥራት አመልካቾችን በመፈተሽ መረጃን የመሰብሰብ አስፈላጊነትን የሚገልጽ ክስተት ወደ ክትትል ስርዓቱ ይተላለፋል. እንዲሁም የኛን JSON ፋይል ይገልፃል፣ እሱም ቁልፍ መለኪያዎችን ይገልፃል።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግወደ ክትትል ስርዓቱ ለመላክ በሲአይ/ሲዲ አገልጋይ ላይ የተፈጠረውን የሶፍትዌር ጥራት የመፈተሽ አስፈላጊነት ክስተት

በእኛ ምሳሌ, የጥራት ማረጋገጫ ክስተት ይባላል perfSigDynatrace ሪፖርት (የአፈጻጸም_ፊርማ) - ዝግጁ ነው ሰካው ከT-Systems መልቲሚዲያ ሶሉሽንስ በወንዶች የተዘጋጀው ከጄንኪንስ ጋር ለመዋሃድ። እያንዳንዱ የሙከራ ማስጀመሪያ ክስተት ስለ አገልግሎቱ፣ የግንባታ ቁጥር እና የሙከራ ጊዜ መረጃ ይዟል። ተሰኪው በግንባታ ወቅት የአፈጻጸም እሴቶችን ይሰበስባል፣ ይገመግማቸዋል እና ውጤቱን ከቀደምት ግንባታዎች እና ተግባራዊ ካልሆኑ መስፈርቶች ጋር ያወዳድራል።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግየግንባታ ጥራት ማረጋገጥን በተመለከተ በክትትል ስርዓቱ ውስጥ ያለ ክስተት። ምንጭ

ፈተናው ከተጠናቀቀ በኋላ ሁሉም የሶፍትዌር ጥራት ምዘና መለኪያዎች ወደ ቀጣይነት ያለው ውህደት ስርዓት ይመለሳሉ, ለምሳሌ ጄንኪንስ በውጤቶቹ ላይ ሪፖርት ያመነጫል.

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግበ CI/CD አገልጋይ ላይ የግንባታ ስታቲስቲክስ ውጤት። ምንጭ

ለእያንዳንዱ የግለሰብ ግንባታ፣ በሙከራው ጊዜ ሁሉ ላስቀመጥነው ለእያንዳንዱ መለኪያ ስታቲስቲክስን እናያለን። እንዲሁም በተወሰኑ ገደቦች (ማስጠንቀቂያ እና ከባድ የቆሻሻ ማጠራቀሚያዎች) ላይ ጥሰቶች እንደነበሩ እናያለን. በድምር ውጤቶች ላይ በመመስረት፣ አጠቃላይ ግንባታው የተረጋጋ፣ ያልተረጋጋ ወይም ያልተሳካ ምልክት ተደርጎበታል። እንዲሁም ፣ ለመመቻቸት ፣ የአሁኑን ስብሰባ ከቀዳሚው ጋር በሪፖርቱ ላይ የማነፃፀር አመልካቾችን ማከል ይችላሉ ።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግበCI/CD አገልጋይ ላይ በግንባታ ላይ ዝርዝር ስታቲስቲክስን ይመልከቱ። ምንጭ

የሁለት ግንባታዎች ዝርዝር ንጽጽር

አስፈላጊ ከሆነ ወደ Dynatrace በይነገጽ መሄድ እና የእያንዳንዱን ግንባታዎችዎን ስታቲስቲክስ በበለጠ ዝርዝር ማየት እና እርስ በእርስ ማወዳደር ይችላሉ።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግበዲናትራክስ ውስጥ የግንባታ ስታቲስቲክስን ማወዳደር. ምንጭ
 
ግኝቶች

በውጤቱም, "ክትትል እንደ አገልግሎት" አገልግሎት, በተከታታይ ውህደት ቧንቧ ውስጥ አውቶማቲክን እናገኛለን. አንድ ገንቢ ወይም ሞካሪ በJSON ፋይል ውስጥ ያሉትን የልኬቶች ዝርዝር ብቻ መግለጽ አለበት፣ እና ሁሉም ነገር በራስ-ሰር ይከሰታል። የተለቀቁትን ግልጽ የጥራት ቁጥጥር እናገኛለን፡ ስለ አፈጻጸም፣ የሀብት ፍጆታ ወይም የስነ-ህንፃ ለውጦች ሁሉም ማሳወቂያዎች።

ተግባር 2. በአምራች አካባቢ ውስጥ የሶፍትዌር ጥራት ቁጥጥር አውቶማቲክ

ስለዚህ, በፔፕፐሊንሊን ውስጥ በሙከራ ደረጃ ላይ የክትትል ሂደቱን በራስ-ሰር እንዴት ማድረግ እንደሚቻል ያለውን ችግር ፈትተናል. በዚህ መንገድ ወደ ምርት አካባቢ የሚደርሱ ዝቅተኛ ጥራት ያላቸውን ግንባታዎች በመቶኛ እንቀንሳለን።

ነገር ግን መጥፎ ሶፍትዌሮች አሁንም ገበያው ላይ ቢደርሱ ወይም የሆነ ነገር ቢሰበር ምን ማድረግ እንዳለበት። ለአንድ ዩቶፒያ፣ ችግሮችን በራስ-ሰር የሚያገኙበትን ዘዴዎች እንፈልጋለን እና ከተቻለ ስርዓቱ ራሱ ቢያንስ በምሽት አፈጻጸሙን ወደነበረበት ይመልሳል።

ይህንን ለማድረግ ከቀዳሚው ክፍል ጋር በማነፃፀር በምርት አካባቢ ውስጥ አውቶማቲክ የሶፍትዌር ጥራት ማረጋገጫዎችን ማቅረብ እና በእነሱ ስር ለስርዓት ራስን መፈወስ ስክሪፕቶችን ማድረግ አለብን ።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግ
እንደ ኮድ በራስ-አስተካክል።

አብዛኛዎቹ ኩባንያዎች የተለያዩ የተለመዱ ችግሮች ዓይነቶች የተከማቸ የእውቀት መሠረት እና እነሱን ለማስተካከል የእርምጃዎች ዝርዝር እንደ ሂደቶችን እንደገና ማስጀመር ፣ ሀብቶችን ማጽዳት ፣ ስሪቶችን ወደ ኋላ መመለስ ፣ የተሳሳቱ የውቅር ለውጦችን መጠገን ፣ በ ውስጥ ያሉትን የአካል ክፍሎች ብዛት መጨመር ወይም መቀነስ። ክላስተር፣ ሰማያዊ ወይም አረንጓዴ ንድፍ መቀየር እና ሌሎችም።

እነዚህ የአጠቃቀም ጉዳዮች ለብዙ ዓመታት እኔ የማናግራቸው ቡድኖች ቢታወቁም፣ ጥቂቶች አስበዋቸው እና አውቶማቲክ ለማድረግ ኢንቨስት አድርገዋል።

ስለእሱ ካሰቡ ለመተግበሪያው ጤና ራስን የመፈወስ ሂደቶችን በመተግበር ላይ ምንም የተወሳሰበ ነገር የለም ፣ የአስተዳዳሪዎችዎን ቀደም ሲል የታወቁትን የስራ ሁኔታዎች በኮድ ስክሪፕቶች መልክ ማቅረብ ያስፈልግዎታል (የ “ራስ-ማረም” ጽንሰ-ሀሳብ) እንደ ኮድ”) ለእያንዳንዱ የተለየ ጉዳይ አስቀድመው የጻፉት። አውቶማቲክ ማስተካከያ ስክሪፕቶች የችግሩን ዋና መንስኤ በማስተካከል ላይ ማተኮር አለባቸው። ትክክለኛውን የአደጋ ምላሽ እርምጃዎችን ይወስናሉ።

ከክትትል ስርዓትዎ ውስጥ ያለ ማንኛውም ሜትሪክ ስክሪፕቱን ለማስኬድ እንደ ቀስቅሴ ሆኖ ሊያገለግል ይችላል ፣ ዋናው ነገር እነዚህ መለኪያዎች ሁሉም ነገር መጥፎ መሆኑን በትክክል ይወስናሉ ፣ ምክንያቱም ምርታማ በሆነ አካባቢ ውስጥ የውሸት አወንታዊ ውጤቶችን ማግኘት ስለማይፈልጉ።

ማንኛውንም ስርዓት ወይም የስርዓቶች ጥምር መጠቀም ይችላሉ፡- ፕሮሜቴየስ፣ ኤልኬ ስታክ፣ ዛቢክስ፣ ወዘተ. ነገር ግን አንዳንድ ምሳሌዎችን በ APM መፍትሄ እሰጣለሁ (እንደገና Dynatrace ምሳሌ ይሆናል) ይህም ህይወትዎን ቀላል ለማድረግ ይረዳል.

በመጀመሪያ ከጤና ጋር የተያያዘ ሁሉም ነገር ከትግበራ አሠራር ጋር የተያያዘ ነው. መፍትሄው እንደ ቀስቅሴ ሊጠቀሙባቸው የሚችሏቸው በመቶዎች የሚቆጠሩ መለኪያዎችን በተለያዩ ደረጃዎች ያቀርባል፡-

  • የተጠቃሚ ደረጃ (አሳሾች, የሞባይል አፕሊኬሽኖች, IoT መሳሪያዎች, የተጠቃሚ ባህሪ, መለወጥ, ወዘተ.);
  • የአገልግሎት ደረጃ እና ኦፕሬሽኖች (አፈፃፀም, ተገኝነት, ስህተቶች, ወዘተ);
  • የመተግበሪያ መሠረተ ልማት ንብርብር (አስተናጋጅ ስርዓተ ክወና መለኪያዎች, JMX, MQ, የድር አገልጋይ, ወዘተ.);
  • የመድረክ ደረጃ (ምናባዊነት, ደመና, መያዣ, ወዘተ).

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግበDynatrace ውስጥ የክትትል ደረጃዎች. ምንጭ

በሁለተኛ ደረጃ, ቀደም ብዬ እንደተናገርኩት, Dynatrace ክፍት ኤፒአይ አለው, ይህም ከተለያዩ የሶስተኛ ወገን ስርዓቶች ጋር ለማዋሃድ በጣም ምቹ ያደርገዋል. ለምሳሌ የቁጥጥር መለኪያዎች ሲያልፍ ማሳወቂያ ወደ አውቶሜሽን ሲስተም በመላክ ላይ።

ከታች ከአንሴብል ጋር ለመግባባት ምሳሌ ነው።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግምንጭ

ከዚህ በታች ምን አይነት አውቶማቲክ ማድረግ እንደሚቻል ጥቂት ምሳሌዎችን እሰጣለሁ. ይህ የጉዳዮቹ አንድ አካል ነው፣ በአካባቢያችሁ ያለው ዝርዝራቸው በምናባችሁ እና በክትትል መሳሪያዎችዎ ችሎታዎች ብቻ የተገደበ ሊሆን ይችላል።

1. መጥፎ ማሰማራት - የመመለሻ ስሪት

በሙከራ አካባቢ ውስጥ ሁሉንም ነገር በደንብ ብንሞክር እንኳን፣ አዲስ ልቀት ማመልከቻዎን በምርት አካባቢ ሊገድለው የሚችልበት እድል አሁንም አለ። ያው የሰው ምክንያት አልተሰረዘም።

በሚከተለው ስእል, በአገልግሎቱ ላይ በሚደረጉ ስራዎች አፈፃፀም ጊዜ ውስጥ ሹል ዝላይ እንዳለ እናያለን. የዚህ ዝላይ መጀመሪያ ለትግበራው ከተሰማራበት ጊዜ ጋር ይዛመዳል። እነዚህን ሁሉ መረጃዎች እንደ ክስተት ወደ አውቶሜሽን ሲስተም እናስተላልፋለን። ከተቀመጥንበት ጊዜ በኋላ አገልግሎቱ ወደ መደበኛው ካልተመለሰ፣ ስሪቱን ወደ አሮጌው የሚመልስ ስክሪፕት በራስ-ሰር ይጠራል።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግከተሰማሩ በኋላ የክዋኔ አፈፃፀም ውድቀት. ምንጭ

2. ከ 100% በታች መገልገያዎችን መጫን - ወደ ማዞሪያው መስቀለኛ መንገድ ይጨምሩ

በሚከተለው ምሳሌ፣ የክትትል ስርዓቱ አንዱ አካል 100% ሲፒዩ አጠቃቀም እያጋጠመው መሆኑን ይወስናል።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግየሲፒዩ አጠቃቀም 100%
 
ለዚህ ክስተት በርካታ ሊሆኑ የሚችሉ ሁኔታዎች አሉ። ለምሳሌ የክትትል ስርዓቱ የግብአት እጦት በአገልግሎቱ ላይ ካለው ጭነት መጨመር ጋር የተያያዘ መሆኑን ያረጋግጣል። እንደዚያ ከሆነ ፣ ከዚያ በራስ-ሰር ወደ ማዞሪያው መስቀለኛ መንገድ የሚጨምር ስክሪፕት ይከናወናል ፣ በዚህም ስርዓቱን በአጠቃላይ ወደነበረበት ይመልሳል።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግከክስተቱ በኋላ መለካት

3. የሃርድ ድራይቭ ቦታ የለም - የዲስክ ማጽጃ

እኔ እንደማስበው ከእነዚህ ሂደቶች ውስጥ ብዙዎቹ ቀድሞውኑ አውቶማቲክ ናቸው. በኤፒኤም እርዳታ በዲስክ ንዑስ ስርዓት ላይ ያለውን ነጻ ቦታ መከታተልም ይችላሉ. ቦታ በሌለበት ወይም ቀርፋፋ የዲስክ አሠራር፣ ቦታን ለማጽዳት ወይም ለመጨመር ስክሪፕቱን እንጠራዋለን።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግ
ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግየዲስክ ጭነት 100%
 
4. ዝቅተኛ የተጠቃሚ እንቅስቃሴ ወይም ዝቅተኛ ልወጣ - በሰማያዊ እና አረንጓዴ ቅርንጫፍ መካከል መቀያየር

ብዙ ጊዜ ደንበኞች በምርት አካባቢ ውስጥ ለመተግበሪያዎች ሁለት loops (ሰማያዊ-አረንጓዴ ማሰማራት) ሲጠቀሙ አያለሁ። ይህ አዲስ የተለቀቁ ሲደርሱ በቅርንጫፎች መካከል በፍጥነት እንዲቀያየሩ ያስችልዎታል። ብዙውን ጊዜ, ከተሰማሩ በኋላ, ወዲያውኑ የማይታዩ ካርዲናል ለውጦች ሊከሰቱ ይችላሉ. በተመሳሳይ ጊዜ በአፈፃፀም እና ተገኝነት ላይ ማሽቆልቆል ላይታይ ይችላል. ለእንደዚህ አይነት ለውጦች በፍጥነት ምላሽ ለመስጠት የተጠቃሚውን ባህሪ የሚያንፀባርቁ የተለያዩ መለኪያዎችን መጠቀም የተሻለ ነው (የክፍለ-ጊዜዎች ብዛት እና የተጠቃሚ እርምጃዎች ፣ ልወጣ ፣ የመቀየሪያ መጠን)። የሚከተለው ምስል ልወጣ ሲወድቅ በሶፍትዌር ቅርንጫፎች መካከል መቀያየር የሚከሰትበትን ምሳሌ ያሳያል።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግበሶፍትዌር ቅርንጫፎች መካከል ከተቀያየሩ በኋላ ወደ ልወጣ ይወድቁ። ምንጭ

ራስ-ሰር የችግር ማወቂያ ዘዴዎች

በመጨረሻ አንድ ተጨማሪ ምሳሌ እሰጣለሁ, ለዚህም Dynatrace በጣም እወዳለሁ.

በሙከራ አካባቢ ውስጥ ያሉ ስብሰባዎችን የጥራት ፍተሻ በራስ ሰር ስለማስኬድ በታሪኬ ክፍል ውስጥ ሁሉንም የመነሻ ዋጋዎችን በእጅ ወስነናል። ለሙከራ አካባቢ, ይህ የተለመደ ነው, ሞካሪው ራሱ እንደ ሸክሙ ላይ በመመርኮዝ ከእያንዳንዱ ቼክ በፊት አመላካቾችን ይወስናል. በምርት አካባቢ ውስጥ የተለያዩ የመነሻ ዘዴዎችን ከግምት ውስጥ በማስገባት ችግሮች በራስ-ሰር እንዲገኙ ተፈላጊ ነው.

Dynatrace ደስ የሚሉ አብሮገነብ አርቴፊሻል ኢንተለጀንስ መሳሪያዎች አሉት ይህም ያልተለመዱ መለኪያዎችን (ቤዝላይን) ለመወሰን እና በሁሉም አካላት መካከል ያለውን የግንኙነት ካርታ በመገንባት ፣ክስተቶችን እርስ በእርስ በማነፃፀር እና በማዛመድ ፣በአገልግሎትዎ ውስጥ ያልተለመዱ ነገሮችን የሚወስኑ እና በእያንዳንዱ ላይ ዝርዝር መረጃን ይሰጣሉ ። ችግር እና መነሻ ምክንያት.

በንጥረ ነገሮች መካከል ያሉ ጥገኝነቶችን በራስ ሰር በመተንተን፣ Dynatrace ችግር ያለበት አገልግሎት ዋና መንስኤ መሆኑን ብቻ ሳይሆን በሌሎች አገልግሎቶች ላይ ያለውን ጥገኝነት ይወስናል። ከዚህ በታች ባለው ምሳሌ Dynatrace እንደ የግብይቱ አካል የእያንዳንዱን አገልግሎት ጤና በራስ-ሰር ይቆጣጠራል እና ይገመግማል ፣ የጎላንግ አገልግሎትን እንደ ዋና መንስኤ ይለያል።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግየውድቀት ዋና መንስኤን የመወሰን ምሳሌ። ምንጭ

የሚከተለው ምስል አንድ ክስተት ከጀመረበት ጊዜ ጀምሮ በማመልከቻዎ ላይ ችግሮችን የመቆጣጠር ሂደት ያሳያል።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግየሁሉንም አካላት እና ክስተቶች በላያቸው ላይ በማሳየት ብቅ ያለውን ችግር ማየት

የክትትል ስርዓቱ በተፈጠረው ችግር ላይ የተሟላ የዝግጅቶችን ቅደም ተከተል ሰብስቧል. በጊዜ መስመሩ ስር ባለው መስኮት ውስጥ በእያንዳንዱ አካላት ላይ ሁሉንም ቁልፍ ክስተቶች እናያለን. በእነዚህ ክስተቶች ላይ በመመስረት, በኮድ ስክሪፕቶች መልክ ለራስ-ሰር እርማት ሂደቶችን ማዘጋጀት ይችላሉ.

በተጨማሪም የክትትል ስርዓትን ከአገልግሎት ዴስክ ወይም ከስህተት መከታተያ ጋር እንዲያዋህዱ እመክርዎታለሁ። ችግር ከተፈጠረ, ገንቢዎች በምርት አካባቢ ውስጥ በኮድ ደረጃ ላይ ለመተንተን የተሟላ መረጃ በፍጥነት ይቀበላሉ.

መደምደሚያ

በውጤቱም ፣ በፔፕፐሊን ውስጥ አብሮ የተሰራ አውቶሜትድ የሶፍትዌር ጥራት ማረጋገጫ ያለው የሲአይ / ሲዲ ቧንቧ አለን። ዝቅተኛ ጥራት ያላቸውን ስብሰባዎች እንቀንሳለን, በአጠቃላይ የስርዓቱን አስተማማኝነት እንጨምራለን, እና አሁንም የስርዓት ብልሽት ካለን, ወደነበረበት ለመመለስ ስልቶችን እንጀምራለን.

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግ
በሶፍትዌር ጥራት ቁጥጥር አውቶማቲክ ላይ በእርግጠኝነት ኢንቬስት ማድረግ ጠቃሚ ነው, ሁልጊዜ ፈጣን ሂደት አይደለም, ነገር ግን በጊዜ ሂደት ፍሬያማ ይሆናል. በምርት አካባቢ ውስጥ አዲስ ክስተት ከፈታ በኋላ መጥፎ ግንባታ ወደ ምርት እንዳይገባ ለማድረግ በፈተና አካባቢ ውስጥ የትኞቹን ተቆጣጣሪዎች ቼኮች እንደሚጨምሩ ወዲያውኑ እንዲያስቡ እና እንዲሁም እነዚህን ችግሮች በራስ-ሰር ለማስተካከል ስክሪፕት እንዲፈጥሩ እመክራለሁ ።

የእኔ ምሳሌዎች በጥረቶችዎ ውስጥ እንደሚረዱዎት ተስፋ አደርጋለሁ። የራስን የመፈወስ ስርዓት ጤናን ለመተግበር ጥቅም ላይ የሚውሉትን የመለኪያዎች ምሳሌዎች ማየትም እፈልጋለሁ።

ቀጣይነት ያለው ክትትል - በ CI / CD Pipeline ውስጥ የሶፍትዌር የጥራት ፍተሻዎችን በራስ-ሰር ማድረግምንጭ

ምንጭ: hab.com

አስተያየት ያክሉ