എല്ലാത്തിനും നിയന്ത്രണ വിമാനമായി കുബർനെറ്റസ്: ക്രോസ്പ്ലൈൻ v2
ഒരു ആപ്ലിക്കേഷൻ വിന്യസിക്കുന്ന അതേ രീതിയിൽ ഡെവലപ്പർമാർക്ക് ഒരു ഡാറ്റാബേസ് ഓർഡർ ചെയ്യാമെങ്കിൽ?
ഒരു ആപ്ലിക്കേഷൻ വിന്യസിക്കുന്ന അതേ രീതിയിൽ ഡെവലപ്പർമാർക്ക് ഒരു ഡാറ്റാബേസ് ഓർഡർ ചെയ്യാമെങ്കിൽ?

ഇതാ ഒരു സാധാരണ സാഹചര്യം. ഒരു ഡെവലപ്പര് ക്ക് പുതിയ സേവനത്തിന് ഒരു ഡാറ്റാബേസ് വേണം. അവര് ഒരു ടിക്കറ്റ് തുറക്കുന്നു. ഓപ്പറേഷന് ടീമിലെ ആരോ ടെറഫോർം എഴുതി, ഒരു പിൻ അഭ്യർത്ഥന തുറന്നു, അവലോകനം കാത്തിരിക്കുന്നു, അത് പ്രയോഗിക്കുന്നു, കണക്ഷന് വിശദാംശങ്ങള് തിരികെ അയയ്ക്കുന്നു. രണ്ടു ദിവസം കഴിഞ്ഞപ്പോൾ, ഡെവലപ്പര് ക്ക് ഒടുവിൽ തുടങ്ങാം.
ക്രോസ്പ്ലെയ്ൻ മറ്റൊരു ചോദ്യം ചോദിക്കുന്നു: ഡെവലപ്പർക്ക് ഒരു ചെറിയ YAML ഫയൽ എഴുതാൻ കഴിയുമെങ്കിൽ, അവർ അവരുടെ ആപ്ലിക്കേഷൻ വിന്യസിക്കുന്ന അതേ രീതിയിൽ, കുറച്ച് മിനിറ്റ് കഴിഞ്ഞ് ശരിയായി ക്രമീകരിച്ച ഡാറ്റാബേസ് ലഭിക്കുമോ?
കുബർനെറ്റസ് ഒരു കാര്യത്തില് വളരെ നല്ലതാണ്: നിങ്ങള് ക്ക് വേണ്ടത് വിവരിക്കുക, നിയന്ത്രകർ യാഥാര് ത്ഥ്യവുമായി പൊരുത്തപ്പെടുന്നതുവരെ പ്രവർത്തിക്കുന്നു. ക്രോസ്പ്ലെയ്ന് ആ ആശയത്തെ കണ്ടെയ്നറുകളിലേക്കുള്ള പരിധിക്ക് അപ്പുറത്തേക്ക് വ്യാപിപ്പിക്കുന്നു. ഇത് ക്ലൌഡ് റിസോഴ്സുകൾ സൃഷ്ടിക്കുകയും നിയന്ത്രിക്കുകയും ചെയ്യുന്ന കൺട്രോളറുകൾ ചേർക്കുന്നു: ഡാറ്റാബേസുകൾ, ബക്കറ്റുകൾ, ക്യൂകൾ, നെറ്റ്വർക്കുകൾ, ഡിഎൻഎസ് റെക്കോർഡുകൾ. നിങ്ങൾ YAML എഴുതുന്നു, ക്രോസ്പ്ലൈൻ AWS, Azure അല്ലെങ്കിൽ Google Cloud എന്നിവയുമായി സംസാരിക്കുന്നു, നിങ്ങൾ വിവരിച്ചിരിക്കുന്ന അവസ്ഥയിൽ റിസോഴ്സ് നിലനിർത്തുന്നു.
ശരിക്കും രസകരമായ കാര്യം, അത് പച്ചയായ ക്ലൌഡ് റിസോഴ്സുകൾ കൈകാര്യം ചെയ്യലല്ല. അത് നിങ്ങളുടെ സ്വന്തം API കൾ നിർമ്മിക്കുക അവരുടെ മുകളില് .
ക്രോസ്പ്ലൈനില് , പ്ലാറ്റ്ഫോം ടീം ഒരു ലളിതവും കമ്പനി പ്രത്യേകവുമായ റിസോഴ്സ് നിർവചിക്കുന്നു, ഉദാഹരണത്തിന് Database, വികസന പ്രവർത്തകർ ശ്രദ്ധിക്കേണ്ട മേഖലകളുമായി മാത്രം:
apiVersion: platform.example.com/v1alpha1
kind: Database
metadata:
name: orders-db
namespace: shop
spec:
engine: postgres
size: small
ഒരു പ്രമുഖൻ ഘടന കമ്പനി ആവശ്യപ്പെടുന്ന എല്ലാ കാര്യങ്ങളും അത് മാറ്റുന്നു: ശരിയായ പതിപ്പുള്ള ഒരു RDS ഇൻസ്റ്റൻസും, എൻക്രിപ്ഷനും, ബാക്കപ്പുകളും, ഒരു സബ്നെറ്റ് ഗ്രൂപ്പും, സുരക്ഷാ ഗ്രൂപ്പ് നിയമങ്ങളും, നിരീക്ഷണവും, കണക്ഷൻ വിശദാംശങ്ങളുള്ള ഒരു Kubernetes രഹസ്യവും. ഡെവലപ്പര് അഞ്ചു വരികള് കാണുന്നു. ബാക്കി 200 പേരെ നിയന്ത്രിക്കുന്നത് പ്ലാറ്റ്ഫോം ടീമാണ്.
ആ കസ്റ്റം റിസോഴ്സിന്റെ സ്കീമ ഒരു കോമ്പോസിറ്റ് റിസോഴ്സ് നിർവചനം (XRD). അവിടെയാണ് അനുവദനീയമായത് നിശ്ചയിക്കുന്നത്: ഒരുപക്ഷേ മാത്രം small, medium ഒപ്പം large, ചിലപ്പോൾ പോസ്റ്റ് ഗ്രേസ് മാത്രം.
ക്രോസ്പ്ലെയ്ൻ പ്ലാറ്റ്ഫോം ടീമിനെ ഒരു വിക്കി പേജിനേക്കാൾ ഒരു എപിഐ ആയി മാറ്റാൻ അനുവദിക്കുന്നു.
ക്രോസ്പ്ലെയ്ൻ v2 മോഡലിനെ ചില പ്രധാനപ്പെട്ട വഴികളിൽ ലളിതമാക്കി:
കുറച്ച് വര് ഷങ്ങള് ക്ക് മുമ്പ് ക്രോസ്പ്ലെയ്ന് പരീക്ഷിച്ചു കണ്ടാല് അത് ഭാരമുള്ളതാണെന്ന് തോന്നിയിരുന്നെങ്കില് , വി 2 വീണ്ടും നോക്കേണ്ടതാണ്.
ഈ ചോദ്യം എപ്പോഴും ഉയരുന്നു, സത്യസന്ധമായ ഉത്തരം ഇതാണ്: അവർ വ്യത്യസ്ത കാര്യങ്ങളിൽ നല്ലവരാണ്.
ടെറാഫോർം (അല്ലെങ്കിൽ ഓപ്പൺ ടോഫു) പ്ലാറ്റ്ഫോം ടീം സ്വന്തമാക്കിയതും മനഃപൂർവ്വം മാറ്റുന്നതുമായ അടിസ്ഥാന സൌകര്യങ്ങൾക്ക് ഇത് വളരെ നല്ലതാണ്: നെറ്റ്വർക്കുകൾ, ക്ലസ്റ്ററുകൾ, അക്കൌണ്ടുകൾ. നീ ഓടിക്കുമ്പോൾ അത് ഓടുന്നു, ഒരു പ്ലാൻ കാണിക്കുന്നു, പിന്നെ നിർത്തുന്നു.
ക്രോസ്പ്ലെയിൻ പല ടീമുകൾക്കും ആവശ്യമുള്ള സ്വയം സേവന വിഭവങ്ങൾക്കായി ഇത് വളരെ മികച്ചതാണ്: ഡാറ്റാബേസുകൾ, ബക്കറ്റുകൾ, ഓരോ സേവനത്തിനും ക്യൂകൾ. ഇത് തുടർച്ചയായി പ്രവർത്തിക്കുന്നു, സ്വപ്രേരിതമായി ഡ്രിഫ്റ്റ് പരിഹരിക്കുന്നു, ഒപ്പം ഗിറ്റോ ഓപ്സുകളിലേക്കും അര് ഗോ സിഡി അല്ലെങ്കിൽ ഫ്ലക്സ് ഉപയോഗിച്ച് ചേരുന്നു.
പല ടീമുകളും രണ്ടും ഉപയോഗിക്കുന്നു. ടെറാഫോർം അടിസ്ഥാനം പണിയുന്നു, ക്രോസ്പ്ലെയ്ൻ പ്രവർത്തിപ്പിക്കുന്ന ക്ലസ്റ്റർ ഉൾപ്പെടെ. ക്രോസ്പ്ലെയിന് മുകളില് സ്വയം സേവന പാളി നല് കുന്നു.
ഞാന് ആദ്യമായി ക്രോസ്പ്ലെയ്ന് പരീക്ഷിക്കുകയാണെങ്കില് , ഞാന് സ്കോപ്പ് ചെറുതായി സൂക്ഷിക്കും:
Database രണ്ടു വയലുകളുള്ള ഒരു സ്ഥലം.Database ഒരു നാമമേഖലയില് കാണുക, അത് നിങ്ങളുടെ ക്ലൌഡ് കൺസോളില് ദൃശ്യമാകും.പിന്നെ ഒരു ഡെവലപ്പര് ക്ക് കാണിച്ചു അത് ഉപകാരപ്രദമാണോ എന്ന് ചോദിക്കുക. ആ സംഭാഷണം ഏത് വാസ്തുവിദ്യാ രേഖാചിത്രത്തേക്കാളും വിലപ്പെട്ടതാണ്.
kubectl describe ക്രോസ്പ്ലെയ്നിന്റെ ട്രെയ്സിംഗ് ടൂളുകളും നേരത്തെ തന്നെ.എന്റെ അഭിപ്രായം: ക്രോസ്പ്ലെയ്ൻ നിങ്ങളുടെ സ്വന്തം പ്ലാറ്റ്ഫോം API നിർമ്മിക്കാനുള്ള ഒരു മാർഗമായി നിങ്ങൾ അതിനെ കാണുമ്പോൾ പ്രകാശിക്കുന്നു, അടിസ്ഥാനസൌകര്യങ്ങൾ എഴുതാനുള്ള മറ്റൊരു മാർഗമല്ല.
ഡെസ്ലി