𝗦𝘁𝗼𝗽 𝗥𝗲𝗶𝗻𝘃𝗲𝗻𝘁𝗶𝗻𝗴 𝗕𝗼𝗶𝗹𝗲𝗿𝗽𝗹𝗮𝘁𝗲: 𝗠𝗼𝗱𝗲𝗿𝗻 𝗪𝗲𝗯 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗺𝗲𝗻𝘁 𝗜𝘀 𝗔𝗯𝗼𝘂𝘁 𝗢𝗿𝗰𝗵𝗲𝘀𝘁𝗿𝗮𝘁𝗶𝗼𝗻

ಅನೇಕ ಅಭಿವರ್ಧಕರು (developers) ಎಲ್ಲವನ್ನೂ ಮೊದಲಿನಿಂದಲೇ (from scratch) ನಿರ್ಮಿಸುವ ಅಭ್ಯಾಸವನ್ನು ಹೊಂದಿದ್ದಾರೆ.

ಅವರು ಕಸ್ಟಮ್ ಅಡ್ಮಿನ್ ಪ್ಯಾನೆಲ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುತ್ತಾರೆ. ಕಸ್ಟಮ್ ಅಥೆಂಟಿಕೇಶನ್ (authentication) ಬರೆಯುತ್ತಾರೆ. ಕಸ್ಟಮ್ ಡಿಪ್ಲಾಯ್ಮೆಂಟ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ರಚಿಸುತ್ತಾರೆ. ಕಸ್ಟಮ್ ಲಾಗಿಂಗ್ ಅನ್ನು ನಿರ್ಮಿಸುತ್ತಾರೆ.

ಇದು ಎಂಜಿನಿಯರಿಂಗ್‌ನಂತೆ ಭಾಸವಾಗುತ್ತದೆ. ಇದು ನಿಯಂತ್ರಣದಲ್ಲಿರುವಂತೆ ಭಾಸವಾಗುತ್ತದೆ.

ಆದರೆ ಈ ವಿಧಾನವು ಸಮಸ್ಯೆಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ.

ನೀವು ನಿಮ್ಮದೇ ಆದ ಬಾಯ್ಲರ್‌ಪ್ಲೇಟ್ ಅನ್ನು ಬರೆಯುವಾಗ, ಮೊದಲ ಆವೃತ್ತಿಯು ಚೆನ್ನಾಗಿ ಕಾಣಿಸುತ್ತದೆ. ಆರು ತಿಂಗಳ ನಂತರ, ನೀವು ಅದನ್ನು ಏಕೆ ಹಾಗೆ ವಿನ್ಯಾಸಗೊಳಿಸಿದ್ದೀರಿ ಎಂಬುದು ಯಾರಿಗೂ ನೆನಪಿರುವುದಿಲ್ಲ. ಒಂದು ವರ್ಷದ ನಂತರ, ಯೋಜನೆಯಲ್ಲಿ ಯಾರೂ ಮುಟ್ಟಲು ಬಯಸದ ಎಡ್ಜ್ ಕೇಸ್‌ಗಳು (edge cases) ಉಂಟಾಗುತ್ತವೆ. ಮೂರು ವರ್ಷಗಳ ನಂತರ, ಸಿಸ್ಟಮ್ ಲೆಗಸಿ (legacy) ಆಗುತ್ತದೆ. ಅದನ್ನು ಬದಲಾಯಿಸುವುದು ಕಷ್ಟವಾಗುತ್ತದೆ.

ಆಧುನಿಕ ವೆಬ್ ಅಭಿವೃದ್ಧಿಯು ಪ್ರತಿಯೊಂದು ಭಾಗವನ್ನು ಮೊದಲಿನಿಂದ ಬರೆಯುವುದರ ಬಗ್ಗೆ ಅಲ್ಲ. ಇದು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದು ಮತ್ತು ಸಂಯೋಜಿಸುವುದರ ಬಗ್ಗೆ ಆಗಿದೆ.

• ಅಥೆಂಟಿಕೇಶನ್‌ಗಾಗಿ ಪರಿಪಕ್ವ ಪ್ರೊವೈಡರ್‌ಗಳನ್ನು ಬಳಸಿ. • ಪಾವತಿಗಳಿಗಾಗಿ Stripe ಅಥವಾ Paddle ಬಳಸಿ. • ಇಮೇಲ್ ವಿತರಣೆ ಮತ್ತು ಅನಾಲಿಟಿಕ್ಸ್ ಅನ್ನು ಇತರರಿಗೆ ವಹಿಸಿ. • ಸರ್ಚ್, ಫೈಲ್ ಸ್ಟೋರೇಜ್ ಮತ್ತು ಎರರ್ ಟ್ರ್ಯಾಕಿಂಗ್‌ಗಾಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪರಿಕರಗಳನ್ನು ಬಳಸಿ.

ನಿಮ್ಮ ಕೆಲಸ ಬದಲಾಗುತ್ತಿದೆ. ನೀವು ಕೇವಲ ಕೋಡ್ ಬರೆಯುತ್ತಿಲ್ಲ. ನೀವು:

ನೀವು ಹೊಂದಿರುವ ಪ್ರತಿಯೊಂದು ಕೋಡ್ ಸಾಲು ಕೂಡ ನೀವು ಡಿಬಗ್ (debug), ಪರೀಕ್ಷಿಸಬೇಕಾದ, ಸುರಕ್ಷಿತಗೊಳಿಸಬೇಕಾದ ಮತ್ತು ವಿವರಿಸಬೇಕಾದ ಸಾಲಾಗಿದೆ. ಅನಗತ್ಯ ಕೋಡ್ ದುಬಾರಿಯಾಗುತ್ತದೆ. ಪರಿಪಕ್ವವಾದ ಬಾಹ್ಯ ಪರಿಹಾರವನ್ನು ಬಳಸುವುದರಿಂದ ನಿಮ್ಮ ತಂಡವು ಸಾಮಾನ್ಯ ಮೂಲಸೌಕರ್ಯಗಳ ಬದಲಿಗೆ ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ ವ್ಯವಹಾರದ ಸಮಸ್ಯೆಗಳ ಮೇಲೆ ಗಮನ ಹರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

ಖಂಡಿತವಾಗಿಯೂ, ಅಪಾಯಗಳೂ ಇವೆ. ಅವಲಂಬನೆಗಳು (Dependencies) ವೆಂಡರ್ ಲಾಕ್-ಇನ್ (vendor lock-in), ಬೆಲೆ ಬದಲಾವಣೆಗಳು ಮತ್ತು ಭದ್ರತಾ ಸಮಸ್ಯೆಗಳನ್ನು ತರಬಹುದು.

ಗುರಿ ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿರುವುದು. ಎಲ್ಲವನ್ನೂ ಡಿಫಾಲ್ಟ್ ಆಗಿ ನಿರ್ಮಿಸಬೇಡಿ. ಎಲ್ಲವನ್ನೂ ಡಿಫಾಲ್ಟ್ ಆಗಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಬೇಡಿ. ನಿಮ್ಮನ್ನು ನೀವೇ ಕೇಳಿಕೊಳ್ಳಿ: ಈ ಕೋಡ್ ನಮ್ಮ ನಿಜವಾದ ಪ್ರಯೋಜನದ ಭಾಗವೇ, ಅಥವಾ ನಾವು ಕೇವಲ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಮೂಲಸೌಕರ್ಯವನ್ನು ಮರುನಿರ್ಮಿಸುತ್ತಿದ್ದೇವೆಯೇ?

ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಅಥವಾ ಇಂಡೆಂಟ್‌ಗಳಿಗಾಗಿ ಮಾನವ ವಿಮರ್ಶೆಯ ಸಮಯವನ್ನು ವ್ಯರ್ಥ ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ಲಿಂಟರ್‌ಗಳು (linters) ಮತ್ತು ಸ್ವಯಂಚಾಲಿತ CI ಚೆಕ್‌ಗಳನ್ನು ಬಳಸಿ. ಉನ್ನತ ಮಟ್ಟದ ಪ್ರಶ್ನೆಗಳಿಗಾಗಿ ಮಾನವ ಗಮನವನ್ನು ಉಳಿಸಿಕೊಳ್ಳಿ:

ಅತ್ಯುತ್ತಮ ಕೋಡ್ ಎಂದರೆ ಕೆಲವೊಮ್ಮೆ ನೀವು ಬರೆಯದಿರಲು ನಿರ್ಧರಿಸಿದ ಕೋಡ್.

ಅತ್ಯಂತ ಮೌಲ್ಯಯುತ ಅಭಿವರ್ಧಕ ಎಂದರೆ ಅತಿ ಹೆಚ್ಚು ಬಾಯ್ಲರ್‌ಪ್ಲೇಟ್ ಬರೆಯುವವನಲ್ಲ. ಕೋಡ್‌ಬೇಸ್‌ನಲ್ಲಿ ಏನಿರಬೇಕು ಮತ್ತು ಏನಿರಬಾರದು ಎಂದು ತಿಳಿದಿರುವವನೇ ನಿಜವಾದ ಮೌಲ್ಯಯುತ ಅಭಿವರ್ಧಕ.

ಸಾಫ್ಟ್‌ವೇರ್ ದುಬಾರಿಯಾಗುವುದು ಮೊದಲ ಆವೃತ್ತಿಯಿಂದಲ್ಲ, ಬದಲಿಗೆ ದೀರ್ಘಕಾಲದ ನಿರ್ವಹಣೆಯಿಂದಾಗಿ.

ಬೋയ്‌ಲರ್‌ಪ್ಲೇಟ್ ಅನ್ನು ಮತ್ತೆ ಮತ್ತೆ ಕಂಡುಹಿಡಿಯುವುದನ್ನು ನಿಲ್ಲಿಸಿ: ಆಧುನಿಕ ವೆಬ್ ಅಭಿವೃದ್ಧಿಯು ಆರ್ಕೆಸ್ಟ್ರೇಶನ್ (orchestration) ಬಗ್ಗೆ ಆಗಿದೆ

ನಾವೆಲ್ಲರೂ ಈ ಪರಿಸ್ಥಿತಿಯನ್ನು ಅನುಭವಿಸಿದ್ದೇವೆ. ನೀವು ಹೊಸ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದಾಗ, ಒಂದು ಸಾಲು ಬಿಸಿನೆಸ್ ಲಾಜಿಕ್ ಬರೆಯುವ ಮೊದಲೇ, ನೀವು ಇವುಗಳನ್ನು ಸೆಟಪ್ ಮಾಡುತ್ತೀರಿ:

ಇದು ಬೋയ്‌ಲರ್‌ಪ್ಲೇಟ್ (boilerplate). ಮತ್ತು ಇದು ಸಮಯದ ವ್ಯರ್ಥ.

ಬದಲಾವಣೆ: ಬಿಲ್ಡರ್‌ನಿಂದ ಆರ್ಕೆಸ್ಟ್ರೇಟರ್‌ಗೆ (The Shift: From Builder to Orchestrator)

ವೆಬ್ ಅಭಿವೃದ್ಧಿಯ ಆರಂಭಿಕ ದಿನಗಳಲ್ಲಿ, ನಾವು ಎಲ್ಲವನ್ನೂ ಮೊದಲಿನಿಂದಲೇ ನಿರ್ಮಿಸಬೇಕಿತ್ತು. ನಾವು ನಮ್ಮದೇ ಆದ authentication ಸಿಸ್ಟಮ್‌ಗಳು, ನಮ್ಮದೇ ಆದ ORMಗಳು, ನಮ್ಮದೇ ಆದ ಸರ್ವರ್ ಸೆಟಪ್‌ಗಳನ್ನು ಬರೆಯುತ್ತಿದ್ದೆವು.

