paint-brush
የሶፍትዌር ሲስተሞችን ሲነድፉ ውስብስብነትን እንዴት መቋቋም እንደሚቻል@fairday
64,676 ንባቦች
64,676 ንባቦች

የሶፍትዌር ሲስተሞችን ሲነድፉ ውስብስብነትን እንዴት መቋቋም እንደሚቻል

Aleksei23m2024/02/05
Read on Terminal Reader
Read this story w/o Javascript

በጣም ረጅም፤ ማንበብ

ውስብስብነት ጠላት ነው! ያንን እንዴት መቋቋም እንደሚቻል እንማር!
featured image - የሶፍትዌር ሲስተሞችን ሲነድፉ ውስብስብነትን እንዴት መቋቋም እንደሚቻል
Aleksei HackerNoon profile picture

ስለ ምንድን ነው?

በየእለቱ፣ በየኢንጂነሪንግ ህይወታችን ወቅት፣ ብዙ የተለያዩ ውስብስብ ችግሮች ያጋጥሙናል፣ እና በመረጃ እጦት ምክንያት ውሳኔ ለማድረግ ወይም ለሌላ ጊዜ የምናዘገይባቸው ሁኔታዎች ያጋጥሙናል። አዳዲስ አገልግሎቶችን ስንገነባ፣ መሠረተ ልማት ስንገነባ ወይም የእድገት ሂደቶችን ስንፈጥር፣ የተለያዩ ተግዳሮቶች ያሉበት ትልቅ ዓለምን እንነካለን።


ሁሉንም ችግሮች ለመዘርዘር አስቸጋሪ እና ምናልባትም የማይቻል ነው. ከእነዚህ ጉዳዮች ውስጥ አንዳንዶቹን የሚያጋጥሙት በአንድ የተወሰነ ቦታ ውስጥ ከሰሩ ብቻ ነው። በሌላ በኩል፣ የአይቲ ሲስተሞችን ለመገንባት ወሳኝ በመሆናቸው ሁላችንም ልንረዳቸው የሚገቡ ብዙ አሉ። በከፍተኛ ዕድል በሁሉም ፕሮጀክቶች ውስጥ ያጋጥሟቸዋል.


በዚህ ጽሑፍ ውስጥ የሶፍትዌር ፕሮግራሞችን በሚፈጥሩበት ጊዜ ካጋጠሙኝ አንዳንድ ችግሮች ጋር ልምዶቼን አካፍላለሁ።

ተሻጋሪ ጭንቀት ምንድን ነው?

ዊኪፔዲያን ብንመለከት የሚከተለውን ትርጉም እናገኛለን


ገጽታ-ተኮር የሶፍትዌር ልማት ውስጥ፣ ተሻጋሪ ስጋቶች በበርካታ ሞጁሎች ላይ ተጽእኖ የሚያሳድሩ የፕሮግራሙ ገጽታዎች ናቸው፣ ከእነዚህም ውስጥ በአንዱ ውስጥ መካተት አይቻልም። እነዚህ ስጋቶች ብዙውን ጊዜ በንድፍም ሆነ በአተገባበር ውስጥ ከቀሪው ስርዓት ውስጥ በንጽህና ሊበላሹ አይችሉም, እና መበታተን (የኮድ ማባዛት), መጠላለፍ (በስርዓቶች መካከል ጉልህ ጥገኛዎች) ወይም ሁለቱንም ሊያስከትሉ ይችላሉ.


እሱ ምን እንደሆነ በደንብ ይገልፃል፣ ግን ትንሽ ማራዘም እና ማቃለል እፈልጋለሁ፡-

አቋራጭ አሳሳቢ ጉዳይ የስርአቱ/ድርጅቱ ፅንሰ-ሀሳብ ወይም አካል ሌሎች በርካታ ክፍሎችን የሚነካ (ወይም 'የሚቆርጥ') ነው።


የእንደዚህ አይነት አሳሳቢ ጉዳዮች ምርጥ ምሳሌዎች የስርዓት አርክቴክቸር ፣ ሎግንግ ፣ ደህንነት ፣ የግብይት አስተዳደር ፣ ቴሌሜትሪ ፣ የውሂብ ጎታ ዲዛይን እና ሌሎች ብዙ ናቸው። በዚህ ጽሑፍ ውስጥ ብዙዎቹን በዝርዝር እንገልጻለን.


በኮድ ደረጃ፣ ተሻጋሪ ስጋቶች ብዙውን ጊዜ እንደ Aspect-Oriented Programming (AOP) ቴክኒኮችን በመጠቀም ይተገበራሉ፣ እነዚህ ስጋቶች በመተግበሪያው ውስጥ በሙሉ ሊተገበሩ በሚችሉ የተለያዩ ክፍሎች ተስተካክለዋል። ይህ የንግዱ አመክንዮ ከነዚህ ስጋቶች እንዲገለል ያደርገዋል፣ይህም ኮዱ የበለጠ ሊነበብ እና ሊቆይ የሚችል ያደርገዋል።

ገጽታዎች ምደባ

እንደ ስፋት፣ መጠን፣ ተግባራዊነት፣ አስፈላጊነት፣ ዒላማ እና ሌሎችን በተለያዩ ባህሪያት በመከፋፈል ገጽታዎችን እንዴት መመደብ እንደሚቻል ብዙ ሊሆኑ የሚችሉ መንገዶች አሉ፣ ነገር ግን በዚህ ጽሑፍ ውስጥ፣ ቀላል ወሰን ምደባን እጠቀማለሁ። ይህን ስል፣ ይህ ልዩ ገጽታ የሚመራበት አጠቃላይ ድርጅት፣ የተለየ ሥርዓት ወይም የዚያ ሥርዓት የተወሰነ አካል የት እንደሆነ ማለቴ ነው።


ስለዚህ, ገጽታዎችን ወደ ማክሮ እና ማይክሮ ወደ እከፍላለሁ.


በማክሮ አንፃር በአጠቃላይ እኛ የምንከተላቸው ጉዳዮችን ለጠቅላላው ስርዓት እንደ የተመረጠ የስርዓት አርክቴክቸር እና ዲዛይኑ (ሞኖሊቲክ ፣ ማይክሮ ሰርቪስ ፣ አገልግሎት-ተኮር አርክቴክቸር) ፣ የቴክኖሎጂ ቁልል ፣ የአደረጃጀት መዋቅር ፣ ወዘተ. የማክሮ ገጽታዎች በዋናነት ከስልታዊ እና ከፍተኛ-ደረጃ ጋር የተገናኙ ናቸው ። ውሳኔዎች.


እስከዚያው ድረስ, ማይክሮው ገጽታ ከኮዱ ደረጃ እና እድገት ጋር በጣም የቀረበ ነው. ለምሳሌ የትኛው ማዕቀፍ ከመረጃ ቋቱ ጋር መስተጋብር ለመፍጠር ጥቅም ላይ ይውላል፣ የአቃፊዎች እና ክፍሎች የፕሮጀክት መዋቅር፣ ወይም የተወሰኑ የነገሮች ንድፍ ቅጦች።


ይህ ምደባ ተስማሚ ባይሆንም, ሊሆኑ የሚችሉ ችግሮችን እና የመፍትሄ ሃሳቦችን አስፈላጊነት እና ተፅእኖን ለመረዳት ይረዳል.


በዚህ ጽሑፍ ውስጥ, የእኔ ዋና ትኩረቴ በማክሮ ገጽታዎች ላይ ይሆናል.

የማክሮ ገጽታዎች

የድርጅት መዋቅር

ስለ ሶፍትዌር አርክቴክቸር ገና መማር ስጀምር ስለ ኮንዌይ ህግ እና በድርጅታዊ መዋቅር ላይ ስላለው ተጽእኖ ብዙ አስደሳች መጣጥፎችን አነበብኩ። በተለይ ይህኛው ። ስለዚህ, ይህ ህግ እንዲህ ይላል


ሥርዓትን የሚቀርጽ ማንኛውም ድርጅት (በሰፊው የተገለፀ) መዋቅሩ የድርጅቱ የግንኙነት መዋቅር ቅጂ የሆነ ንድፍ ያወጣል።


ይህ ጽንሰ-ሐሳብ በእርግጥ በጣም ዓለም አቀፋዊ እና ወርቃማ ህግን እንደሚወክል ሁልጊዜ አምናለሁ.


