ഇന്ത്യയിലെ മികച്ച ഐ. ടി ഹബ് എന്ന് അറിയപ്പെടുന്ന കേരളത്തിൽ, സര്ക്കാര് തന്നെ അടുത്തിടെ ഇറക്കിയ മൊബൈൽ ആപ്പ്, പുറത്തിറക്കി മണിക്കൂറുകൾക്കുള്ളിൽ പരാജയപ്പെട്ടു. മുഖ്യധാരാ മാധ്യമങ്ങൾ എല്ലാം വാർത്ത റിപ്പോർട്ട് ചെയ്തു. സമൂഹ മാധ്യമങ്ങളിലുടനീളം സാധാരണക്കാരന്റെ നിരാശയും അമർഷവും നിറഞ്ഞുനിന്നു.
പ്രൊജക്റ്റ് അനുവദിച്ചത് മുതൽ അതിന്റെ മേൽനോട്ടം അഥവാ പ്രൊജക്റ്റ് മാനേജ്മന്റ് (PM ), ടെസ്റ്റിംഗ്, ഗുണമേന്മ ഉറപ്പുവരുത്തൽ (QA ) തുടങ്ങി എല്ലാ വശങ്ങളും ചോദ്യം ചെയ്യപ്പെട്ടു. ലോകോത്തര നിലവാരമുള്ള ടെക്നോളജി, ഇൻഫ്രാസ്ട്രക്ച്ചർ എന്നിവ വർഷങ്ങളായി ഉപയോഗിച്ച് പരിചയമുള്ള അനേകം സാങ്കേതിക വിദദ്ധരും കമ്പനികളും നമ്മുടെ സ്വന്തം ടെക്നോപാർക്കിലും ഇൻഫോപാർക്കിലും ഉള്ളപ്പോഴും BevQ പോലുള്ള ഒരു നിർണായക ദൗത്യം (Mission Critical Project ) നമുക്ക് നല്ലരീതിയിൽ ആർക്കിറ്റെക്ട് (Architect )ഉം പ്രൊജക്റ്റ് മാനേജ്മെന്റും ചെയ്യാൻ കഴിയാതെ പോയി. ഇതിനെ നല്ലൊരു പാഠമായി (Lessons Learned ) കരുതി, ഇത്തരം കാര്യങ്ങളിൽ സർക്കാർ വേണ്ടത്ര തയ്യാറെടുപ്പുകൾ നടത്തും എന്ന് സമാശ്വസിക്കാം.
BevQ-വിന് എവിടെ പിഴച്ചു എന്നത് ഈ ലേഖനത്തിന്റെ വിഷയമല്ല, പക്ഷെ കാര്യക്ഷമമായ പുതിയ അപ്ലിക്കേഷൻ എങ്ങിനെ നിർമിക്കാം എന്ന് വിശകലനം ചെയ്തു നോക്കാം.
പ്രൊജക്റ്റ് ആവശ്യകതകൾ (പ്രൊജക്റ്റ് റിക്വയർമെന്റ്സ് )
എന്തൊക്കെയാണ് ഈ പ്രോജക്ടിന്റെ ആവശ്യകതകൾ?
- ഒരു ഉപഭോക്താവിന് (യൂസർ എന്ന് വിളിക്കാം) അവന്റെ മൊബൈൽ ഫോൺ ഉപയോഗിച്ച് ഒരു ടോക്കൺ നമ്പർ റിക്വസ്റ്റ് ചെയ്യാൻ കഴിയണം
- (എ) ടോക്കണിനോടൊപ്പം (ബി ) എവിടെ നിന്നും വാങ്ങണമെന്നും (സി ) എപ്പോൾ വാങ്ങണമെന്നും അവൻ അറിയണം
- SMS മുഖേനയും ടോക്കൺ റിക്വസ്റ്റ് ചെയ്യാൻ കഴിയണം. ഏല്ലാവർക്കും സ്മാർട്ട് ഫോൺ ഉണ്ടാവണമെന്നില്ലല്ലോ. ഉണ്ടെങ്കിൽ തന്നെ ആപ്പ് ഇൻസ്റ്റാൾ ചെയ്യാൻ താല്പര്യം ഉണ്ടാകണമെന്നില്ലല്ലോ.
- ഫോൺ കൂടാതെ ടോക്കൺ റിക്വസ്റ്റ് ഒരു വെബ്സൈറ്റ് വഴിയും ചെയ്യാം.
- ടോക്കണുമായി ഔട്ലെറ്റിൽ (ബാർ, ബിയർ പാർലർ , ബീവറേജ് ഔട്ട്ലെറ്റ് എല്ലാറ്റിനെയും കൂട്ടി നമുക്ക് ഔട്ട്ലെറ്റ് [outlet] എന്ന് വിളിക്കാം) എത്തുമ്പോൾ ഔട്ട്ലെറ്റ് ഏജന്റിന് അദ്ദേഹത്തിന്റെ സ്മാർട്ട് ഫോൺ ഉപയോഗിച്ച് യൂസറിന്റെ ടോക്കൺ വാലിഡേറ്റ് (validate ) ചെയ്യാൻ കഴിയണം
- അഡ്മിൻ (Admin) യൂസെറിന് ഔട്ട്ലെറ്റ് വിവരങ്ങൾ കൈകാര്യം ചെയ്യാനും റിപ്പോർട്ട് കാണാനും കഴിയണം
തല്ക്കാലം മേൽ പറഞ്ഞ ആവശ്യകതകൾ മാത്രം ഈ ലേഖനത്തിൽ പ്രതിപാദിക്കാം.
ആവശ്യകതകളുടെ ഒരു വിശകലനം (Requirements Analysis )
ഒരു വിശകലനം നടത്തിയതിൽ, താഴെ പറയുന്ന കാര്യങ്ങൾ നമുക്ക് പരിഗണിക്കേണ്ടതുണ്ട്
- രണ്ടു ആപ്പുകളും, ഒരു വെബ് സൈറ്റും ആവശ്യമുണ്ട്
- ഉപഭോക്താവ്
- ഔട്ട്ലെറ്റ് ഏജന്റ്
- അഡ്മിൻ കൺസോൾ (Admin കൺസോൾ )
- SMS വഴിയുള്ള അപേക്ഷകൾക്ക് ഒരു പ്രേത്യേക സെർവർ അപ്ലിക്കേഷൻ പരിഗണിക്കാം എങ്കിലും Code /Module റീയൂസബിലിറ്റി ഉപയോഗിക്കാവുന്നത് കൊണ്ട് അത് ഒഴിവാക്കാം
- മദ്യപാനികളുടെ എണ്ണം വളരെ കൂടുതലുള്ള സംസ്ഥാനമായതിനാലും, ഏകദേശം രണ്ടുമാസത്തെ കാത്തിരിപ്പിനു ശേഷമുള്ള മദ്യ വില്പന ആയതിനാലും ആദ്യ ദിവസങ്ങളിൽ ആപ് ഉപയോഗിക്കുന്നവരുടെ എണ്ണം വളരെ കൂടുതലായിരിക്കും. നമുക്ക് ഒരു 3 ലക്ഷം പേര് ഒരുമിച്ചു ആപ് ഉപയോഗിക്കും എന്ന് കരുതാം (Simultaneous Users). ഒരു ദിവസം ഏകദേശം 10 ലക്ഷം പേർ ആപ്പ് സന്ദർശിക്കും എന്നും കരുതാം. ആവശ്യക്കാർ കൂടുതലായതിനാൽ ആപ്പിന്റെ സെർവർ, അല്ലെങ്കിൽ സെർവറുകൾ ശക്തിയുള്ളതല്ലെങ്കിൽ ആപ്പ് ക്രാഷ് (App Crash ) ആകുവാനുള്ള സാധ്യത വളരെ കൂടുതലാണ്.
- Xamarin , Flutter പോലുള്ള ക്രോസ്സ് -പ്ലാറ്റുഫോം (Cross -Platform ) സംവിദാനങ്ങൾ ലഭ്യമാണെങ്കിലും നേറ്റീവ് (Native ) ആപ്പ് ഡെവലൊപ്മെൻ്റ് തന്നെയാണ് വളരെയധികം യൂസേഴ്സ് ഉള്ള ഈ പ്രോജക്ടിന് നല്ലത് (മറു അഭിപ്രായങ്ങൾ ഉണ്ടാകാം)
ഇത്തരം വിശകലനങ്ങൾക്കു ശേഷം താഴെകാണുന്ന നിലയിലേക്ക് നമ്മുടെ Requirements നമുക്ക് അന്തിമമാക്കാം.
ആർക്കിടെക്ചർ ഡിസൈൻ (Architecture Design )
മുകളിൽ പറഞ്ഞ വിശകലനം വച്ച് ഒരു എന്റർപ്രൈസ് ലെവൽ (Enterprise Level) പ്രൊജക്റ്റ് പ്ലാൻ ചെയ്താൽ താഴെ കാണുന്ന high -level ആർക്കിടെക്ചർ ചിത്രം (Architecture Diagram ) കിട്ടും.
Microsoft Azure ക്ളൗഡ്
ഇനി , പറയാൻ പോകുന്നത് Azure എന്ന ക്ളൗഡ് പ്ലാറ്റഫോ (Cloud Platform ) -മിൽ വളരെ കുറഞ്ഞ റിസോഴ്സുകൾ (resources) ഉപയോഗിച്ച് എങ്ങിനെ ഡിസൈൻ ചെയ്യാം എന്നതാണ്.
റിസോഴ്സുകൾ വളരെ കുറവാണെങ്കിലും ഈ സംവിധാന ഘടന വളരെ കാര്യക്ഷമമാണ്. കാരണം Azure Functions എന്ന സംവിധാനം തനിയെ വലിയാനും കുറക്കാനും (Auto Scaling ) കഴിവുള്ളതാണ് . ശ്രദ്ധിക്കുവാനുള്ള ഒരു പ്രധാന കാര്യം, SMS ദാദാവിനെ തെരഞ്ഞെടുക്കുമ്പോൾ നല്ല റിവ്യൂ (reviews) ഉള്ളവ തിരഞ്ഞെടുക്കുവാനും, തിരഞ്ഞെടുത്ത പ്ലാൻ (Plan ) നമ്മുടെ യൂസർ ഹിറ്റ് നമ്പറുകളെ തൃപ്തിപ്പെടുത്തുന്നവയും ആയിരിക്കണം .
ഇനി, മുകളിൽ കണ്ടതിന്റെ കുറച്ചു കൂടി മെച്ചപ്പെട്ട ഒരു പതിപ്പ് കാണാം.
ആമസോൺ വെബ് സെർവീസ്സ് (AWS )
ഇനി , മറ്റൊരു ക്ളൗഡ് പ്ലാറ്റുഫോം ആയ AWS Amazon Web Services -ൽ Docker എന്ന ഒരു containerization സാങ്കേതിക വിദ്യ ഉപയോഗിച്ച് എങ്ങനെ ഡിസൈൻ ചെയ്യാം എന്ന് നോക്കാം
ഇത്തരത്തിൽ വളരെ കാര്യക്ഷമമായ രീതിയിൽ പല പ്രൊവൈഡറുകൾ ഉപയോഗിച്ച് ഒന്നിൽ കൂടുതൽ രീതിയിൽ അപ്ലിക്കേഷൻ ഡിസൈൻ ചെയ്യാം.
ശരിയായ Requirements Analysis ഉം Cost Analysis ഉം ഒരു സാങ്കേതിക വിദ്ഗ്ധന്റെയോ ഉപദേശക സമിതിയുടെയോ കീഴിൽ ചെയ്താൽ ഇത്തരം ആപ്പ്ളിക്കേഷനുകൾ പരാജയപ്പെടേണ്ട കാര്യം ഈ നാട്ടിലില്ല.
പ്രതികരിക്കാൻ ഇവിടെ എഴുതുക: