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

സെര് വറിലെ വെബ്അസംബ്ലി: ഹൈപ്പ് അല്ലെങ്കിൽ ഭാവി?

ആമ ബ്രൌസറിൽ നിന്നും രക്ഷപ്പെട്ടു. അടുത്ത കണ്ടെയ്നറാണോ?

WebAssembly on the server: hype or future?
AI ഉപയോഗിച്ച് സൃഷ്ടിച്ച ചിത്രീകരണം

2019 ൽ ഡോക്കർ സഹസ്ഥാപകൻ സോളമൻ ഹൈക്സ് ഒരു പോസ്റ്റ് പോസ്റ്റ് ചെയ്തു. അതിനുശേഷം പലരും ഉദ്ധരിച്ച ഒരു പോസ്റ്റ് ഇതാണ്. വെബ് അസംബ്ലിയും വാസിയും 2008 ൽ ഉണ്ടായിരുന്നെങ്കിൽ അവർക്ക് ഡോക്കർ സൃഷ്ടിക്കേണ്ടി വരില്ലായിരുന്നു. അത് വലിയ അവകാശവാദമാണ്. വർഷങ്ങൾക്കു ശേഷം, സെർവർ സൈഡ് വെബ് അസംബ്ലി എവിടെയാണ് നിലകൊള്ളുന്നത്?

ബ്രൌസറിനു പുറത്തുള്ള വാം