ከዚያ የኤሪክ ኢቫንስን Domain-Driven Design (ዲዲዲ) ለሞዴሊንግ ሲስተሞች መማር ጀመርኩ። ኤሪክ ኢቫንስ የታሰረ አውድ መለያን አስፈላጊነት አፅንዖት ሰጥቷል። ይህ ጽንሰ-ሐሳብ ውስብስብ የሆነውን የዶሜይን ሞዴል ወደ ትናንሽ፣ ይበልጥ ማስተዳደር የሚችሉ፣ እያንዳንዳቸው የራሳቸው ውሱን የእውቀት ስብስብ ያላቸውን ክፍሎች መከፋፈልን ያካትታል። ይህ አካሄድ ውጤታማ የቡድን ግንኙነት እንዲኖር ይረዳል፣ ምክንያቱም የጠቅላላውን ጎራ ሰፊ ዕውቀት ፍላጎትን ስለሚቀንስ እና የአውድ መለዋወጥን ስለሚቀንስ ውይይቶችን የበለጠ ውጤታማ ያደርገዋል። የዐውደ-ጽሑፍ መቀያየር ከመቼውም ጊዜ የከፋው እና ብዙ ሀብት የሚፈጅ ነገር ነው። ኮምፒውተሮች እንኳን ከሱ ጋር እየታገሉ ነው። ምንም እንኳን የአውድ መቀያየርን ሙሉ ለሙሉ መቅረት ላይ ለመድረስ ባይቻልም፣ እኛ መትጋት ያለብን ለዚህ ነው ብዬ አስባለሁ።


Fantasy about keeping in mind a lot of bounded contexts

ወደ የኮንዌይ ህግ ስመለስ ብዙ ጉዳዮችን አግኝቻለሁ።


ከኮንዌይ ህግ ጋር ለመጀመሪያ ጊዜ ያጋጠመኝ ጉዳይ ፣ የስርአት ዲዛይን ድርጅታዊ መዋቅርን እንደሚያመለክት፣ ውስብስብ እና ሁሉን አቀፍ የታሰሩ አውዶችን የመፍጠር አቅም ነው። ይህ ውስብስብነት የሚነሳው ድርጅታዊ መዋቅሩ ከጎራ ድንበሮች ጋር በማይጣጣምበት ጊዜ ነው, ይህም ወደ የተገደቡ አውዶች በከፍተኛ ሁኔታ እርስ በርስ የሚደጋገፉ እና በመረጃ የተጫኑ ናቸው. ለልማቱ ቡድን ተደጋጋሚ አውድ-መቀየር ይመራል።


ሌላው ጉዳይ ድርጅታዊ ቃላቶች ወደ ኮድ ደረጃ መውጣታቸው ነው። ድርጅታዊ አወቃቀሮች ሲቀየሩ የኮድቤዝ ማሻሻያዎችን ያስፈልገዋል፣ ጠቃሚ ሀብቶችን ይበላል።


ስለዚህ ኢንቨርስ ኮንዌይ ማኑቨርን መከተል ተፈላጊውን የሶፍትዌር አርክቴክቸር የሚያበረታታ ስርዓት እና ድርጅት ለመገንባት ይረዳል። ይሁን እንጂ በዚህ ደረጃ ላይ ያሉት ለውጦች ረዘም ያሉ ስለሆኑ ይህ አካሄድ ቀደም ሲል በተፈጠሩት አርክቴክቸር እና አወቃቀሮች ውስጥ በጣም ጥሩ አይሰራም፣ ነገር ግን በጅማሬዎች ላይ ለየት ያለ አፈጻጸም ያለው ነው ማለቱ ትኩረት የሚስብ ነው።

የጭቃ ትልቅ ኳስ

ይህ ስርዓተ-ጥለት ወይም "ፀረ-ስርዓተ-ጥለት" ያለ ምንም አርክቴክቸር ስርዓትን ይገነባል። የማይቀር እያደገ ያለውን ውስብስብነት እንዴት መቆጣጠር እንደሚቻል ላይ ምንም ደንቦች፣ ድንበሮች እና ስትራቴጂዎች የሉም። ውስብስብነት የሶፍትዌር ስርዓቶችን በመገንባት ጉዞ ውስጥ በጣም አስፈሪ ጠላት ነው.


Entertaining illustration made by ChatGPT

እንዲህ ዓይነቱን ስርዓት መገንባትን ለማስወገድ የተወሰኑ ህጎችን እና ገደቦችን መከተል አለብን።

የስርዓት አርክቴክቸር

ለሶፍትዌር አርክቴክቸር ስፍር ቁጥር የሌላቸው ትርጓሜዎች አሉ። የተለያዩ ገጽታዎችን ስለሚሸፍኑ ብዙዎቹን እወዳቸዋለሁ. ሆኖም፣ ስለ አርክቴክቸር ማመዛዘን እንድንችል፣ አንዳንዶቹን በአእምሯችን መፍጠር በተፈጥሮ ያስፈልገናል። እና ይህ ፍቺ በዝግመተ ለውጥ ሊመጣ ይችላል ብሎ መናገር ጠቃሚ ነው. ስለዚህ, ቢያንስ ለአሁን, ለራሴ የሚከተለው መግለጫ አለኝ.


