സ്മാർട്ട് ആയി സ്കെയിൽ ചെയ്യുക: സോഫ്റ്റ്വെയർ ആർക്കിടെക്ചറിനെക്കുറിച്ചുള്ള ശക്തമായ ഒരു അഭിപ്രായം
ഡെവലപ്പർമാർ പലപ്പോഴും വെബ് ആപ്പുകൾ അമിതമായി എൻജിനീയറിംഗ് (overengineer) ചെയ്യാറുണ്ട്. അവർ microservices അല്ലെങ്കിൽ serverless ട്രെൻഡുകൾക്ക് പിന്നാലെ പോകുന്നു. സങ്കീർണ്ണത എന്നാൽ scalability ആണെന്ന് അവർ കരുതുന്നു.
ഇതൊരു തെറ്റാണ്.
സങ്കീർണ്ണമായ സംവിധാനങ്ങളേക്കാൾ ലളിതവും modular ആയ ഡിസൈനുകൾ പലപ്പോഴും മികച്ച രീതിയിൽ പ്രവർത്തിക്കുന്നു. പ്രധാന ഫീച്ചറുകളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുക. ആദ്യം ഒരു ശക്തമായ അടിത്തറ പണിയുക. യഥാർത്ഥ ആവശ്യകത അനുസരിച്ച് സ്കെയിൽ ചെയ്യുക.
Scalability എന്നാൽ ഉപയോക്താക്കളെ കൈകാര്യം ചെയ്യുക എന്നത് മാത്രമല്ല. നിങ്ങളുടെ ആപ്പ് responsive ആയി നിലനിർത്തുക എന്നാണ് അതിനർത്ഥം. ഉപയോക്താക്കളെ സംതൃപ്തരാക്കി നിർത്തുക എന്നാണ് അതിനർത്ഥം. ഉപയോക്താക്കളുടെ പെരുമാറ്റത്തിൽ മാറ്റം വരുമ്പോൾ വേഗത്തിൽ മാറ്റങ്ങൾ വരുത്താൻ നല്ലൊരു architecture നിങ്ങളെ സഹായിക്കുന്നു.
ഈ തത്വങ്ങൾ പാലിക്കുക:
- Maintainability-ന് മുൻഗണന നൽകുക.
- ഒരു lean approach ഉപയോഗിക്കുക.
- യുക്തിസഹമാണെങ്കിൽ ഒരു monolith ഉപയോഗിച്ച് തുടങ്ങുക.
- ആവശ്യമുള്ളപ്പോൾ മാത്രം microservices-ലേക്ക് refactor ചെയ്യുക.
ആവശ്യമില്ലാത്തതിന് മുമ്പ് സങ്കീർണ്ണതകൾ കൂട്ടിച്ചേർക്കരുത്. അനാവശ്യ ഭാരമില്ലാതെ വളർച്ചയ്ക്കായി നിർമ്മിക്കുക.
പ്രധാനപ്പെട്ട കാര്യങ്ങളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുക. ലളിതമായി സൂക്ഷിക്കുക.