ಇಂದು, ಪರಿಸ್ಥಿತಿ ಬದಲಾಗಿದೆ. ನಾವು ಇವುಗಳನ್ನು ಇನ್ನು ಮುಂದೆ ನಿರ್ಮಿಸುವ ಅಗತ್ಯವಿಲ್ಲ. ನಾವು ಕೇವಲ ಅವುಗಳನ್ನು ಪರಸ್ಪರ ಜೋಡಿಸಬೇಕಷ್ಟೇ.

ಇದು ಒಬ್ಬ builder ಆಗಿರುವುದರ ಬದಲಿಗೆ ಒಬ್ಬ orchestrator ಆಗುವ ಬದಲಾವಣೆಯಾಗಿದೆ.

ಆರ್ಕೆಸ್ಟ್ರೇಟರ್ ಎಂದರೆ ಯಾರು? (What is an Orchestrator?)

ಒಬ್ಬ ಆರ್ಕೆಸ್ಟ್ರೇಟರ್ ಕಡಿಮೆ ಮಟ್ಟದ (low-level) ಕೋಡ್ ಬರೆಯಲು ಸಮಯ ವ್ಯಯಿಸುವುದಿಲ್ಲ. ಬದಲಾಗಿ, ಅವರು:

  1. ಸರಿಯಾದ ಪರಿಕರಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತಾರೆ: Clerk vs Auth0, Supabase vs PostgreSQL, Vercel vs AWS ನಡುವೆ ಆಯ್ಕೆ ಮಾಡುವುದು.
  2. ಅವುಗಳನ್ನು ಸಂಯೋಜಿಸುತ್ತಾರೆ (Integrate): ವಿವಿಧ ಭಾಗಗಳು ಸುಗಮವಾಗಿ ಒಟ್ಟಾಗಿ ಕೆಲಸ ಮಾಡುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು.
  3. ಬಿಸಿನೆಸ್ ಲಾಜಿಕ್ ಮೇಲೆ ಗಮನ ಹರಿಸುತ್ತಾರೆ: ತಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ನೀಡುವ ವಿಶಿಷ್ಟ ಮೌಲ್ಯದ ಮೇಲೆ ತಮ್ಮ ಶಕ್ತಿಯನ್ನು ವ್ಯಯಿಸುತ್ತಾರೆ.

ಪ್ರಯೋಜನಗಳು (The Benefits)

ಸವಾಲುಗಳು (The Catch)

ಎಲ್ಲವೂ ಸುಗಮವಾಗಿರುವುದಿಲ್ಲ. ಆರ್ಕೆಸ್ಟ್ರೇಶನ್ ತನ್ನದೇ ಆದ ಸವಾಲುಗಳನ್ನು ತರುತ್ತದೆ:

ತೀರ್ಮಾನ (Conclusion)

ಆಧುನಿಕ ವೆಬ್ ಅಭಿವೃದ್ಧಿಯು ನೀವು ಎಷ್ಟು ಕೋಡ್ ಬರೆಯಬಲ್ಲಿರಿ ಎಂಬುದರ ಬಗ್ಗೆ ಅಲ್ಲ. ಬದಲಾಗಿ, ಸಂಕೀರ್ಣ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪರಿಹಾರಗಳನ್ನು ನೀವು ಎಷ್ಟು ಚೆನ್ನಾಗಿ ಆರ್ಕೆಸ್ಟ್ರೇಟ್ ಮಾಡಬಲ್ಲಿರಿ ಎಂಬುದರ ಬಗ್ಗೆ ಆಗಿದೆ. ಚಕ್ರವನ್ನು ಮತ್ತೆ ಮತ್ತೆ ಕಂಡುಹಿಡಿಯುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ಆರ್ಕೆಸ್ಟ್ರೇಟ್ ಮಾಡಲು ಪ್ರಾರಂಭಿಸಿ.