ഞാൻ ബാക്ക് സ്റ്റേജ് സജ്ജമാക്കി. ഇതാ സംഭവിച്ചത്
ഒരു സോഫ്റ്റ് വെയര് കാറ്റലോഗ്, ഒരു ടെംപ്ലേറ്റ്, ഡോക്യുമെന്റേഷനുകള് എല്ലാം ഒരു സ്ഥലത്ത്. ആരും മുന്നറിയിപ്പ് നൽകാത്ത ഭാഗങ്ങളും.
ഒരു സോഫ്റ്റ് വെയര് കാറ്റലോഗ്, ഒരു ടെംപ്ലേറ്റ്, ഡോക്യുമെന്റേഷനുകള് എല്ലാം ഒരു സ്ഥലത്ത്. ആരും മുന്നറിയിപ്പ് നൽകാത്ത ഭാഗങ്ങളും.

പ്ലാറ്റ്ഫോം എഞ്ചിനീയറിംഗിനെ കുറിച്ചുള്ള എല്ലാ സംഭാഷണങ്ങളിലും ബാക്ക്സിസ് വരുന്നുണ്ട്. സ്പോട്ടിഫൈ അത് നിർമ്മിച്ചു, ഓപ്പൺ സോഴ്സ് ചെയ്തു, സിഎൻസിഎഫിന് സംഭാവന ചെയ്തു, ഇപ്പോൾ അത് "എങ്ങനെ ഒരു ഡെവലപ്പർ പോർട്ടൽ നിർമ്മിക്കും" എന്ന ചോദ്യത്തിനുള്ള സ്ഥിര ഉത്തരം ആണ്.
എനിക്ക് അറിയണം, കോൺഫറൻസ് ഡെമോകൾക്കപ്പുറം ഓടുന്നതിലെ അനുഭവം. അങ്ങനെ ഞാൻ അത് ഒന്നുമുതൽ ആരംഭിച്ചു ഒരു യാഥാർത്ഥ്യബോധമുള്ള ലക്ഷ്യത്തോടെ: ഒരു സേവന കാറ്റലോഗ്, ഒരു സോഫ്റ്റ്വെയർ ടെംപ്ലേറ്റ്, ഒരേ സ്ഥലത്ത് ഡോക്യുമെന്റേഷൻ.
ബാക്ക് സ്റ്റേജ് പരിഹരിക്കുന്ന പ്രശ്നം വളരെ യഥാർത്ഥമാണ്. മിക്ക കമ്പനികളിലും ലളിതമായ ചോദ്യങ്ങൾക്ക് പെട്ടെന്ന് ഉത്തരം പറയാൻ ആരുമില്ല. ഈ സേവനം ആരുടെ ഉടമസ്ഥതയിലുള്ളതാണ്? അതിന്റെ രേഖകൾ എവിടെ? ഏത് പൈപ്പ്ലൈൻ ആണ് ഇത് വിന്യസിക്കുന്നത്? അത് എന്തിനെ ആശ്രയിച്ചിരിക്കുന്നു?
വിക്കികളിലും, സ്പ്രെഡ്ഷീറ്റുകളിലും, സ്ലാക്ക് ത്രെഡുകളിലും, ആളുകളുടെ മെമ്മറിയിലും ഉത്തരങ്ങൾ ചിതറിക്കിടക്കുന്നു. എല്ലാം കണ്ടെത്താന് ഒരു സ്ഥലം വാഗ്ദാനം ചെയ്യുന്നു.
ഒരു പ്രാദേശിക ഇൻസ്റ്റൻസിനു വേണ്ടി ശ്രമിക്കുന്നത് എളുപ്പമാണ്. നിനക്കൊരു Node.js ഉം Yarn ഉം വേണം, പിന്നെ:
npx @backstage/create-app@latest
cd my-backstage-app
yarn start
കുറച്ച് മിനിറ്റിനു ശേഷം ഒരു പോർട്ടൽ ഉണ്ട് localhost:3000. ആദ്യത്തെ ആശ്ചര്യം: നിങ്ങൾ സൃഷ്ടിച്ചതൊന്നും നിങ്ങൾ ക്രമീകരിച്ച ഉൽപ്പന്നമല്ല. അത് നിങ്ങള് ക്കുള്ള ഒരു ആപ്ലിക്കേഷനാണ്. ഇനി മുതൽ നിങ്ങള് ഒരു ടൈപ്പ് സ്ക്രിപ്റ്റ് കോഡ് ബേസ് നിലനിര് ത്തും.
ഓരോ റിപ്പോസിറ്ററിയിൽ നിന്നും ഒരു ചെറിയ YAML ഫയൽ വായിച്ച് കാറ്റലോഗ് പ്രവർത്തിക്കുന്നുഃ
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: shop-api
description: Handles orders and payments
annotations:
github.com/project-slug: my-org/shop-api
spec:
type: service
lifecycle: production
owner: team-checkout
ഇത് കൂടി ചേർക്കുക. catalog-info.yaml ഓരോ റിപ്പോയിലും, നിങ്ങളുടെ ഗിറ്റ്ഹബ് ഓർഗനൈസേഷനിൽ ബാക്ക്സ്റ്റേജ് പോയിന്റ് ചെയ്യുക, സേവനങ്ങൾ ദൃശ്യമാകാൻ തുടങ്ങും. ഈ ഭാഗം ശരിക്കും നല്ലതായിരുന്നു. ഓരോ സേവനവും അതിന്റെ ഉടമയും ലിങ്കുകളും ഒരു ലിസ്റ്റിൽ കാണുന്നത് ഇതിനകം ഉപയോഗപ്രദമാണ്.
ടെംപ്ലേറ്റുകളാണ് ബാക്ക് സ്റ്റേജ് ഒരു ഡയറക്ടറിയല്ല, ഒരു പ്ലാറ്റ്ഫോമായി മാറുന്നത്. ഒരു ടെംപ്ലേറ്റ് ഒരു ഫോം ആണ്, ഒരു കൂട്ടം ഘട്ടങ്ങൾ കൂടി: ഡെവലപ്പറിന് കുറച്ച് ചോദ്യങ്ങൾ ചോദിക്കുക, ഒരു സ്കെയിൽ കോപ്പി ചെയ്യുക, മൂല്യങ്ങൾ പൂരിപ്പിക്കുക, ഒരു റിപ്പോസിറ്ററി സൃഷ്ടിക്കുക, കാറ്റലോഗിൽ രജിസ്റ്റർ ചെയ്യുക.
YAML ടെംപ്ലേറ്റ് ഉപയോഗിക്കാൻ കുറച്ച് സമയമെടുക്കും, പക്ഷേ ഫലം വളരെ മികച്ചതാണ്: ഒരു ഡെവലപ്പർ ഒരു പേരും ഒരു ടീമും പൂരിപ്പിക്കുന്നു, "സൃഷ്ടിക്കുക" ക്ലിക്കുചെയ്യുന്നു, ഒരു പൈപ്പ്ലൈനും ഒരു കാറ്റലോഗ് എൻട്രിയും ഉള്ള ഒരു പുതിയ റിപ്പോ ലഭിക്കുന്നു. അതാണ് ആക്ഷനിലെ സുവർണ പാത.
പ്ലഗിൻ പരിസ്ഥിതി വ്യവസ്ഥിതി വളരെ വലുതാണ്. ആദ്യം ഞാൻ കൂട്ടിച്ചേർക്കുന്നത്:
ബാക്ക് സ്കീസില് ഒരു ആപ്ലിക്കേഷൻ ഇൻസ്റ്റോൾ ചെയ്യുന്നതു പോലെയല്ല, ഒരു വളര് ന്ന മൃഗത്തെ ദത്തെടുക്കുന്നതു പോലെയാണ്. അത് വളരെ മനോഹരമാണ്, പക്ഷെ ഓരോ ആഴ്ചയും അത് ഭക്ഷണം കഴിക്കണം.
ഇത് ഒരു ചട്ടക്കൂട് ആണ്, ഒരു ഉൽപ്പന്നമല്ല. അടിസ്ഥാനകാര്യങ്ങൾക്കപ്പുറം എന്തെങ്കിലും ചെയ്താല് അത് ടൈപ്പ് സ്ക്രിപ്റ്റും റിഅക്ട് എഴുത്തും ആണ്. നിങ്ങളുടെ ടീമിന് മുൻനിര കഴിവുകളില്ലെങ്കിൽ, അതിനായി പ്ലാൻ ചെയ്യുക.
അപ്ഗ്രേഡുകള് ക്ക് പരിശ്രമം വേണം. തിരശ്ശീലയ്ക്ക് പിന്നില് കാര്യങ്ങൾ പെട്ടെന്ന് നടക്കുന്നു. പുതിയ പതിപ്പുകളുമായി പൊരുത്തപ്പെടുകയും പുതിയ ബാക്ക് എൻഡ്, ഫ്രണ്ട് എൻഡ് സംവിധാനങ്ങളിലേക്ക് മാറുകയും ചെയ്യുന്നത് തുടരുന്ന ജോലിയാണ്.
കാറ്റലോഗ് വഴുതിവീഴുന്നു. ഉടമസ്ഥര് മാറുന്നു, സേവനങ്ങള് വിരമിക്കുന്നു, YAML ഫയലുകൾ കാലഹരണപ്പെടുന്നു. ഡാറ്റയുടെ ഗുണനിലവാരത്തെക്കുറിച്ച് ആരെങ്കിലും ശ്രദ്ധിക്കാതെ, കാറ്റലോഗ് പതുക്കെ അടുത്ത കാലഹരണപ്പെട്ട വിക്കിയായി മാറുന്നു.
ആധികാരികതയും അനുമതികളും ഒരു ഡെമോയ്ക്കു പുറത്ത് അത് വിന്യസിക്കാന് സാധിക്കുന്നതിന് മുമ്പ് യഥാർത്ഥ കോൺഫിഗറേഷന് ആവശ്യമാണ്.
പല ടീമുകളും ഡസൻ കണക്കിന് സേവനങ്ങളുമുള്ള ഒരു കമ്പനിക്ക്, അതെ. ഒരിക്കൽ അത് സജ്ജീകരിച്ചുകഴിഞ്ഞാൽ, അത് ശക്തമായ ഒരു അടിത്തറയാണ്, മറ്റൊരു ഓപ്പൺ സോഴ്സും അതിനോട് അടുപ്പിക്കുന്നില്ല.
പത്ത് സെര് വിറ്റുകളുള്ള ഒരു ചെറിയ ടീമിന് , ഇതുവരെ അല്ല. ഒരു നല്ല README ടെംപ്ലേറ്റും നിങ്ങളുടെ വിക്കിയിലെ സേവനങ്ങളുടെ പട്ടികയും നിങ്ങൾക്ക് 5% ശ്രമത്തിന്റെ മൂല്യത്തിന്റെ 80% നൽകും. ഒരു പോർട്ടൽ പ്രവർത്തിപ്പിക്കാതെ വേണമെങ്കിൽ, SaaS ഓപ്ഷനുകൾ നോക്കൂ.
എന്റെ അഭിപ്രായം: നിങ്ങളുടെ പോർട്ടൽ നിർമ്മിക്കാനുള്ള മികച്ച പ്ലാറ്റ്ഫോമാണ് ബാക്ക് സ്റ്റേജ്, നിങ്ങൾ ഓണാക്കുന്ന പോർട്ടലല്ല. അത് അറിയുന്നതിലൂടെ പോകൂ, അത് വിലമതിക്കുന്നു.
ഡെസ്ലി