Text size
എന്റെ റഡാറിൽ6 മിനിറ്റ് വായന

സൈഡ് വണ്ടികളില്ലാത്ത സർവീസ് മെഷ്

ഇസിറ്റിയോ ആംബിയന്റ്, ലിങ്കർഡ്, സിലിയം. നിനക്ക് ഒരു മെഷ് വേണോ?

Service mesh without sidecars
AI ഉപയോഗിച്ച് സൃഷ്ടിച്ച ചിത്രീകരണം

കുറച്ച് വർഷങ്ങൾക്ക് മുമ്പ്, സേവന മെഷ് ക്ലൌഡ് നേറ്റീവ് ഏറ്റവും ചൂടുള്ള വിഷയമായിരുന്നു. എല്ലാ കോൺഫറൻസുകളിലും ഇസ്റ്റിയൊയെ പറ്റി പ്രഭാഷണങ്ങൾ നടന്നു, എല്ലാ വാസ്തുവിദ്യാ ഡയഗ്രമുകളിലും ഓരോ സേവനത്തിനും അടുത്തുള്ള ചെറിയ പ്രോക്സി ഉണ്ടായിരുന്നു. പിന്നെ യാഥാർത്ഥ്യം വന്നു: മെഷുകൾ സങ്കീർണ്ണവും വിഭവങ്ങൾ ആവശ്യമുള്ളതും ഡീബഗ് ചെയ്യാൻ ബുദ്ധിമുട്ടുള്ളതുമായിരുന്നു. പല ടീമുകളും ഒന്ന് പരീക്ഷിച്ചു. പിന്നെ അത് ശാന്തമായി നീക്കം ചെയ്തു.

അതിനു ശേഷം സാങ്കേതികവിദ്യ ഒരുപാട് മാറി. ഏറ്റവും വലിയ മാറ്റം: ഓരോ ബാഗിലും സൈഡ് കാർ പ്രോക്സി ആവശ്യമില്ല. അതുകൊണ്ട് വീണ്ടും നോക്കേണ്ടതാണ്.

ഒരു മെഷ് ചെയ്യുന്നതെന്താണ്

നിങ്ങളുടെ ആപ്ലിക്കേഷൻ കോഡിന് പുറത്തുള്ള സേവനങ്ങൾ തമ്മിലുള്ള ആശയവിനിമയം ഒരു സേവന മെഷ് കൈകാര്യം ചെയ്യുന്നു. സാധാരണ സവിശേഷതകൾ:

  • എല്ലായിടത്തും mTLS: സേവനങ്ങൾ തമ്മിലുള്ള ട്രാഫിക്, യാന്ത്രിക സർട്ടിഫിക്കറ്റ് മാനേജ്മെന്റ്, സേവന ഐഡന്റിറ്റി എന്നിവ ഉപയോഗിച്ച്.
  • അനുമതി നയങ്ങൾ: "ചെക്ക് ഔട്ട് സേവനത്തിന് മാത്രമേ പേയ്മെന്റുകൾ വിളിക്കാൻ കഴിയൂ".
  • ട്രാഫിക് മാനേജ്മെന്റ്: വീണ്ടും ശ്രമിക്കുക, ടൈം ഔട്ട് ചെയ്യുക, സർക്യൂട്ട് ബ്രേക്ക് ചെയ്യുക, കാനറി റിലീസുകൾക്കായി ട്രാഫിക് വിഭജിക്കുക.
  • നിരീക്ഷണ ശേഷി: കോഡ് മാറ്റാതെ ഏത് സേവനങ്ങളുമായി സംസാരിക്കുമെന്നതിന്റെ അളവുകളും, ട്രാക്കുകളും, മാപ്പും ആവശ്യപ്പെടുക.

ഇതെല്ലാം ലൈബ്രറികളുള്ള എല്ലാ ആപ്ലിക്കേഷനുകളിലും ഉൾപ്പെടുത്താം, പക്ഷേ എല്ലാ ടീമുകളും, എല്ലാ ഭാഷകളിലും, അത് ശരിയായി ചെയ്യണം. ഒരു മെഷ് അത് ഒരിക്കൽ, എല്ലാവർക്കും വേണ്ടി ചെയ്യുന്നു.

സൈഡ് കാര് vs സൈഡ് കാരില്ലാത്തത്

സൈഡ് കാര് മോഡൽ ഓരോ പാഡിനും ഒരു പ്രോക്സി കണ്ടെയ്നർ കൂടി കിട്ടും. എല്ലാ ട്രാഫിക്കും അതിലൂടെ കടന്നുപോകുന്നു.

  • ഗുണങ്ങൾശക്തമായ ഒറ്റപ്പെടലും, സമ്പന്നമായ ഓരോ-പോഡ് സവിശേഷതകളും.
  • ദോഷം: ഒരു പോഡ് പ്രോക്സി സിപിയുവും മെമ്മറിയും ഉപയോഗിക്കുന്നു (ഇത് ആയിരക്കണക്കിന് പോഡുകളിലായി കൂട്ടിച്ചേർക്കുന്നു), ലേറ്റൻസി കൂട്ടിച്ചേർക്കുക, പോഡ് സ്റ്റാർട്ട് അപ്പ് ചെയ്യാനും ഷട്ട് ഡൌൺ ചെയ്യാനും സങ്കീർണ്ണമാക്കുന്നു, കൂടാതെ മെഷ് അപ്ഗ്രേഡ് ചെയ്യുന്നത് ഓരോ വർക്ക് ലോഡും പുനരാരംഭിക്കുക എന്നാണ്.

സൈഡ് വാരില്ലാത്ത മോഡൽ പ്രോക്സി കോപ്പിൽ നിന്നും നീക്കുന്നു:

  • പരിസ്ഥിതി മോഡ് (ഇസ്റ്റിയോ 1.24, 2024 അവസാനത്തോടെ സാധാരണയായി ലഭ്യമാണ്) മെഷ് രണ്ട് പാളികളായി വിഭജിക്കുന്നു. ഒരു ലഘുവായ നോഡ് പ്രോക്സി തുരങ്കം എല്ലാ പാഡുകളിലും എംടിഎൽഎസും അടിസ്ഥാന എൽ4 നയങ്ങളും കൈകാര്യം ചെയ്യുന്നു. ഓപ്ഷണൽ വേ പോയിന്റ് പ്രോക്സി L7 സവിശേഷതകൾ (HTTP റൂട്ടിംഗ്, വീണ്ടും ശ്രമങ്ങൾ, തലക്കെട്ട് അടിസ്ഥാനമാക്കിയുള്ള നയങ്ങൾ) അവ ആവശ്യമുള്ള സേവനങ്ങൾക്കായി മാത്രം കൈകാര്യം ചെയ്യുക.
  • സിലിയം സർവീസ് മെഷ് നെറ്റ് വർക്കിംഗിനും L4 സവിശേഷതകൾക്കും വേണ്ടി കെർണലിൽ eBPF ഉപയോഗിക്കുന്നു, L7 സവിശേഷതകൾക്കായി ഒരു പങ്കിട്ട ഓരോ നോഡ് എംബോയിയും ഉപയോഗിക്കുന്നു.

പ്രയോജനങ്ങൾ: വളരെ കുറവ് റിസോഴ്സ് ഓവർഹെഡ്, പാഡുകളിലെ മാറ്റങ്ങളില്ല, ആപ്ലിക്കേഷനുകൾ പുനരാരംഭിക്കാതെ അപ്ഗ്രേഡുകൾ, നിങ്ങൾ ഉപയോഗിക്കുന്ന സ്ഥലത്ത് മാത്രം L7 പ്രോസസ്സിംഗിനായി നിങ്ങൾ പണം നൽകുന്നു.

പുതിയ സർവീസ് മെഷുകളുടെ ഏറ്റവും നല്ല ഭാഗം അവ കുറവാണ് എന്നതാണ്.