വെബസെംബ്ലി (വാസ്ം) വേഗത്തിൽ പ്രവർത്തിപ്പിക്കാനുള്ള ഒരു മാർഗമായി തുടങ്ങിയത്, വെബ് ബ്രൌസറുകളിലെ കോഡ് സമാഹരിച്ചതാണ്: ഗെയിമുകൾ, വീഡിയോ എഡിറ്റർമാർ, ഡിസൈൻ ടൂളുകൾ. പല ഭാഷകൾക്കും (റസ്റ്റ്, സി/സി++, ഗോ, സി#, സിഗ്, മറ്റുള്ളവ) കംപൈൽ ചെയ്യാൻ കഴിയുന്ന ഒരു കോംപാക്ട് ബൈനറി ഫോർമാറ്റാണ് ഇത്, ഇത് ഒരു സാൻഡ്ബോക്സ്ഡ് വിർച്വൽ മെഷീനിൽ പ്രവർത്തിക്കുന്നു.

ബ്രൌസറുകളില് ഇത് വളരെ മികച്ചതാക്കുന്ന സവിശേഷതകൾ സെര് വറുകളിലും വളരെ രസകരമായിത്തീരുന്നു:

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

ബ്രൌസറിനു പുറത്ത് പ്രവർത്തിക്കാൻ, Wasm ന് സിസ്റ്റവുമായി സംസാരിക്കാനുള്ള ഒരു മാർഗം വേണം: ഫയലുകൾ, ക്ലോക്കുകൾ, സോക്കറ്റുകൾ. അതാണു വസീ (വെബ് അസംബ്ലി സിസ്റ്റം ഇന്റർഫേസ്). WASI 0.2 അവതരിപ്പിച്ചു ഘടക മോഡൽ, വ്യത്യസ്ത ഭാഷകളില് എഴുതിയ വാസ്മ് ഘടകങ്ങള് നന്നായി നിർവചിക്കപ്പെട്ട ഇന്റർഫേസുകളിലൂടെ ഒരുമിച്ചു പ്രവർത്തിക്കാൻ അനുവദിക്കുന്നു. കൂടുതൽ പതിപ്പുകൾ അസ്യ്ൻക് പിന്തുണയും അതിലേറെയും ചേർക്കുന്നു.

നിങ്ങളുടെ ആപ്പിന്റെ ചുറ്റും ഒരു ഓപ്പറേറ്റിങ് സിസ്റ്റം പാക്കേജ് ചെയ്യുന്നതാണ് കണ്ടെയ്നറുകൾ. വാസ്ം നിങ്ങളുടെ ആപ്പ് മാത്രം പാക്കേജ് ചെയ്യുന്നു, മറ്റെല്ലാത്തിനും അനുമതി ചോദിക്കുന്നു.

കുബർനെറ്റസിൽ പ്രവർത്തിപ്പിക്കുന്നു

വാസ്മിന് നിങ്ങളുടെ പ്ലാറ്റ്ഫോമിനെ മാറ്റി വയ്ക്കേണ്ട ആവശ്യമില്ല. ഇത് കണ്ടെയ്നറുകളോടൊപ്പം ഓടാം:

  • കണ്ടെയ്നർ ഷിംസ് (റൺവാസി പ്രോജക്ട് പോലുള്ളവ) കുബർനെറ്റുകളെ സാധാരണ റൺവേയിലൂടെ പ്രവർത്തിപ്പിക്കാൻ അനുവദിക്കുക. RuntimeClass. ഒരു കൺടെയിനര് ഇമേജിനു പകരം ഒരു വോസ്ം മോഡുലാണ് ഒരു പാഡ് പ്രവർത്തിപ്പിക്കുക.
  • സ്പിൻകുബ് ഉപയോഗിച്ച് നിർമ്മിച്ച ആപ്ലിക്കേഷനുകൾ പ്രവർത്തിപ്പിക്കുന്നു സ്പിൻ വളരെ ഉയർന്ന സാന്ദ്രതയും വേഗത്തിലുള്ള സ്കേലിംഗും ഉള്ള Kubernetes- ൽ.
  • വാസ്എംക്ലൌഡ് (സിഎൻസിഎഫ് ഇൻകുബേഷൻ പ്രോജക്ട്) എന്നത് ക്ലൌഡുകളിലും എഡ്ജിലും കുബർനെറ്റുകളിലും വിതരണം ചെയ്ത വാസ്ം ആപ്ലിക്കേഷനുകൾക്കുള്ള ഒരു പ്ലാറ്റ്ഫോമാണ്.
  • വാസ്ം മൊഡ്യൂളുകള് സംഭരിക്കാന് കഴിയും ഒസിഐ രജിസ്റ്ററുകൾകണ്ടെയ്നര് ചിത്രങ്ങള് പോലെ തന്നെ.
apiVersion: node.k8s.io/v1
kind: RuntimeClass
metadata:
  name: wasmtime-spin
handler: spin
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-wasm
spec:
  replicas: 3
  selector:
    matchLabels: { app: hello-wasm }
  template:
    metadata:
      labels: { app: hello-wasm }
    spec:
      runtimeClassName: wasmtime-spin
      containers:
      - name: hello
        image: ghcr.io/acme/hello-wasm:1.0.0
        command: ["/"]

എവിടെയാണ് അത് ചേരുന്നത്?

നിങ്ങൾ ശ്രദ്ധിക്കാത്ത ചില സ്ഥലങ്ങളിൽ വാസ്മിന്റെ ഉത്പാദനം നടക്കുന്നുണ്ട്:

  • എഡ്ജ് കമ്പ്യൂട്ടിംഗ്: ക്ലൌഡ്ഫ്ലെയർ വർക്കർമാർ, ഫാസ്റ്റി കമ്പ്യൂട്ട്, മറ്റ് എഡ്ജ് പ്ലാറ്റ്ഫോമുകൾ എന്നിവ വേഗത്തിൽ ആരംഭിക്കുന്നതിനും ശക്തമായ ഒറ്റപ്പെടലിനും കാരണം വാസ്ം (അല്ലെങ്കിൽ സമാനമായ ഒറ്റപ്പെടലുകൾ) പ്രവർത്തിപ്പിക്കുന്നു. കോഡ് ഉപയോക്താക്കളുടെ അടുത്ത് പ്രവർത്തിക്കുന്നു, ഒരു തണുത്ത സ്റ്റാർട്ടും ഇല്ല.
  • പ്ലഗിനുകളും വിപുലീകരണങ്ങളും: ഹെൽം 4 ന്റെ പ്ലഗിൻ സിസ്റ്റം പോലുള്ള പ്രോക്സി ഫിൽട്ടറുകളും ഡാറ്റാബേസ് എക്സ്റ്റൻഷനുകളും സുരക്ഷിതമായി മൂന്നാം കക്ഷി കോഡ് പ്രവർത്തിപ്പിക്കാൻ Wasm ഉപയോഗിക്കുന്നു.
  • സെർവർ രഹിത പ്രവർത്തനങ്ങൾ തണുപ്പ് തുടങ്ങുന്നിടത്ത് തന്നെ കാര്യം തുടങ്ങുന്നു.
  • മൾട്ടി-ടൈൻമെന്റ് പ്ലാറ്റ്ഫോമുകൾ വിശ്വസനീയമല്ലാത്ത ഉപയോക്തൃ കോഡ് സുരക്ഷിതമായി പ്രവർത്തിപ്പിക്കേണ്ടതുണ്ട്.
  • ഐ. ഒ. ടി. യും ഉൾച്ചേർത്തതും പരിമിതമായ വിഭവങ്ങളുള്ള ഉപകരണങ്ങള് .

എവിടെയാണെങ്കിലും

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

ഹൈപ്പ് അല്ലെങ്കിൽ ഭാവി?

രണ്ടും, സത്യസന്ധമായി. മിക്ക ജോലികള് ക്കും ഈ അടുത്ത കാലത്തൊന്നും വാസ്ം കണ്ടെയ്നറുകളെ മാറ്റിസ്ഥാപിക്കില്ല. കണ്ടെയ്നറുകൾ ഒരു വലിയ പ്രശ്നം പരിഹരിച്ചു. അവ എല്ലായിടത്തും ഉണ്ട്. പക്ഷെ Wasm എന്നത് വ്യക്തമായി ചില മേഖലകളിലെ ഭാവി ആണ്: എഡ്ജ്, പ്ലഗിനുകൾ, ഉയർന്ന സാന്ദ്രതയുള്ള സെർവർലെസ്സ്, വിശ്വസനീയമല്ലാത്ത കോഡിന്റെ സുരക്ഷിത നടപ്പാക്കൽ. ആ പ്രദേശങ്ങള് വളരുകയാണ്.

ഡെവ് ഒപ്സ് എഞ്ചിനീയർമാർക്ക്, ഇത് ഇപ്പോൾ മനസ്സിലാക്കേണ്ടതാണ്: ഇത് എങ്ങനെ കുബർനെറ്റസിൽ പ്രവർത്തിക്കുന്നു, ഇത് എങ്ങനെ ഒസിഐ രജിസ്ട്രികളിൽ പാക്കേജുചെയ്തിരിക്കുന്നു, നിങ്ങളുടെ സ്റ്റാക്കിൽ എവിടെ കാണാനാകും.

എന്റെ അഭിപ്രായം, അടുത്ത കണ്ടെയ്നർ വോസ് അല്ല. ഒരു കണ്ടെയ്നര് വളരെ ഭാരമുള്ളതോ വളരെ വേഗത കുറഞ്ഞതോ വളരെ ആത്മവിശ്വാസമുള്ളതോ ആയ സന്ദര് ഭത്തില് നിങ്ങള് ക്ക് അത് കിട്ടും.

ഡെസ്ലി