የሶፍትዌር አርክቴክቸር የተገነባውን ስርዓት የሚነኩ በየቀኑ ስለሚያደርጓቸው ውሳኔዎች እና ምርጫዎች ነው።


የሚነሱ ችግሮችን ለመፍታት በ"ቦርሳ"ህ ውስጥ ሊኖርህ የሚገባውን ውሳኔ ለማድረግ፣መስፈርቶቹን መረዳት የንግድ ስራ የሚፈልገውን ለመገንባት ቁልፍ መሆኑን መግለጽ አስፈላጊ ነው። ሆኖም ፣ አንዳንድ ጊዜ መስፈርቶች ግልፅ አይደሉም ወይም አልተገለፁም ፣ በዚህ ሁኔታ ፣ የበለጠ ማብራሪያ ለማግኘት መጠበቅ ወይም በተሞክሮዎ ላይ መታመን እና በአዕምሮዎ ላይ መተማመን የተሻለ ነው። ግን ለማንኛውም፣ የሚተማመኑባቸው መርሆች እና ቅጦች ከሌሉ በትክክል ውሳኔዎችን ማድረግ አይችሉም። ወደ የሶፍትዌር አርክቴክቸር ስታይል ትርጉም እየመጣሁ ነው።


የሶፍትዌር አርክቴክቸር ስታይል ሶፍትዌሮችን እንዴት መገንባት እንደሚቻል የሚጠቁሙ የመርሆች እና የስርዓተ-ጥለት ስብስብ ነው።


በታቀደው የሕንፃ ግንባታ ላይ ያተኮሩ ብዙ የተለያዩ የሕንፃ ስልቶች አሉ፣ እና ብዙዎችን በአንድ ጊዜ መተግበር የተለመደ ሁኔታ ነው።


ለምሳሌ እንደ፡-

  1. ሞኖሊቲክ አርክቴክቸር

  2. በጎራ የሚመራ ንድፍ

  3. አካልን መሰረት ያደረገ

  4. የማይክሮ አገልግሎቶች

  5. ቧንቧ እና ማጣሪያዎች

  6. በክስተት ላይ የተመሰረተ

  7. ማይክሮከርነል

  8. አገልግሎት-ተኮር


እና የመሳሰሉት…


እርግጥ ነው፣ ጥቅሞቻቸውም ጉዳቶቻቸውም አሏቸው፣ ነገር ግን የተማርኩት በጣም አስፈላጊው ነገር አርክቴክቸር በሂደት እየተሻሻለ እንደሚሄድ በተጨባጭ ችግሮች ላይ ነው። ከሞኖሊቲክ አርክቴክቸር ጀምሮ የተግባር ውስብስብ ነገሮችን ለመቀነስ ትልቅ ምርጫ ነው፣ ይህ አርክቴክቸር ምርቱን ለመገንባት የምርት-ገበያ ብቃት (PMI) ደረጃ ላይ ከደረሰ በኋላም ከፍላጎትዎ ጋር የሚስማማ ይሆናል። በሚዛን ደረጃ፣ ገለልተኛ ማሰማራትን፣ የተለያዩ የቴክኖሎጂ ቁልል አካባቢን እና ብዙም የተጣመረ አርክቴክቸር (እና እስከዚያው ድረስ ግልጽነት የጎደለው በክስተት-ተኮር እና መጠጥ ቤት-ንዑስ አቀራረቦች ምክንያት) ወደ አንድ ክስተት-ተኮር አቀራረብ እና ጥቃቅን አገልግሎቶች መሄድ ሊያስቡበት ይችላሉ። እነዚህ የማደጎ ናቸው). ቀላልነት እና ቅልጥፍና ቅርብ እና እርስ በእርሳቸው ላይ ከፍተኛ ተጽዕኖ ያሳድራሉ. ብዙውን ጊዜ፣ ውስብስብ አርክቴክቸር የአዳዲስ ባህሪያትን የእድገት ፍጥነት ላይ ተጽእኖ ያሳድራል፣ ያሉትን ይደግፋሉ እና ይጠብቃሉ፣ እና የስርዓቱን የተፈጥሮ ዝግመተ ለውጥ ይፈታተናሉ።


ይሁን እንጂ ውስብስብ ሥርዓቶች ብዙውን ጊዜ ውስብስብ እና አጠቃላይ ሥነ ሕንፃ ያስፈልጋቸዋል, ይህም የማይቀር ነው.