ഇന്നത്തെ പ്രധാന ഓപ്ഷനുകൾ

  • ഇഷ്യോ: ഏറ്റവും സവിശേഷതകളുള്ള മോഡാണ്, സൈഡ് കാര്, ആംബിയന്റ് മോഡുകൾ എന്നിവയും. വലിയ ആവാസവ്യവസ്ഥ, കൂടുതൽ സങ്കീർണ്ണത. ഒരു സി. എൻ. സി. എഫ്. ബിരുദപദ്ധതി.
  • ലിങ്കർഡ്: വളരെ ചെറിയ റസ്റ്റ് അടിസ്ഥാനമാക്കിയുള്ള പ്രോക്സി ഉപയോഗിച്ച് ലാളിത്യത്തിലും കുറഞ്ഞ ഓവർഹെഡിലും ശ്രദ്ധ കേന്ദ്രീകരിച്ചു. ഇപ്പോഴും സൈഡ് കാര് അടിസ്ഥാനമാക്കിയുള്ളതാണ്, പക്ഷെ ഭാരം കുറഞ്ഞതാണ്. സ്രഷ്ടാവ് ബ്യൂയന്റ്, സ്ഥിരമായ പതിപ്പുകൾ വിതരണം ചെയ്യുന്ന രീതി മാറ്റി, അതിനാൽ സ്വീകരിക്കുന്നതിന് മുമ്പ് നിലവിലെ ലൈസൻസിംഗും റിലീസ് മോഡലും പരിശോധിക്കുക.
  • സിലിയം: നിങ്ങൾ ഇതിനകം നിങ്ങളുടെ സി. എൻ. ഐ ആയി സിലിയം ഉപയോഗിക്കുന്നുണ്ടെങ്കിൽ, അതിന്റെ മെഷ് സവിശേഷതകൾ പരസ്പര ആധികാരികതയും സുതാര്യമായ എൻക്രിപ്ഷനും ഉൾപ്പെടെ സൌജന്യമായി വരുന്നു.
  • ക്ലൌഡ് ദാതാവിന്റെ മെഷുകൾ: ചില മേഘങ്ങളിലെ നിയന്ത്രിത ഓപ്ഷനുകൾ, പലപ്പോഴും ഇസ്റ്റിയോ അടിസ്ഥാനമാക്കിയുള്ളവ.

നിനക്ക് കിട്ടുന്നതെന്താണ്?

ഒരു മെഷ് യോജിക്കുമ്പോൾ, പ്രയോജനങ്ങൾ യഥാർഥമാണ്:

  • പൂജ്യം വിശ്വാസ്യതയുള്ള നെറ്റ് വർക്കിംഗ് ആപ്ലിക്കേഷന് മാറ്റങ്ങളൊന്നും തന്നെ ഉണ്ടായില്ല. ഓരോ സേവനത്തിനും ഒരു ഐഡന്റിറ്റി ഉണ്ട്, എല്ലാ കണക്ഷനും എൻക്രിപ്റ്റ് ചെയ്യപ്പെട്ടതും അംഗീകരിച്ചതുമാണ്.
  • സ്ഥിരമായ വിശ്വാസ്യത ഓരോ ടീമും അവ നടപ്പിലാക്കാതെ തന്നെ സവിശേഷതകൾ (ടൈം ഔട്ടുകൾ, വീണ്ടും ശ്രമങ്ങൾ).
  • കാനറി റിലീസുകൾ കൃത്യമായ ട്രാഫിക് വിഭജനത്തോടെ.
  • സുവർണ അളവുകൾ (അഭ്യർത്ഥനകൾ, പിശകുകൾ, ലേറ്റൻസി) എല്ലാ സേവനത്തിനും, പെട്ടിക്കിഴക്കത്ത്.

ഓടാന് എത്ര ചിലവാകും

സൈഡ് വണ്ടി ഇല്ലാതെ പോലും, ഒരു മെഷ് ഒരു പ്രധാന ഘടകമാണ്:

  • മറ്റൊരു നിയന്ത്രണ വിമാനം ഇൻസ്റ്റാളുചെയ്യാനും, അപ്ഗ്രേഡ് ചെയ്യാനും, നിരീക്ഷിക്കാനും.
  • പഠന വക്രത: പുതിയ ആശയങ്ങള് , പുതിയ വിഭവങ്ങള് , പുതിയ പരാജയ രീതികള് .
  • ഡീബഗ് ചെയ്യൽ: ഒരു അഭ്യർത്ഥന പരാജയപ്പെടുമ്പോൾ, അത് ആപ്ലിക്കേഷനോ, മെഷോയോ, അല്ലെങ്കിൽ നെറ്റ്വർക്കോ ആണോ?
  • നയങ്ങളുടെ വ്യാപനം: അനുമതി നല് കുന്ന നയങ്ങള് ശ്രദ്ധാപൂർവ്വം കൈകാര്യം ചെയ്യണം.

