ಜೋಶ್ ಇವಾನ್ಸ್ ಅವರು ನೆಟ್ಫ್ಲಿಕ್ಸ್ ಮೈಕ್ರೊ ಸರ್ವೀಸ್ಗಳ ಅಸ್ತವ್ಯಸ್ತವಾಗಿರುವ ಮತ್ತು ವರ್ಣರಂಜಿತ ಪ್ರಪಂಚದ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತಾರೆ, ಇದು ಮೂಲಭೂತ ಅಂಶಗಳಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ - ಮೈಕ್ರೋಸರ್ವಿಸ್ಗಳ ಅಂಗರಚನಾಶಾಸ್ತ್ರ, ವಿತರಿಸಿದ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಸಂಬಂಧಿಸಿದ ಸವಾಲುಗಳು ಮತ್ತು ಅವುಗಳ ಪ್ರಯೋಜನಗಳು. ಈ ಅಡಿಪಾಯದ ಮೇಲೆ ನಿರ್ಮಿಸಿ, ಅವರು ಸೂಕ್ಷ್ಮ ಸೇವೆಯ ಪಾಂಡಿತ್ಯಕ್ಕೆ ಕಾರಣವಾಗುವ ಸಾಂಸ್ಕೃತಿಕ, ವಾಸ್ತುಶಿಲ್ಪ ಮತ್ತು ಕಾರ್ಯಾಚರಣೆಯ ಅಭ್ಯಾಸಗಳನ್ನು ಪರಿಶೋಧಿಸುತ್ತಾರೆ.
ಕಾರ್ಯಾಚರಣೆಯ ದಿಕ್ಚ್ಯುತಿಗಿಂತ ಭಿನ್ನವಾಗಿ, ಸೇವಾ ಅಂತರಾಷ್ಟ್ರೀಕರಣಕ್ಕಾಗಿ ಹೊಸ ಭಾಷೆಗಳ ಪರಿಚಯ ಮತ್ತು ಕಂಟೈನರ್ಗಳಂತಹ ಹೊಸ ತಂತ್ರಜ್ಞಾನಗಳು ಪರಿಸರಕ್ಕೆ ಹೊಸ ಸಂಕೀರ್ಣತೆಯನ್ನು ಸೇರಿಸುವ ಪ್ರಜ್ಞಾಪೂರ್ವಕ ನಿರ್ಧಾರಗಳಾಗಿವೆ. ನನ್ನ ಕಾರ್ಯಾಚರಣೆಗಳ ತಂಡವು Netflix ಗಾಗಿ ಉತ್ತಮ ತಂತ್ರಜ್ಞಾನದ ಮಾರ್ಗಸೂಚಿಯಲ್ಲಿ ಪ್ರಮಾಣೀಕರಿಸಲ್ಪಟ್ಟಿದೆ, ಇದನ್ನು ಜಾವಾ ಮತ್ತು EC2 ಆಧರಿಸಿ ಪೂರ್ವನಿರ್ಧರಿತ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳಾಗಿ ಬೇಯಿಸಲಾಗಿದೆ, ಆದರೆ ವ್ಯಾಪಾರವು ಬೆಳೆದಂತೆ, ಡೆವಲಪರ್ಗಳು ಪೈಥಾನ್, ರೂಬಿ, ನೋಡ್-ಜೆಎಸ್ ಮತ್ತು ಡಾಕರ್ನಂತಹ ಹೊಸ ಘಟಕಗಳನ್ನು ಸೇರಿಸಲು ಪ್ರಾರಂಭಿಸಿದರು.
ಗ್ರಾಹಕರ ದೂರುಗಳಿಗೆ ಕಾಯದೆ ನಮ್ಮ ಉತ್ಪನ್ನವು ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ನಾವು ಮೊದಲು ಸಲಹೆ ನೀಡಿದ್ದೇವೆ ಎಂದು ನನಗೆ ತುಂಬಾ ಹೆಮ್ಮೆ ಇದೆ. ಇದು ಸಾಕಷ್ಟು ಸರಳವಾಗಿ ಪ್ರಾರಂಭವಾಯಿತು - ನಾವು ಪೈಥಾನ್ನಲ್ಲಿ ಆಪರೇಟಿಂಗ್ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಹೊಂದಿದ್ದೇವೆ ಮತ್ತು ರೂಬಿಯಲ್ಲಿ ಕೆಲವು ಬ್ಯಾಕ್-ಆಫೀಸ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಹೊಂದಿದ್ದೇವೆ, ಆದರೆ ನಮ್ಮ ವೆಬ್ ಡೆವಲಪರ್ಗಳು ಅವರು JVM ಅನ್ನು ತೊಡೆದುಹಾಕಲು ಹೊರಟಿದ್ದಾರೆ ಮತ್ತು ವೆಬ್ ಅನ್ನು ಸರಿಸಲು ಹೋಗುತ್ತಿದ್ದಾರೆ ಎಂದು ಘೋಷಿಸಿದಾಗ ವಿಷಯಗಳು ಹೆಚ್ಚು ಆಸಕ್ತಿಕರವಾಗಿವೆ. ನೋಡ್ ಸಾಫ್ಟ್ವೇರ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗೆ ಅಪ್ಲಿಕೇಶನ್. js. ಡಾಕರ್ನ ಪರಿಚಯದ ನಂತರ, ವಿಷಯಗಳು ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದವು. ನಾವು ತರ್ಕವನ್ನು ಅನುಸರಿಸಿದ್ದೇವೆ ಮತ್ತು ನಾವು ತಂದ ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ನಾವು ಗ್ರಾಹಕರಿಗೆ ಅಳವಡಿಸಿದಾಗ ವಾಸ್ತವಿಕವಾಯಿತು ಏಕೆಂದರೆ ಅವುಗಳು ಸಾಕಷ್ಟು ಅರ್ಥವನ್ನು ನೀಡಿವೆ. ಇದು ಏಕೆ ಎಂದು ನಾನು ನಿಮಗೆ ಹೇಳುತ್ತೇನೆ.
API ಗೇಟ್ವೇ ವಾಸ್ತವವಾಗಿ UI ಡೆವಲಪರ್ಗಳಿಗೆ ಅಂತಿಮ ಬಿಂದುಗಳಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಬಹುದಾದ ಉತ್ತಮ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ. ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿದ ನಂತರ ಅವುಗಳನ್ನು ಉತ್ಪಾದನೆಗೆ ಮತ್ತು ನಂತರ ಬಳಕೆದಾರ ಸಾಧನಗಳಿಗೆ ನಿಯೋಜಿಸಲು ಸಾಧ್ಯವಾಗುವ ರೀತಿಯಲ್ಲಿ ಅವರು ಈ ಪ್ರತಿಯೊಂದು ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಪರಿವರ್ತಿಸಿದರು, ಮತ್ತು ಈ ಎಲ್ಲಾ ಬದಲಾವಣೆಗಳನ್ನು API ಗೇಟ್ವೇನಲ್ಲಿ ನಡೆಯುವ ಅಂತಿಮ ಬಿಂದುಗಳೊಂದಿಗೆ ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಲಾಗಿದೆ.
ಆದಾಗ್ಯೂ, ಇದು ಹೊಸ ಏಕಶಿಲೆಯನ್ನು ರಚಿಸುವ ಸಮಸ್ಯೆಯನ್ನು ಪುನರಾವರ್ತಿಸಿತು, ಅಲ್ಲಿ API ಸೇವೆಯು ಕೋಡ್ನೊಂದಿಗೆ ಓವರ್ಲೋಡ್ ಆಗಿದ್ದು ವಿವಿಧ ವೈಫಲ್ಯದ ಸನ್ನಿವೇಶಗಳು ಸಂಭವಿಸಿದವು. ಉದಾಹರಣೆಗೆ, ಕೆಲವು ಎಂಡ್ಪಾಯಿಂಟ್ಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ ಅಥವಾ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಯಾದೃಚ್ಛಿಕವಾಗಿ ಹಲವಾರು ಆವೃತ್ತಿಗಳನ್ನು ರಚಿಸಿದ್ದು, ಆವೃತ್ತಿಗಳು API ಸೇವೆಯ ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಮೆಮೊರಿಯನ್ನು ತೆಗೆದುಕೊಂಡಿವೆ.
ಈ ಅಂತಿಮ ಬಿಂದುಗಳನ್ನು ತೆಗೆದುಕೊಂಡು ಅವುಗಳನ್ನು API ಸೇವೆಯಿಂದ ಹೊರತೆಗೆಯಲು ಇದು ತಾರ್ಕಿಕವಾಗಿದೆ. ಇದನ್ನು ಮಾಡಲು, ನಾವು ಡಾಕರ್ ಕಂಟೈನರ್ಗಳಲ್ಲಿ ಸಣ್ಣ ಅಪ್ಲಿಕೇಶನ್ಗಳಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ Node.js ಘಟಕಗಳನ್ನು ರಚಿಸಿದ್ದೇವೆ. ಈ ನೋಡ್ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ಸಮಸ್ಯೆಗಳು ಮತ್ತು ಕ್ರ್ಯಾಶ್ಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ಇದು ನಮಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಟ್ಟಿತು.
ಈ ಬದಲಾವಣೆಗಳ ವೆಚ್ಚವು ಸಾಕಷ್ಟು ದೊಡ್ಡದಾಗಿದೆ ಮತ್ತು ಈ ಕೆಳಗಿನ ಅಂಶಗಳನ್ನು ಒಳಗೊಂಡಿದೆ:
- ಉತ್ಪಾದಕತೆಯ ಉಪಕರಣಗಳು. ಹೊಸ ತಂತ್ರಜ್ಞಾನಗಳ ನಿರ್ವಹಣೆಗೆ ಹೊಸ ಪರಿಕರಗಳು ಬೇಕಾಗುತ್ತವೆ ಏಕೆಂದರೆ UI ತಂಡವು ಉತ್ತಮ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸಮರ್ಥ ಮಾದರಿಯನ್ನು ರಚಿಸಲು ಮೂಲಸೌಕರ್ಯವನ್ನು ನಿರ್ವಹಿಸಲು ಹೆಚ್ಚು ಸಮಯ ವ್ಯಯಿಸಬೇಕಾಗಿಲ್ಲ, ಅವರು ಕೇವಲ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಬರೆಯಬೇಕು ಮತ್ತು ಅವುಗಳ ಕಾರ್ಯವನ್ನು ಪರಿಶೀಲಿಸಬೇಕಾಗಿತ್ತು.
ಅವಕಾಶದ ಒಳನೋಟ ಮತ್ತು ವಿಂಗಡಣೆ - ಕಾರ್ಯಕ್ಷಮತೆಯ ಚಾಲಕ ಮಾಹಿತಿಯನ್ನು ಬಹಿರಂಗಪಡಿಸಲು ಅಗತ್ಯವಿರುವ ಹೊಸ ಉಪಕರಣಗಳು ಒಂದು ಪ್ರಮುಖ ಉದಾಹರಣೆಯಾಗಿದೆ. ಪ್ರೊಸೆಸರ್ ಎಷ್ಟು ಆಕ್ರಮಿಸಿಕೊಂಡಿದೆ, ಮೆಮೊರಿಯನ್ನು ಹೇಗೆ ಬಳಸಲಾಗುತ್ತಿದೆ ಮತ್ತು ಈ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸಲು ವಿಭಿನ್ನ ಸಾಧನಗಳು ಬೇಕಾಗುತ್ತವೆ ಎಂಬುದನ್ನು ತಿಳಿದುಕೊಳ್ಳುವುದು ಅಗತ್ಯವಾಗಿತ್ತು. - ಮೂಲ ಚಿತ್ರಗಳ ವಿಘಟನೆ - ಸರಳ ಬೇಸ್ AMI ಹೆಚ್ಚು ವಿಭಜಿತ ಮತ್ತು ವಿಶೇಷವಾಗಿದೆ.
- ನೋಡ್ ನಿರ್ವಹಣೆ. ಕ್ಲೌಡ್ನಲ್ಲಿ ನೋಡ್ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಯಾವುದೇ ಆಫ್-ದಿ-ಶೆಲ್ಫ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅಥವಾ ತಂತ್ರಜ್ಞಾನ ಲಭ್ಯವಿಲ್ಲ, ಆದ್ದರಿಂದ ನಾವು Amazon AWS ನೊಂದಿಗೆ ಸ್ಕೇಲೆಬಲ್ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹ ಕಂಟೇನರ್ ನಿಯೋಜನೆ ಮತ್ತು ಕ್ಲೌಡ್ ಏಕೀಕರಣವನ್ನು ಒದಗಿಸುವ ಕಂಟೇನರ್ ಮ್ಯಾನೇಜ್ಮೆಂಟ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಅನ್ನು ನಿರ್ಮಿಸಿದ್ದೇವೆ.
- ಲೈಬ್ರರಿ ಅಥವಾ ವೇದಿಕೆಯ ನಕಲು. ಪ್ಲಾಟ್ಫಾರ್ಮ್ನ ಅದೇ ಪ್ರಮುಖ ಕಾರ್ಯನಿರ್ವಹಣೆಯೊಂದಿಗೆ ಹೊಸ ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ಒದಗಿಸುವುದಕ್ಕಾಗಿ ಅದನ್ನು ಕ್ಲೌಡ್-ಆಧಾರಿತ Node.js ಡೆವಲಪರ್ ಪರಿಕರಗಳಾಗಿ ನಕಲು ಮಾಡುವ ಅಗತ್ಯವಿದೆ.
- ಕಲಿಕೆಯ ರೇಖೆ ಮತ್ತು ಕೈಗಾರಿಕಾ ಅನುಭವ. ಹೊಸ ತಂತ್ರಜ್ಞಾನಗಳ ಪರಿಚಯವು ಅನಿವಾರ್ಯವಾಗಿ ಹೊಸ ಸವಾಲುಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಜಯಿಸಬೇಕು ಮತ್ತು ಕಲಿಯಬೇಕು.
ಹೀಗಾಗಿ, ನಾವು ಒಂದು "ಸುಸಜ್ಜಿತ ರಸ್ತೆ" ಗೆ ನಮ್ಮನ್ನು ಮಿತಿಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ ಮತ್ತು ನಮ್ಮ ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ಮುನ್ನಡೆಸಲು ನಿರಂತರವಾಗಿ ಹೊಸ ಮಾರ್ಗಗಳನ್ನು ನಿರ್ಮಿಸಬೇಕಾಗಿತ್ತು. ವೆಚ್ಚವನ್ನು ಕಡಿಮೆ ಮಾಡಲು, ನಾವು ಕೇಂದ್ರೀಕೃತ ಬೆಂಬಲವನ್ನು ಸೀಮಿತಗೊಳಿಸಿದ್ದೇವೆ ಮತ್ತು JVM, ಹೊಸ ನೋಡ್ಗಳು ಮತ್ತು ಡಾಕರ್ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಿದ್ದೇವೆ. ನಾವು ಪರಿಣಾಮಕಾರಿ ಪರಿಣಾಮಕ್ಕೆ ಆದ್ಯತೆ ನೀಡಿದ್ದೇವೆ, ಅವರ ನಿರ್ಧಾರಗಳ ವೆಚ್ಚದ ಬಗ್ಗೆ ತಂಡಗಳಿಗೆ ಮಾಹಿತಿ ನೀಡಿದ್ದೇವೆ ಮತ್ತು ಅವರು ಈಗಾಗಲೇ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ಹೆಚ್ಚಿನ ಪರಿಣಾಮದ ಪರಿಹಾರಗಳನ್ನು ಮರುಬಳಕೆ ಮಾಡುವ ಮಾರ್ಗಗಳನ್ನು ಹುಡುಕುವಂತೆ ಅವರನ್ನು ಪ್ರೋತ್ಸಾಹಿಸುತ್ತೇವೆ. ಅಂತರರಾಷ್ಟ್ರೀಯ ಗ್ರಾಹಕರಿಗೆ ಉತ್ಪನ್ನವನ್ನು ತಲುಪಿಸಲು ಸೇವೆಯನ್ನು ವಿದೇಶಿ ಭಾಷೆಗಳಿಗೆ ಭಾಷಾಂತರಿಸುವಾಗ ನಾವು ಈ ವಿಧಾನವನ್ನು ಬಳಸಿದ್ದೇವೆ. ಉದಾಹರಣೆಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರಚಿಸಬಹುದಾದ ತುಲನಾತ್ಮಕವಾಗಿ ಸರಳವಾದ ಕ್ಲೈಂಟ್ ಲೈಬ್ರರಿಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ, ಇದರಿಂದಾಗಿ ಪೈಥಾನ್ ಆವೃತ್ತಿ, ರೂಬಿ ಆವೃತ್ತಿ, ಜಾವಾ ಆವೃತ್ತಿ ಇತ್ಯಾದಿಗಳನ್ನು ರಚಿಸುವುದು ತುಂಬಾ ಸುಲಭ.
ಒಂದೇ ಸ್ಥಳದಲ್ಲಿ ಮತ್ತು ಇತರ ರೀತಿಯ ಸಂದರ್ಭಗಳಲ್ಲಿ ತಮ್ಮನ್ನು ತಾವು ಸಾಬೀತುಪಡಿಸಿದ ಸಾಬೀತಾದ ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ಬಳಸಲು ನಾವು ನಿರಂತರವಾಗಿ ಅವಕಾಶಗಳನ್ನು ಹುಡುಕುತ್ತಿದ್ದೇವೆ.
ಕೊನೆಯ ಅಂಶದ ಬಗ್ಗೆ ಮಾತನಾಡೋಣ - ಬದಲಾವಣೆಗಳು ಅಥವಾ ವ್ಯತ್ಯಾಸಗಳು. ನಮ್ಮ ಉತ್ಪನ್ನದ ಬಳಕೆಯು ವಾರದ ದಿನದಿಂದ ಮತ್ತು ದಿನವಿಡೀ ಗಂಟೆಗೆ ಹೇಗೆ ಅಸಮಾನವಾಗಿ ಬದಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡಿ. ನೆಟ್ಫ್ಲಿಕ್ಸ್ಗೆ ಬೆಳಿಗ್ಗೆ 9 ಗಂಟೆಗೆ ಅತ್ಯಂತ ಕಠಿಣ ಸಮಯ ಎಂದು ನೀವು ಹೇಳಬಹುದು, ಸಿಸ್ಟಮ್ನಲ್ಲಿನ ಲೋಡ್ ಗರಿಷ್ಠ ಮಟ್ಟವನ್ನು ತಲುಪಿದಾಗ.
ಸಾಫ್ಟ್ವೇರ್ ಆವಿಷ್ಕಾರಗಳ ಅನುಷ್ಠಾನದ ಹೆಚ್ಚಿನ ವೇಗವನ್ನು ನಾವು ಹೇಗೆ ಸಾಧಿಸಬಹುದು, ಅಂದರೆ, ನಿರಂತರವಾಗಿ ಸಿಸ್ಟಮ್ಗೆ ಹೊಸ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡುವುದರಿಂದ, ಸೇವೆಯ ವಿತರಣೆಯಲ್ಲಿ ಅಡಚಣೆಗಳನ್ನು ಉಂಟುಮಾಡದೆ ಮತ್ತು ನಮ್ಮ ಗ್ರಾಹಕರಿಗೆ ಅನಾನುಕೂಲತೆಯನ್ನು ಉಂಟುಮಾಡದೆಯೇ? ಹೊಸ ಜಾಗತಿಕ ಕ್ಲೌಡ್-ಆಧಾರಿತ ನಿರ್ವಹಣೆ ಮತ್ತು ನಿರಂತರ ವಿತರಣಾ (ಸಿಡಿ) ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಸ್ಪಿನೇಕರ್ ಬಳಕೆಯ ಮೂಲಕ ನೆಟ್ಫ್ಲಿಕ್ಸ್ ಇದನ್ನು ಸಾಧಿಸಿದೆ.
ವಿಮರ್ಶಾತ್ಮಕವಾಗಿ, ಸ್ಪಿನ್ನಕರ್ ಅನ್ನು ನಮ್ಮ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಸಂಯೋಜಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ ಇದರಿಂದ ನಾವು ಘಟಕಗಳನ್ನು ಉತ್ಪಾದನೆಗೆ ನಿಯೋಜಿಸಿದಾಗ, ನಾವು ಔಟ್ಪುಟ್ ಅನ್ನು ನೇರವಾಗಿ ನಮ್ಮ ಮಾಧ್ಯಮ ವಿತರಣಾ ತಂತ್ರಜ್ಞಾನಕ್ಕೆ ಸಂಯೋಜಿಸಬಹುದು.
ನಮ್ಮ ವಿತರಣಾ ಪೈಪ್ಲೈನ್ನಲ್ಲಿ ನಾವು ಎರಡು ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ಅಳವಡಿಸಲು ಸಮರ್ಥರಾಗಿದ್ದೇವೆ, ಅದನ್ನು ನಾವು ಹೆಚ್ಚು ಗೌರವಿಸುತ್ತೇವೆ: ಸ್ವಯಂಚಾಲಿತ ಕ್ಯಾನರಿ ವಿಶ್ಲೇಷಣೆ ಮತ್ತು ಹಂತ ಹಂತದ ನಿಯೋಜನೆ. ಕ್ಯಾನರಿ ವಿಶ್ಲೇಷಣೆ ಎಂದರೆ ನಾವು ಕೋಡ್ನ ಹೊಸ ಆವೃತ್ತಿಗೆ ಟ್ರಾಫಿಕ್ನ ಟ್ರಿಕಲ್ ಅನ್ನು ನಿರ್ದೇಶಿಸುತ್ತೇವೆ ಮತ್ತು ಹಳೆಯ ಆವೃತ್ತಿಯ ಮೂಲಕ ಉಳಿದ ಉತ್ಪಾದನಾ ದಟ್ಟಣೆಯನ್ನು ರವಾನಿಸುತ್ತೇವೆ. ಹೊಸ ಕೋಡ್ ಕಾರ್ಯವನ್ನು ಹೇಗೆ ನಿಭಾಯಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನಾವು ಪರಿಶೀಲಿಸುತ್ತೇವೆ - ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಒಂದಕ್ಕಿಂತ ಉತ್ತಮ ಅಥವಾ ಕೆಟ್ಟದಾಗಿದೆ.
ದಿಗ್ಭ್ರಮೆಗೊಂಡ ರೋಲ್ಔಟ್ ಎಂದರೆ ಒಂದು ಪ್ರದೇಶದಲ್ಲಿ ರೋಲ್ಔಟ್ಗೆ ಸಮಸ್ಯೆಗಳಿದ್ದರೆ, ನಾವು ಇನ್ನೊಂದು ಪ್ರದೇಶದಲ್ಲಿ ರೋಲ್ಔಟ್ಗೆ ಹೋಗುತ್ತೇವೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಮೇಲೆ ತಿಳಿಸಿದ ಪರಿಶೀಲನಾಪಟ್ಟಿಯನ್ನು ಉತ್ಪಾದನಾ ಪೈಪ್ಲೈನ್ನಲ್ಲಿ ಸೇರಿಸಬೇಕು. ನಾನು ನಿಮಗೆ ಸ್ವಲ್ಪ ಸಮಯವನ್ನು ಉಳಿಸುತ್ತೇನೆ ಮತ್ತು ಈ ವಿಷಯದ ಬಗ್ಗೆ ಆಳವಾಗಿ ಧುಮುಕಲು ನೀವು ಆಸಕ್ತಿ ಹೊಂದಿದ್ದರೆ, ನನ್ನ ಹಿಂದಿನ ಚರ್ಚೆ, ಇಂಜಿನಿಯರಿಂಗ್ ಗ್ಲೋಬಲ್ ನೆಟ್ಫ್ಲಿಕ್ಸ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಕ್ಲೌಡ್ನಲ್ಲಿ ಪರಿಶೀಲಿಸಲು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ. ಸ್ಲೈಡ್ನ ಕೆಳಭಾಗದಲ್ಲಿರುವ ಲಿಂಕ್ ಅನ್ನು ಅನುಸರಿಸುವ ಮೂಲಕ ಭಾಷಣದ ವೀಡಿಯೊ ರೆಕಾರ್ಡಿಂಗ್ ಅನ್ನು ವೀಕ್ಷಿಸಬಹುದು.
ಮಾತುಕತೆಯ ಕೊನೆಯಲ್ಲಿ, ನಾನು ನೆಟ್ಫ್ಲಿಕ್ಸ್ನ ಸಂಘಟನೆ ಮತ್ತು ವಾಸ್ತುಶಿಲ್ಪದ ಬಗ್ಗೆ ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಮಾತನಾಡುತ್ತೇನೆ. ಪ್ರಾರಂಭದಲ್ಲಿ ನಾವು ಎಲೆಕ್ಟ್ರಾನಿಕ್ ಡೆಲಿವರಿ ಎಂಬ ಯೋಜನೆಯನ್ನು ಹೊಂದಿದ್ದೇವೆ, ಇದು NRDP 1.x ಮೀಡಿಯಾ ಸ್ಟ್ರೀಮಿಂಗ್ನ ಮೊದಲ ಆವೃತ್ತಿಯಾಗಿದೆ. "ಬ್ಯಾಕ್ಸ್ಟ್ರೀಮ್" ಪದವನ್ನು ಇಲ್ಲಿ ಬಳಸಬಹುದಾಗಿದೆ ಏಕೆಂದರೆ ಆರಂಭದಲ್ಲಿ ಬಳಕೆದಾರರು ಸಾಧನದಲ್ಲಿ ನಂತರದ ಪ್ಲೇಬ್ಯಾಕ್ಗಾಗಿ ಮಾತ್ರ ವಿಷಯವನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಬಹುದು. 2009 ರಲ್ಲಿ ನೆಟ್ಫ್ಲಿಕ್ಸ್ನ ಮೊಟ್ಟಮೊದಲ ಡಿಜಿಟಲ್ ವಿತರಣಾ ವೇದಿಕೆಯು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ.
ಬಳಕೆದಾರ ಸಾಧನವು NRDP ಪ್ಲಾಟ್ಫಾರ್ಮ್ - ನೆಟ್ಫ್ಲಿಕ್ಸ್ ರೆಡಿ ಡಿವೈಸ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಅನ್ನು ಆಧರಿಸಿ UI ಇಂಟರ್ಫೇಸ್, ಭದ್ರತಾ ಮಾಡ್ಯೂಲ್ಗಳು, ಸೇವಾ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ ಮತ್ತು ಪ್ಲೇಬ್ಯಾಕ್ ಅನ್ನು ಒಳಗೊಂಡಿರುವ ನೆಟ್ಫ್ಲಿಕ್ಸ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ.
ಆ ಸಮಯದಲ್ಲಿ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ತುಂಬಾ ಸರಳವಾಗಿತ್ತು. ಇದು ಕ್ಯೂಕ್ ರೀಡರ್ ಎಂದು ಕರೆಯಲ್ಪಡುವದನ್ನು ಒಳಗೊಂಡಿದೆ, ಮತ್ತು ಬಳಕೆದಾರರು ಕ್ಯೂಕ್ಗೆ ಏನನ್ನಾದರೂ ಸೇರಿಸಲು ಸೈಟ್ಗೆ ಹೋಗುತ್ತಾರೆ ಮತ್ತು ನಂತರ ಅವರ ಸಾಧನದಲ್ಲಿ ಸೇರಿಸಲಾದ ವಿಷಯವನ್ನು ವೀಕ್ಷಿಸುತ್ತಾರೆ. ಸಕಾರಾತ್ಮಕ ಅಂಶವೆಂದರೆ ಫ್ರಂಟ್ ಎಂಡ್ ತಂಡ ಮತ್ತು ಬ್ಯಾಕ್ ಎಂಡ್ ತಂಡವು ಒಂದೇ ಎಲೆಕ್ಟ್ರಾನಿಕ್ ಡೆಲಿವರಿ ಸಂಸ್ಥೆಗೆ ಸೇರಿದ್ದು ಮತ್ತು ನಿಕಟ ಕಾರ್ಯ ಸಂಬಂಧವನ್ನು ಹೊಂದಿದ್ದವು. ಪೇಲೋಡ್ ಅನ್ನು XML ಆಧರಿಸಿ ರಚಿಸಲಾಗಿದೆ. ಅದೇ ಸಮಯದಲ್ಲಿ, DVD ವ್ಯವಹಾರಕ್ಕಾಗಿ Netflix API ಅನ್ನು ರಚಿಸಲಾಗಿದೆ, ಇದು ನಮ್ಮ ಸೇವೆಗೆ ಟ್ರಾಫಿಕ್ ಅನ್ನು ನಿರ್ದೇಶಿಸಲು ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಪ್ರೋತ್ಸಾಹಿಸಿತು.
ಆದಾಗ್ಯೂ, ನೆಟ್ಫ್ಲಿಕ್ಸ್ API ನಮಗೆ ನವೀನ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ನೊಂದಿಗೆ ಸಹಾಯ ಮಾಡಲು ಸಿದ್ಧವಾಗಿದೆ, ಎಲ್ಲಾ ವಿಷಯಗಳ ಮೆಟಾಡೇಟಾ, ಯಾವ ಚಲನಚಿತ್ರಗಳು ಲಭ್ಯವಿವೆ ಎಂಬುದರ ಕುರಿತು ಮಾಹಿತಿ, ಇದು ವೀಕ್ಷಣೆ ಪಟ್ಟಿಗಳನ್ನು ರಚಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೃಷ್ಟಿಸಿದೆ. ಇದು JSON ಸ್ಕೀಮಾ, HTTP ರೆಸ್ಪಾನ್ಸ್ ಕೋಡ್, ಆಧುನಿಕ ಆರ್ಕಿಟೆಕ್ಚರ್ನಲ್ಲಿ ಬಳಸಲಾದ ಅದೇ ಒಂದು ಸಾಮಾನ್ಯ REST API ಮತ್ತು OAuth ಭದ್ರತಾ ಮಾದರಿಯನ್ನು ಹೊಂದಿತ್ತು, ಇದು ಆ ಸಮಯದಲ್ಲಿ ಮುಂಭಾಗದ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅಗತ್ಯವಾಗಿತ್ತು. ಸ್ಟ್ರೀಮಿಂಗ್ ವಿಷಯ ವಿತರಣೆಯ ಸಾರ್ವಜನಿಕ ಮಾದರಿಯಿಂದ ಖಾಸಗಿಯೊಂದಕ್ಕೆ ಚಲಿಸಲು ಇದು ಸಾಧ್ಯವಾಗಿಸಿತು.
ಪರಿವರ್ತನೆಯ ಸಮಸ್ಯೆಯು ವಿಘಟನೆಯಾಗಿದೆ, ಏಕೆಂದರೆ ಈಗ ನಮ್ಮ ಸಿಸ್ಟಮ್ ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನ ಕಾರ್ಯಾಚರಣೆಯ ತತ್ವಗಳ ಆಧಾರದ ಮೇಲೆ ಎರಡು ಸೇವೆಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತಿದೆ - ಒಂದು ರೆಸ್ಟ್, JSON ಮತ್ತು OAuth ನಲ್ಲಿ, ಇನ್ನೊಂದು RPC, XML ಮತ್ತು NTBA ಟೋಕನ್ ಸಿಸ್ಟಮ್ ಆಧಾರಿತ ಬಳಕೆದಾರರ ಭದ್ರತಾ ಕಾರ್ಯವಿಧಾನ. ಇದು ಮೊದಲ ಹೈಬ್ರಿಡ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಆಗಿತ್ತು.
ನಮ್ಮ ಎರಡು ತಂಡಗಳ ನಡುವೆ ಮೂಲಭೂತವಾಗಿ ಫೈರ್ವಾಲ್ ಇತ್ತು ಏಕೆಂದರೆ ಆರಂಭದಲ್ಲಿ API NCCP ಯೊಂದಿಗೆ ಚೆನ್ನಾಗಿ ಅಳೆಯಲಿಲ್ಲ ಮತ್ತು ಇದು ತಂಡಗಳ ನಡುವೆ ಘರ್ಷಣೆಗೆ ಕಾರಣವಾಯಿತು. ವ್ಯತ್ಯಾಸಗಳು ಸೇವೆಗಳು, ಪ್ರೋಟೋಕಾಲ್ಗಳು, ಸರ್ಕ್ಯೂಟ್ಗಳು, ಭದ್ರತಾ ಮಾಡ್ಯೂಲ್ಗಳು ಮತ್ತು ಡೆವಲಪರ್ಗಳು ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನ ಸಂದರ್ಭಗಳ ನಡುವೆ ಬದಲಾಯಿಸಬೇಕಾಗಿತ್ತು.
ಈ ನಿಟ್ಟಿನಲ್ಲಿ, ನಾನು ಕಂಪನಿಯ ಹಿರಿಯ ಇಂಜಿನಿಯರ್ಗಳೊಬ್ಬರೊಂದಿಗೆ ಸಂವಾದ ನಡೆಸಿದ್ದೇನೆ, ಅವರಿಗೆ ನಾನು ಪ್ರಶ್ನೆಯನ್ನು ಕೇಳಿದೆ: "ಸರಿಯಾದ ದೀರ್ಘಾವಧಿಯ ವಾಸ್ತುಶಿಲ್ಪ ಯಾವುದು?" ಮತ್ತು ಅವರು ಪ್ರತಿ ಪ್ರಶ್ನೆಯನ್ನು ಕೇಳಿದರು: "ನೀವು ಬಹುಶಃ ಹೆಚ್ಚು ಕಾಳಜಿ ವಹಿಸುತ್ತೀರಿ. ಸಾಂಸ್ಥಿಕ ಪರಿಣಾಮಗಳ ಬಗ್ಗೆ - ನಾವು ಈ ವಿಷಯಗಳನ್ನು ಸಂಯೋಜಿಸಿದರೆ ಮತ್ತು ನಾವು ಚೆನ್ನಾಗಿ ಮಾಡಲು ಕಲಿತದ್ದನ್ನು ಅವು ಮುರಿದರೆ ಏನಾಗುತ್ತದೆ? ಈ ವಿಧಾನವು ಕಾನ್ವೆಯ ಕಾನೂನಿಗೆ ಬಹಳ ಪ್ರಸ್ತುತವಾಗಿದೆ: "ವಿನ್ಯಾಸ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಆ ಸಂಸ್ಥೆಯ ಸಂವಹನ ರಚನೆಯನ್ನು ಪುನರಾವರ್ತಿಸುವ ವಿನ್ಯಾಸದಿಂದ ನಿರ್ಬಂಧಿತವಾಗಿರುವ ಸಂಸ್ಥೆಗಳು." ಇದು ಬಹಳ ಅಮೂರ್ತ ವ್ಯಾಖ್ಯಾನವಾಗಿದೆ, ಆದ್ದರಿಂದ ನಾನು ಹೆಚ್ಚು ನಿರ್ದಿಷ್ಟವಾದ ಒಂದನ್ನು ಬಯಸುತ್ತೇನೆ: "ಯಾವುದೇ ಸಾಫ್ಟ್ವೇರ್ ತುಣುಕು ಅದನ್ನು ರಚಿಸಿದ ಸಾಂಸ್ಥಿಕ ರಚನೆಯನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ." ಎರಿಕ್ ರೇಮಂಡ್ನಿಂದ ನನ್ನ ಮೆಚ್ಚಿನ ಉಲ್ಲೇಖ ಇಲ್ಲಿದೆ: "ನೀವು ಕಂಪೈಲರ್ನಲ್ಲಿ ನಾಲ್ಕು ಡೆವಲಪರ್ಗಳ ತಂಡಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ನೀವು ನಾಲ್ಕು-ಪಾಸ್ ಕಂಪೈಲರ್ನೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳುತ್ತೀರಿ." ಸರಿ, Netflix ನಾಲ್ಕು-ಪಾಸ್ ಕಂಪೈಲರ್ ಅನ್ನು ಹೊಂದಿದೆ, ಮತ್ತು ನಾವು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತೇವೆ.
ಈ ಸಂದರ್ಭದಲ್ಲಿ ಬಾಲವು ನಾಯಿಯನ್ನು ಅಲ್ಲಾಡಿಸುತ್ತಿದೆ ಎಂದು ನಾವು ಹೇಳಬಹುದು. ನಮ್ಮ ಮೊದಲ ಆದ್ಯತೆಯು ಪರಿಹಾರವಲ್ಲ, ಆದರೆ ಸಂಸ್ಥೆ; ಇದು ನಮ್ಮಲ್ಲಿರುವ ವಾಸ್ತುಶಿಲ್ಪವನ್ನು ನಡೆಸುವ ಸಂಸ್ಥೆಯಾಗಿದೆ. ಕ್ರಮೇಣ, ಸೇವೆಗಳ ಹಾಡ್ಜ್ಪೋಡ್ಜ್ನಿಂದ, ನಾವು ಬ್ಲೇಡ್ ರನ್ನರ್ ಎಂದು ಕರೆಯುವ ಆರ್ಕಿಟೆಕ್ಚರ್ಗೆ ತೆರಳಿದ್ದೇವೆ, ಏಕೆಂದರೆ ಇಲ್ಲಿ ನಾವು ಎಡ್ಜ್ ಸೇವೆಗಳು ಮತ್ತು NCCP ಯ ಸಾಮರ್ಥ್ಯದ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತಿದ್ದೇವೆ ಮತ್ತು ನೇರವಾಗಿ Zuul ಪ್ರಾಕ್ಸಿ, API ಗೇಟ್ವೇ ಮತ್ತು ಅನುಗುಣವಾದ ಕ್ರಿಯಾತ್ಮಕತೆಗೆ ಬೇರ್ಪಡಿಸಲು ಮತ್ತು ಸಂಯೋಜಿಸಲು "ತುಣುಕುಗಳನ್ನು" ಹೆಚ್ಚು ಸುಧಾರಿತ ಭದ್ರತೆ, ಮರುಪಂದ್ಯ, ಡೇಟಾ ವಿಂಗಡಣೆ ಇತ್ಯಾದಿ ವೈಶಿಷ್ಟ್ಯಗಳೊಂದಿಗೆ ಹೊಸ ಮೈಕ್ರೋ ಸರ್ವೀಸ್ಗಳಾಗಿ ಪರಿವರ್ತಿಸಲಾಗಿದೆ.
ಹೀಗಾಗಿ, ವಿಭಾಗದ ರಚನೆಗಳು ಮತ್ತು ಕಂಪನಿಯ ಡೈನಾಮಿಕ್ಸ್ ಸಿಸ್ಟಮ್ ವಿನ್ಯಾಸವನ್ನು ರೂಪಿಸುವಲ್ಲಿ ಪ್ರಮುಖ ಪಾತ್ರವನ್ನು ವಹಿಸುತ್ತದೆ ಮತ್ತು ಬದಲಾವಣೆಯನ್ನು ಉತ್ತೇಜಿಸುವ ಅಥವಾ ಅಡ್ಡಿಪಡಿಸುವ ಅಂಶವಾಗಿದೆ ಎಂದು ಹೇಳಬಹುದು. ಮೈಕ್ರೊ ಸರ್ವೀಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಸಂಕೀರ್ಣ ಮತ್ತು ಸಾವಯವವಾಗಿದೆ, ಮತ್ತು ಅದರ ಆರೋಗ್ಯವು ಶಿಸ್ತು ಮತ್ತು ಪರಿಚಯಿಸಲಾದ ಅವ್ಯವಸ್ಥೆಯನ್ನು ಆಧರಿಸಿದೆ.
ಸ್ವಲ್ಪ ಜಾಹೀರಾತು
ನಮ್ಮೊಂದಿಗೆ ಇರುವುದಕ್ಕೆ ಧನ್ಯವಾದಗಳು. ನೀವು ನಮ್ಮ ಲೇಖನಗಳನ್ನು ಇಷ್ಟಪಡುತ್ತೀರಾ? ಹೆಚ್ಚು ಆಸಕ್ತಿದಾಯಕ ವಿಷಯವನ್ನು ನೋಡಲು ಬಯಸುವಿರಾ? ಆರ್ಡರ್ ಮಾಡುವ ಮೂಲಕ ಅಥವಾ ಸ್ನೇಹಿತರಿಗೆ ಶಿಫಾರಸು ಮಾಡುವ ಮೂಲಕ ನಮ್ಮನ್ನು ಬೆಂಬಲಿಸಿ,
ಆಮ್ಸ್ಟರ್ಡ್ಯಾಮ್ನಲ್ಲಿರುವ Equinix Tier IV ಡೇಟಾ ಸೆಂಟರ್ನಲ್ಲಿ Dell R730xd 2x ಅಗ್ಗವಾಗಿದೆಯೇ? ಇಲ್ಲಿ ಮಾತ್ರ
ಮೂಲ: www.habr.com