እንደ እውነቱ ከሆነ, ይህ በጣም ሰፊ ርዕስ ነው, እና ለተፈጥሮ ዝግመተ ለውጥ ስርዓቶችን እንዴት ማዋቀር እና መገንባት እንደሚቻል ብዙ ጥሩ ሀሳቦች አሉ. በተሞክሮዬ ላይ በመመስረት የሚከተለውን አካሄድ ሠርቻለሁ፡-

  1. በተከፋፈሉ ስርዓቶች ተፈጥሮ ምክንያት የሚነሱትን አብዛኛዎቹን ችግሮች ስለሚያስወግድ ሁልጊዜ ማለት ይቻላል በሞኖሊቲክ የስነ-ህንፃ ዘይቤ ይጀምራል። ግልጽ የሆኑ ድንበሮችን በመገንባት ላይ ለማተኮር ሞዱላር ሞኖሊትን መከተልም ምክንያታዊ ነው። አካልን መሰረት ያደረገ አቀራረብን መተግበር ክስተቶችን በመጠቀም እርስ በርስ እንዲግባቡ ሊረዳቸው ይችላል፣ ነገር ግን ቀጥታ ጥሪዎች (አርፒሲ ተብሎ የሚጠራው) መጀመሪያ ላይ ነገሮችን ቀላል ያደርገዋል። ነገር ግን፣ ክፍል A ስለ ክፍል B ብዙ የሚያውቅ ከሆነ፣ ምናልባት እነሱን ወደ አንድ ማዋሃድ ጠቃሚ ስለሆነ በንጥረ ነገሮች መካከል ያለውን ጥገኝነት መከታተል አስፈላጊ ነው።
  2. ወደ ሁኔታው ሲቃረቡ የእድገትዎን እና ስርዓትዎን መጠን ለመለካት በሚያስፈልግበት ጊዜ የስታንግለር ስርዓተ-ጥለትን በመከተል በተናጥል ሊሰማሩ ወይም በተወሰኑ መስፈርቶች ሊመዘኑ የሚገቡ ክፍሎችን ቀስ በቀስ ለማውጣት ያስቡበት።
  3. አሁን, ስለወደፊቱ ግልጽ የሆነ እይታ ካሎት, ትንሽ የማይታመን እድል ከሆነ, በሚፈለገው ስነ-ህንፃ ላይ መወሰን ይችላሉ. በዚህ ጊዜ፣ የኦርኬስትራ እና የChoreography አቀራረቦችን በመተግበር፣ የCQRS ስርዓተ ጥለትን ለገለልተኛ መፃፍ እና ማንበብ ስራዎችን በማካተት ወደ ማይክሮ ሰርቪስ አርክቴክቸር ለመሄድ መወሰን ትችላላችሁ፣ አልፎ ተርፎም ከፍላጎትዎ ጋር የሚስማማ ከሆነ አሃዳዊ አርክቴክቸር ጋር ለመጣበቅ መወሰን ይችላሉ።


እንዲሁም እንደ DAU (ዕለታዊ ንቁ ተጠቃሚዎች)፣ MAU (ወርሃዊ ንቁ ተጠቃሚዎች)፣ RPC (ጥያቄ በሰከንድ) እና TPC (በሴኮንድ ግብይት) ያሉ ቁጥሮችን እና መለኪያዎችን መረዳት በጣም አስፈላጊ ነው ምክንያቱም አርክቴክቸር ለ 100 ንቁ ተጠቃሚዎች እና 100 ሚሊዮን ንቁ ተጠቃሚዎች የተለያዩ ናቸው።


እንደ የመጨረሻ ማስታወሻ፣ አርክቴክቸር በምርቱ ስኬት ላይ ከፍተኛ ተጽእኖ አለው እላለሁ። ለምርቶቹ በደንብ ያልተነደፈ አርክቴክቸር በመጠን ላይ ያስፈልጋል፣ ይህ ደግሞ ወደ ውድቀት ሊመራ ይችላል ምክንያቱም ደንበኞቻቸው ስርዓቱን በሚጨምሩበት ጊዜ አይጠብቁም ፣ ተፎካካሪ ይመርጣሉ ፣ ስለሆነም እምቅ ልኬትን መቅደም አለብን። ምንም እንኳን አንዳንድ ጊዜ ዘንበል ያለ አቀራረብ ሊሆን እንደማይችል አምናለሁ ፣ ሀሳቡ ሊሰፋ የሚችል ግን ቀድሞውኑ ያልተስተካከለ ስርዓት እንዲኖር ነው። በሌላ በኩል፣ በጣም የተወሳሰበ እና ቀድሞውንም የተመጣጠነ ስርዓት ያለ ደንበኛ ወይም ብዙዎቹን ለማግኘት እቅድ ማውጣቱ ለንግድ ስራዎ ያለ ምንም ዋጋ ያስወጣዎታል።