ഒരു മെഷ് വേണോ?

ഞാന് ചോദിക്കുന്ന ചോദ്യങ്ങള്:

  • സേവനങ്ങൾക്കിടയില് നിങ്ങള് ക്ക് mTLS വേണോ? പാലിക്കൽ അല്ലെങ്കിൽ പൂജ്യം വിശ്വാസ്യത ആവശ്യകതകൾ? ഒരു മെഷ് ആണ് ഏറ്റവും എളുപ്പവഴി അത് സ്കെയിലിൽ കിട്ടാൻ.
  • നിങ്ങള് ക്ക് പല ഭാഷകളിലും പല സേവനങ്ങളുണ്ടോ?, ലൈബ്രറി അടിസ്ഥാനമാക്കിയുള്ള പരിഹാരങ്ങള് വിരുദ്ധമാകുമോ?
  • നിങ്ങള് ക്ക് നല്ല ട്രാഫിക് നിയന്ത്രണം വേണോ? പുരോഗമനപരമായ പ്രസവത്തിനു വേണ്ടി?
  • നിങ്ങളുടെ ടീമിന് ശേഷിയുണ്ടോ? അത് നടത്താൻ?

ഒരു ഭാഷയില് കുറച്ച് സേവനങ്ങള് ഉണ്ടെങ്കില് , അല്ലായിരിക്കാം. നിങ്ങൾക്ക് ഡസൻ കണക്കിന് സേവനങ്ങളും സുരക്ഷാ ആവശ്യകതകളും ഉണ്ടെങ്കിൽ, അതെ, ആംബിയന്റ് ശൈലിയിലുള്ള മെഷുകളും തീരുമാനമെടുക്കുന്നത് മുമ്പത്തേതിനേക്കാൾ എളുപ്പമാക്കുന്നു.

ഇതും ശ്രദ്ധിക്കുകഃ ഗേറ്റ്വേ API ഇപ്പോൾ ആളുകൾ മെഷുകൾ ഉപയോഗിക്കുന്ന ചില കാര്യങ്ങൾ (ട്രാഫിക് സ്പ്ലിറ്റ്, എഡ്ജിൽ ഹെഡ്ഡർ റൂട്ടിംഗ്) ഉൾക്കൊള്ളുന്നു, അതിന്റെ ഗാംമ സംരംഭം അതേ API നെ മെഷുകളിലെ സേവന-ടു-സർവീസ് ട്രാഫിക്കിലേക്ക് വ്യാപിപ്പിക്കുന്നു. അതായത് പഠിക്കേണ്ട മെഷ് പ്രത്യേക കോൺഫിഗറേഷനുകൾ കുറവാണ്.

നിങ്ങള് വീണ്ടും നോക്കണോ?

കുറച്ച് വർഷങ്ങൾക്ക് മുമ്പ് സൈഡ് കാര് മേൽവിലയും സങ്കീർണ്ണതയും കാരണം നിങ്ങൾ സർവീസ് മെഷികളെ നിരസിച്ചിരുന്നുവെങ്കിൽ, അതെ. ഇസ്റ്റിഒ ആംബിയന്റ്, സിലിയം എന്നിവയാണ് ഏറ്റവും വലിയ വേദനയേറിയ പോയിന്റുകൾ നീക്കം ചെയ്തത്. mTLS ഉം നിരീക്ഷണവും മാത്രം ഉപയോഗിച്ച് തുടങ്ങുക, ആവശ്യമുള്ളിടത്ത് മാത്രം L7 സവിശേഷതകൾ ചേർക്കുക, അത് അതിന്റെ സ്ഥാനം നേടുന്നുണ്ടോ എന്ന് കാണുക.

എന്റെ അഭിപ്രായം: ഒരു മെഷ് ഒരു വലിയ പ്രതിബദ്ധതയായിരുന്നു. സൈഡ് വണ്ടികളില്ലാതെ, ഒടുവിൽ ഒരു ചെറിയ ചുവട് കൊണ്ട് സ്വീകരിക്കാവുന്ന ഒരു കാര്യമായി.

ഡെസ്ലി