நாங்கள் ஏன் மீண்டும் ஒரு மாடுலர் மோனோலித் (Modular Monolith) முறைக்குத் திரும்பினோம்

மென்பொருள் குழுக்கள் தங்களது உத்திகளை மாற்றிக்கொண்டிருக்கின்றன. பல குழுக்கள் பல ஆண்டுகளாக செயலிகளை மைக்ரோசர்வீஸ்களாக (microservices) பிரிப்பதிலேயே நேரத்தைச் செலவிட்டன. இப்போது, அவர்கள் அந்தப் பாகங்களை மீண்டும் ஒன்றாக இணைக்கிறார்கள். அவர்கள் பழைய, குழப்பமான மோனோலித்களை (monoliths) உருவாக்கவில்லை; மாறாக, மாடுலர் மோனோலித்களை (modular monoliths) உருவாக்குகிறார்கள்.

மைக்ரோசர்வீஸ்கள் மறைமுகச் செலவுகளை உருவாக்குகின்றன. விநியோகிக்கப்பட்ட அமைப்புகள் (Distributed systems) மிகப்பெரிய சிக்கல்களைச் சேர்க்கின்றன. பல குழுக்கள் மைக்ரோசர்வீஸ்களைத் தங்களுக்குத் தேவையான அளவிற்காக (scale) அல்லாமல், வெறும் விளம்பரத் தாக்கத்தால் (hype) மட்டுமே பின்பற்றுகின்றன. உங்களிடம் ஒரு சிறிய குழு இருந்தால், மைக்ரோசர்வீஸ்கள் உங்கள் வேகத்தைக் குறைக்கக்கூடும்.

ஒரு மாடுலர் மோனோலித் உங்களுக்கு இரண்டு உலகங்களின் சிறந்த அம்சங்களையும் வழங்குகிறது. இது ஒரே ஒரு விநியோகிக்கக்கூடிய அலகாக (deployable unit) இருக்கும், ஆனால் குறியீடு (code) கடுமையான மாட்யூல்களாக (modules) ஒழுங்கமைக்கப்பட்டிருக்கும். ஒரு விநியோகிக்கப்பட்ட அமைப்பை இயக்குவதற்கான அதிக செலவின்றி, உங்களுக்குத் தெளிவான எல்லைகளைப் பெற முடியும்.

இரண்டு அணுகுமுறைகளையும் ஒப்பிடுக:

• விநியோகம் (Deployment): மோனோலித்கள் ஒரு அலகைப் பயன்படுத்துகின்றன. மைக்ரோசர்வீஸ்கள் பலவற்றைத் பயன்படுத்துகின்றன. • எல்லைகள் (Boundaries): மோனோலித்கள் கடுமையான குறியீட்டு விதிகளைப் பயன்படுத்துகின்றன. மைக்ரோசர்வீஸ்கள் நெட்வொர்க்கைப் பயன்படுத்துகின்றன. • தொடர்பு (Communication): மோனோலித்கள் எளிமையான ஃபங்க்ஷன் அழைப்புகளைப் (function calls) பயன்படுத்துகின்றன. மைக்ரோசர்வீஸ்கள் நெட்வொர்க் அழைப்புகளைப் பயன்படுத்துகின்றன. • கூடுதல் சுமை (Overhead): மோனோலித்கள் குறைந்த செயல்பாட்டுச் செலவைக் கொண்டுள்ளன. மைக்ரோசர்வீஸ்கள் அதிகச் செலவைக் கொண்டுள்ளன.

நீங்கள் எப்போது ஒரு மாடுலர் மோனோலித்தைத் தேர்ந்தெடுக்க வேண்டும்?

  • உங்கள் குழுவில் 50-க்கும் குறைவான பொறியாளர்கள் உள்ளனர்.
  • நீங்கள் கிளவுட் உள்கட்டமைப்புச் செலவைக் குறைக்க வேண்டும்.
  • நீங்கள் டீபக்கிங் (debugging) மற்றும் சோதனையை (testing) எளிமையாக்க விரும்புகிறீர்கள்.
  • உங்கள் சேவைகள் எப்படியும் ஒன்றாகவே விநியோகிக்கப்பட வேண்டியிருக்கும்.

நிஜ நிறுவனங்கள் ஏற்கனவே இதைச் செய்து வருகின்றன. Shopify மில்லியன் கணக்கான வணிகர்களை நிர்வகிக்க ஒரு மாடுலர் அணுகுமுறையைப் பயன்படுத்துகிறது. Amazon Prime Video ஒரு குறிப்பிட்ட பணிச்சுமையை (workload) மைக்ரோசர்வீஸ்களிலிருந்து மீண்டும் ஒரு மோனோலித்திற்கு மாற்றியது. இதன் மூலம் அவர்கள் உள்கட்டமைப்புச் செலவில் 90% குறைவைக் கண்டார்கள்.

நீங்கள் ஒரு சிறிய குழுவாக இருந்தால், Netflix-ன் அளவிற்காக உருவாக்காதீர்கள். மாடுலராகத் தொடங்குங்கள். உங்கள் தரவுகள் (data) உங்களுக்குத் தேவை என்று காட்டும் போது மட்டுமே ஒரு சேவையைத் தனியாகப் பிரியுங்கள்.

நீங்கள் ஒருங்கிணைக்கத் தேவையா என்பதை அறிய இந்தச் சரிபார்ப்புப் பட்டியலைப் (checklist) பயன்படுத்தவும்:

  • அம்சங்களை உருவாக்குவதை விட, சேவை இணைப்புகளை (service connections) டீபக் செய்வதிலேயே அதிக நேரத்தைச் செலவிடுகிறீர்களா?
  • உங்கள் பயனர்களை விட உங்கள் கிளவுட் கட்டணம் வேகமாக வளர்ந்து வருகிறதா?
  • பல சேவைகளுக்கு 5-க்கும் குறைவான DevOps பொறியாளர்கள் மட்டுமே உள்ளனரா?
  • ஒரு பிழையைக் கண்டறிய பொறியாளர்கள் ஒரு கோரிக்கையை (request) 3 அல்லது அதற்கு மேற்பட்ட சேவைகளில் தேட வேண்டியிருக்கிறதா?

நீங்கள் 'ஆம்' என்று பதிலளித்தால், ஒரு மாடுலர் மோனோலித் முறையே சரியான முடிவாக இருக்கலாம்.

ஆதாரம்: https://dev.to/ail_akram_dcc5063c428734b/why-we-moved-back-to-a-modular-monolith-the-costly-reality-of-microservices-in-2026-3kbo

விருப்பமான கற்றல் சமூகம்: https://t.me/GyaanSetuAi