የቴክኖሎጂ ቁልል ምርጫ

የቴክኖሎጂ ቁልል መምረጥም በቅጥር፣ በሥርዓት የተፈጥሮ ዝግመተ ለውጥ አመለካከቶች፣ ልኬታማነት እና የሥርዓት አፈጻጸም ላይ ተጽእኖ ስለሚያሳድር የማክሮ-ደረጃ ውሳኔ ነው።


የቴክኖሎጂ ቁልል ለመምረጥ የመሠረታዊ ጉዳዮች ዝርዝር ይህ ነው-

  • የፕሮጀክት መስፈርቶች እና ውስብስብነት. ለምሳሌ፣ ቀላል የድር መተግበሪያ ገንቢዎችዎ ልምድ ካላቸው በBlazor ማእቀፍ ሊገነባ ይችላል፣ነገር ግን በWebAssembly ብስለት እጥረት የተነሳ ለረጅም ጊዜ ስኬት React እና Typescript መምረጥ የተሻለ ውሳኔ ሊሆን ይችላል።
  • የመጠን እና የአፈጻጸም ፍላጎቶች. ከፍተኛ መጠን ያለው ትራፊክ እንደሚያገኙ የሚገምቱ ከሆነ፣ ASP.NET Coreን ከጃንጎ ላይ መምረጥ በአንድ ጊዜ የሚጠየቁ ጥያቄዎችን በማስተናገድ ረገድ ባለው የላቀ አፈጻጸም ምክንያት ጥበባዊ ምርጫ ሊሆን ይችላል። ሆኖም, ይህ ውሳኔ እርስዎ በሚጠብቁት የትራፊክ መጠን ላይ ይወሰናል. በዝቅተኛ መዘግየት በቢሊዮን የሚቆጠሩ ጥያቄዎችን ማስተዳደር ከፈለጉ፣ የቆሻሻ ማጠራቀሚያ መኖሩ ፈታኝ ሊሆን ይችላል።
  • ቅጥር፣ የእድገት ጊዜ እና ወጪ። በአብዛኛዎቹ ሁኔታዎች, እነዚህ ልንጠነቀቅላቸው የሚገቡን ነገሮች ናቸው. ለገበያ የሚውልበት ጊዜ፣ የጥገና ወጪ እና የቅጥር መረጋጋት የንግድ ፍላጎቶችዎን ያለምንም እንቅፋት ያንቀሳቅሳሉ።
  • የቡድን ልምድ እና ሀብቶች. የእድገት ቡድንዎ የክህሎት ስብስብ ወሳኝ ነገር ነው። አዲስ ቁልል ለመማር የሚያስችል ጠንካራ ምክንያት ከሌለ በስተቀር ቡድንዎ የሚያውቃቸውን ቴክኖሎጂዎችን መጠቀም በአጠቃላይ የበለጠ ውጤታማ ነው።
  • ብስለት። ጠንካራ ማህበረሰብ እና የበለፀገ የስነ-ምህዳር ቤተ-መጻህፍት እና መሳሪያዎች የእድገት ሂደቱን በእጅጉ ያቃልላሉ። ታዋቂ ቴክኖሎጂዎች ብዙውን ጊዜ የተሻሉ የማህበረሰብ ድጋፍ አላቸው, ይህም ችግሮችን ለመፍታት እና ሀብቶችን ለማግኘት ጠቃሚ ሊሆን ይችላል. ስለዚህ, ሀብቶችን መቆጠብ እና በዋናነት በምርቱ ላይ ማተኮር ይችላሉ.
  • የረጅም ጊዜ ጥገና እና ድጋፍ። የቴክኖሎጂውን የረጅም ጊዜ አዋጭነት አስቡበት። በሰፊው ተቀባይነት ያላቸው እና የሚደገፉ ቴክኖሎጂዎች ጊዜ ያለፈባቸው እና በአጠቃላይ መደበኛ ዝመናዎችን እና ማሻሻያዎችን የሚያገኙ ናቸው።


በርካታ የቴክኖሎጂ ቁልል መኖሩ የንግድ እድገትን እንዴት ሊጎዳው ይችላል?

በአንድ እይታ፣ አንድ ተጨማሪ ቁልል ማስተዋወቅ ቅጥርዎን ሊጨምር ይችላል፣ ግን በሌላ በኩል፣ ሁለቱንም ቁልል መደገፍ ስለሚያስፈልግ ተጨማሪ የጥገና ወጪዎችን ያመጣል። ስለዚህ፣ ቀደም ብዬ እንዳልኩት፣ በእኔ እይታ፣ ተጨማሪ የቴክኖሎጂ ቁልል ለማካተት ተጨማሪ ፍላጎት ብቻ ክርክር መሆን አለበት።


ግን ለአንድ የተወሰነ ችግር ምርጡን መሳሪያ የመምረጥ መርህ ምንድነው?

አንዳንድ ጊዜ ከዚህ በላይ በተጠቀሱት ተመሳሳይ ጉዳዮች ላይ በመመርኮዝ አንድን ልዩ ችግር ለመፍታት አዳዲስ መሳሪያዎችን ከማምጣት በስተቀር ሌላ ምርጫ የለህም, በእንደዚህ አይነት ጉዳዮች ላይ, በጣም ጥሩውን መፍትሄ መምረጥ ምክንያታዊ ነው.


ከአንድ የተወሰነ ቴክኖሎጂ ጋር ከፍተኛ ትስስር የሌላቸው ስርዓቶችን መፍጠር ፈታኝ ሊሆን ይችላል. ያም ሆኖ ስርዓቱ ከቴክኖሎጂ ጋር በጥብቅ ያልተጣመረበት እና ነገ አንድ የተወሰነ ማዕቀፍ ወይም መሳሪያ ለጥቃት ከተጋለለ አልፎ ተርፎም ከተቋረጠ አይሞትም.


ሌላው አስፈላጊ ግምት ከክፍት ምንጭ እና ከባለቤትነት የሶፍትዌር ጥገኛዎች ጋር የተያያዘ ነው. የባለቤትነት ሶፍትዌር ያነሰ የመተጣጠፍ እና የማበጀት እድል ይሰጥዎታል። አሁንም፣ በጣም አደገኛው ነገር የሻጭ መቆለፍ ነው፣ እርስዎ በአቅራቢ ምርቶች፣ ዋጋዎች፣ ውሎች እና የመንገድ ካርታ ላይ ጥገኛ ይሆናሉ። ሻጩ አቅጣጫውን ከቀየረ፣ ዋጋ ከጨመረ ወይም ምርቱን ካቋረጠ ይህ አደገኛ ሊሆን ይችላል። ክፍት ምንጭ ሶፍትዌር አንድ አካል ስለማይቆጣጠረው ይህን አደጋ ይቀንሳል። በሁሉም ደረጃዎች ላይ አንድ ነጠላ ውድቀትን ማስወገድ ለዕድገት አስተማማኝ ስርዓቶችን ለመገንባት ቁልፍ ነው.

ነጠላ የውድቀት ነጥብ (SPOF)

አንድ ነጠላ የብልሽት ነጥብ (SPOF) የሚያመለክተው የትኛውንም የስርዓት ክፍል ነው፣ ካልተሳካ፣ አጠቃላይ ስርዓቱ ስራውን እንዲያቆም ያደርገዋል። SPOFsን በሁሉም ደረጃዎች ማስወገድ ከፍተኛ ተደራሽነት ለሚፈልግ ለማንኛውም ሥርዓት ወሳኝ ነው። እውቀትን፣ ሰራተኞችን፣ የስርዓት ክፍሎችን፣ የደመና አቅራቢዎችን እና የኢንተርኔት ገመዶችን ጨምሮ ሁሉም ነገር ሊሳካ ይችላል።


ነጠላ ነጥቦችን ለማስወገድ ልንጠቀምባቸው የምንችላቸው በርካታ መሰረታዊ ቴክኒኮች አሉ፡-

  1. ድግግሞሽ. ለወሳኝ አካላት ድግግሞሹን ይተግብሩ። ይህ ማለት ዋናው አካል ካልተሳካ ሊረከቡ የሚችሉ የመጠባበቂያ ክፍሎች መኖር ማለት ነው። ተደጋጋሚነት በተለያዩ የስርዓቱ ንብርብሮች ላይ ሊተገበር ይችላል፣ እነሱም ሃርድዌር (ሰርቨሮች፣ ዲስኮች)፣ ኔትዎርኪንግ (አገናኞች፣ ማብሪያዎች) እና ሶፍትዌሮች (ዳታ ቤዝ፣ አፕሊኬሽን ሰርቨሮች)። ሁሉንም ነገር በአንድ ክላውድ አቅራቢ ውስጥ እያስተናገዱ ከሆነ እና እዚያም ምትኬ ካለዎት፣ በአደጋ ጊዜ የጠፋዎትን ወጪ ለመቀነስ መደበኛ ተጨማሪ ምትኬን በሌላ ውስጥ መገንባት ያስቡበት።
  2. የውሂብ ማዕከሎች. እንደ የውሂብ ማዕከሎች ወይም የደመና ክልሎች ባሉ በርካታ አካላዊ አካባቢዎች የእርስዎን ስርዓት ያሰራጩ። ይህ አካሄድ ስርዓትዎን እንደ ሃይል መቆራረጥ ወይም የተፈጥሮ አደጋዎች ካሉ መገኛ-ተኮር ውድቀቶች ይከላከላል።
  3. ያልተሳካለት። ለሁሉም ክፍሎቶችዎ (ዲኤንኤስ፣ ሲዲኤን፣ ሎድ ሚዛኖች፣ ኩበርኔትስ፣ ኤፒአይ ጌትዌይስ እና ዳታቤዝ) ያልተሳካ አሰራርን ይተግብሩ። ጉዳዮች ሳይታሰብ ሊነሱ ስለሚችሉ፣ እንደ አስፈላጊነቱ በፍጥነት ማንኛውንም አካል በክሎኑ ለመተካት የመጠባበቂያ እቅድ መኖሩ በጣም አስፈላጊ ነው።
  4. ከፍተኛ ተደራሽነት አገልግሎቶች. የሚከተሉትን መርሆች በማክበር አገልግሎቶቻችሁ በአግድም ሊሰፋ የሚችል እና ከመጀመሪያው ጀምሮ በከፍተኛ ደረጃ የሚገኙ እንዲሆኑ መገንባታቸውን ያረጋግጡ።
    • የአገልግሎት ሀገር አልባነትን ይለማመዱ እና የተጠቃሚ ክፍለ ጊዜዎችን በማህደረ ትውስታ መሸጎጫዎች ውስጥ ከማከማቸት ይቆጠቡ። በምትኩ፣ እንደ Redis ያለ የተከፋፈለ መሸጎጫ ስርዓት ተጠቀም።
    • አመክንዮ ሲያዳብሩ የመልእክት ፍጆታ በጊዜ ቅደም ተከተል ላይ ጥገኛ አለመሆንን ያስወግዱ።
    • የኤፒአይ ተጠቃሚዎችን መረበሽ ለመከላከል መሰበር ለውጦችን ይቀንሱ። ከተቻለ ከኋላ የሚስማሙ ለውጦችን ይምረጡ። እንዲሁም፣ አንዳንድ ጊዜ ጀምሮ ወጪን አስቡ፣ ሰበር ለውጥ መተግበር የበለጠ ወጪ ቆጣቢ ሊሆን ይችላል።
    • የፍልሰት አፈፃፀምን በማሰማራት ቧንቧ መስመር ውስጥ ያካትቱ።
    • በአንድ ጊዜ የሚጠየቁ ጥያቄዎችን የማስተናገድ ስልት ያቋቁሙ።
    • አስተማማኝነትን እና ታዛቢነትን ለማሳደግ የአገልግሎት ግኝትን፣ ክትትልን እና ምዝግብ ማስታወሻን ተግባራዊ ያድርጉ።
    • የአውታረ መረብ ውድቀቶች የማይቀር መሆናቸውን አምነህ በመቀበል ጠንካራ ለመሆን የንግድ ሎጂክን አዳብር።
  5. ጥገኝነት ግምገማ. በመደበኛነት ይከልሱ እና የውጭ ጥገኛዎችን ይቀንሱ። እያንዳንዱ ውጫዊ ጥገኝነት SPOFዎችን ሊያስተዋውቅ ይችላል፣ ስለዚህ እነዚህን አደጋዎች መረዳት እና መቀነስ አስፈላጊ ነው።
  6. መደበኛ የእውቀት መጋራት። በድርጅትዎ ውስጥ እውቀትን የማስፋፋትን አስፈላጊነት በጭራሽ አይርሱ። ሰዎች ያልተጠበቁ ሊሆኑ ይችላሉ, እና በአንድ ግለሰብ ላይ መታመን አደገኛ ነው. የቡድን አባላት እውቀታቸውን በሰነድ ዲጂታል እንዲያደርጉ አበረታታቸው። ነገር ግን፣ ከመጠን በላይ መመዝገብን ልብ ይበሉ። ይህንን ሂደት ለማቃለል የተለያዩ AI መሳሪያዎችን ይጠቀሙ።

መደምደሚያ

በዚህ ጽሑፍ ውስጥ በርካታ ቁልፍ የማክሮ ገጽታዎችን እና ውስብስብነታቸውን እንዴት መቋቋም እንደምንችል ተመልክተናል።


ስላነበቡ እናመሰግናለን! በሚቀጥለው እንገናኝ!