ನನ್ನ ಏಕಶಿಲೆಯನ್ನು ನನಗೆ ಮರಳಿ ಕೊಡು

ಮೈಕ್ರೊ ಸರ್ವಿಸ್‌ಗಳ ಪ್ರಚೋದನೆಯ ಉತ್ತುಂಗವು ನಮ್ಮ ಹಿಂದೆ ಇದೆ ಎಂದು ತೋರುತ್ತದೆ. ನಾವು ಇನ್ನು ಮುಂದೆ ವಾರದಲ್ಲಿ ಹಲವಾರು ಬಾರಿ ಪೋಸ್ಟ್‌ಗಳನ್ನು ಓದುವುದಿಲ್ಲ "ನಾನು ನನ್ನ ಏಕಶಿಲೆಯನ್ನು 150 ಸೇವೆಗಳಿಗೆ ಹೇಗೆ ಸರಿಸಿದೆ." ಈಗ ನಾನು ಹೆಚ್ಚು ಸಾಮಾನ್ಯ ಜ್ಞಾನದ ಆಲೋಚನೆಗಳನ್ನು ಕೇಳುತ್ತೇನೆ: "ನಾನು ಏಕಶಿಲೆಯನ್ನು ದ್ವೇಷಿಸುವುದಿಲ್ಲ, ನಾನು ದಕ್ಷತೆಯ ಬಗ್ಗೆ ಕಾಳಜಿ ವಹಿಸುತ್ತೇನೆ." ನಾವು ಹಲವಾರು ವಲಸೆಗಳನ್ನು ಸಹ ಗಮನಿಸಿದ್ದೇವೆ ಮೈಕ್ರೋ ಸರ್ವೀಸ್‌ನಿಂದ ಏಕಶಿಲೆಗೆ ಹಿಂತಿರುಗಿ. ಒಂದು ದೊಡ್ಡ ಅಪ್ಲಿಕೇಶನ್‌ನಿಂದ ಅನೇಕ ಸಣ್ಣ ಸೇವೆಗಳಿಗೆ ಚಲಿಸುವಾಗ, ನೀವು ಹಲವಾರು ಹೊಸ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಬೇಕಾಗುತ್ತದೆ. ನಾವು ಅವುಗಳನ್ನು ಸಾಧ್ಯವಾದಷ್ಟು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಪಟ್ಟಿ ಮಾಡೋಣ.

ಸೆಟ್ಟಿಂಗ್: ಮೂಲ ರಸಾಯನಶಾಸ್ತ್ರದಿಂದ ಕ್ವಾಂಟಮ್ ಮೆಕ್ಯಾನಿಕ್ಸ್‌ಗೆ

ಹಿನ್ನೆಲೆ ಪ್ರಕ್ರಿಯೆಯೊಂದಿಗೆ ಮೂಲ ಡೇಟಾಬೇಸ್ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಹೊಂದಿಸುವುದು ಸಾಕಷ್ಟು ಸರಳವಾದ ಪ್ರಕ್ರಿಯೆಯಾಗಿದೆ. ನಾನು ಗಿಥಬ್‌ನಲ್ಲಿ ರೀಡ್‌ಮೆಯನ್ನು ಪ್ರಕಟಿಸುತ್ತೇನೆ - ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ಒಂದು ಗಂಟೆಯ ನಂತರ, ಹೆಚ್ಚೆಂದರೆ ಒಂದೆರಡು ಗಂಟೆಗಳ ನಂತರ, ಎಲ್ಲವೂ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಮತ್ತು ನಾನು ಹೊಸ ಯೋಜನೆಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತೇನೆ. ಕನಿಷ್ಠ ಆರಂಭಿಕ ಪರಿಸರಕ್ಕಾಗಿ ಕೋಡ್ ಅನ್ನು ಸೇರಿಸುವುದು ಮತ್ತು ಚಾಲನೆ ಮಾಡುವುದು ಮೊದಲ ದಿನದಲ್ಲಿ ಮಾಡಲಾಗುತ್ತದೆ. ಆದರೆ ನಾವು ಮೈಕ್ರೊ ಸರ್ವೀಸ್‌ಗಳಲ್ಲಿ ತೊಡಗಿಸಿಕೊಂಡರೆ, ಆರಂಭಿಕ ಉಡಾವಣಾ ಸಮಯವು ಗಗನಕ್ಕೇರುತ್ತದೆ. ಹೌದು, ಈಗ ನಾವು ಆರ್ಕೆಸ್ಟ್ರೇಶನ್‌ನೊಂದಿಗೆ ಡಾಕರ್ ಮತ್ತು K8 ಯಂತ್ರಗಳ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಹೊಂದಿದ್ದೇವೆ, ಆದರೆ ಅನನುಭವಿ ಪ್ರೋಗ್ರಾಮರ್‌ಗೆ ಇದೆಲ್ಲವೂ ಹೆಚ್ಚು ಜಟಿಲವಾಗಿದೆ. ಅನೇಕ ಕಿರಿಯರಿಗೆ, ಇದು ನಿಜವಾಗಿಯೂ ಅನಗತ್ಯ ತೊಡಕುಗಳ ಹೊರೆಯಾಗಿದೆ.

ವ್ಯವಸ್ಥೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಸುಲಭವಲ್ಲ

ಒಂದು ಕ್ಷಣ ನಮ್ಮ ಜೂನಿಯರ್ ಬಗ್ಗೆ ಗಮನ ಹರಿಸೋಣ. ಏಕಶಿಲೆಯ ಅನ್ವಯಗಳೊಂದಿಗೆ, ದೋಷ ಸಂಭವಿಸಿದಲ್ಲಿ, ಅದನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಮತ್ತು ತಕ್ಷಣವೇ ಡೀಬಗ್ ಮಾಡುವಿಕೆಗೆ ತೆರಳಲು ಸುಲಭವಾಗಿದೆ. ಈಗ ನಾವು ಮತ್ತೊಂದು ಸೇವೆಯೊಂದಿಗೆ ಮಾತನಾಡುತ್ತಿರುವ ಸೇವೆಯನ್ನು ಹೊಂದಿದ್ದೇವೆ ಅದು ಸಂದೇಶದ ಬಸ್‌ನಲ್ಲಿ ಏನನ್ನಾದರೂ ಸರದಿಯಲ್ಲಿ ಇರಿಸುತ್ತದೆ ಅದು ಮತ್ತೊಂದು ಸೇವೆಯನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತಿದೆ - ತದನಂತರ ದೋಷ ಸಂಭವಿಸುತ್ತದೆ. ಸೇವೆ A ಆವೃತ್ತಿ 11 ಅನ್ನು ಚಾಲನೆ ಮಾಡುತ್ತಿದೆ ಮತ್ತು ಸೇವೆ E ಈಗಾಗಲೇ ಆವೃತ್ತಿ 12 ಗಾಗಿ ಕಾಯುತ್ತಿದೆ ಎಂಬುದನ್ನು ಕಂಡುಹಿಡಿಯಲು ನಾವು ಈ ಎಲ್ಲಾ ತುಣುಕುಗಳನ್ನು ಒಟ್ಟಿಗೆ ಸೇರಿಸಬೇಕಾಗಿದೆ. ಇದು ನನ್ನ ಪ್ರಮಾಣಿತ ಏಕೀಕೃತ ಲಾಗ್‌ಗಿಂತ ತುಂಬಾ ಭಿನ್ನವಾಗಿದೆ: ನಡೆಯಲು ಸಂವಾದಾತ್ಮಕ ಟರ್ಮಿನಲ್/ಡೀಬಗ್ಗರ್ ಅನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ. ಹಂತ ಹಂತವಾಗಿ ಪ್ರಕ್ರಿಯೆಯ ಮೂಲಕ. ಡೀಬಗ್ ಮಾಡುವುದು ಮತ್ತು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಅಂತರ್ಗತವಾಗಿ ಹೆಚ್ಚು ಕಷ್ಟಕರವಾಗಿದೆ.

ಅದನ್ನು ಡೀಬಗ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ನಾವು ಅವುಗಳನ್ನು ಪರೀಕ್ಷಿಸುತ್ತೇವೆ

ನಿರಂತರ ಏಕೀಕರಣ ಮತ್ತು ನಿರಂತರ ಅಭಿವೃದ್ಧಿ ಈಗ ಸಾಮಾನ್ಯವಾಗುತ್ತಿದೆ. ನಾನು ನೋಡುವ ಹೆಚ್ಚಿನ ಹೊಸ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಪ್ರತಿ ಹೊಸ ಬಿಡುಗಡೆಯೊಂದಿಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪರೀಕ್ಷೆಗಳನ್ನು ರಚಿಸುತ್ತವೆ ಮತ್ತು ರನ್ ಮಾಡುತ್ತವೆ ಮತ್ತು ನೋಂದಣಿಗೆ ಮೊದಲು ಪರೀಕ್ಷೆಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬೇಕು ಮತ್ತು ಪರಿಶೀಲಿಸಬೇಕು. ಇವುಗಳು ಕೈಬಿಡಬಾರದು ಮತ್ತು ಅನೇಕ ಕಂಪನಿಗಳಿಗೆ ದೊಡ್ಡ ಬದಲಾವಣೆಯಾಗಿದೆ. ಆದರೆ ಈಗ, ಸೇವೆಯನ್ನು ನಿಜವಾಗಿಯೂ ಪರೀಕ್ಷಿಸಲು, ನನ್ನ ಅಪ್ಲಿಕೇಶನ್‌ನ ಪೂರ್ಣ ಕಾರ್ಯ ಆವೃತ್ತಿಯನ್ನು ನಾನು ಎಳೆಯಬೇಕಾಗಿದೆ. 8 ಸೇವೆಗಳ K150 ಕ್ಲಸ್ಟರ್‌ನೊಂದಿಗೆ ಹೊಸ ಎಂಜಿನಿಯರ್ ಅನ್ನು ನೆನಪಿಸಿಕೊಳ್ಳಿ? ಸರಿ, ಈಗ ನಾವು ನಮ್ಮ CI ಸಿಸ್ಟಮ್‌ಗೆ ಎಲ್ಲವನ್ನೂ ನಿಜವಾಗಿಯೂ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲು ಈ ಎಲ್ಲಾ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಹೇಗೆ ತರುವುದು ಎಂದು ಕಲಿಸುತ್ತೇವೆ. ಇದು ಬಹುಶಃ ತುಂಬಾ ಪ್ರಯತ್ನವಾಗಿದೆ, ಆದ್ದರಿಂದ ನಾವು ಪ್ರತಿ ಭಾಗವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಪರೀಕ್ಷಿಸುತ್ತೇವೆ: ನಮ್ಮ ಸ್ಪೆಕ್ಸ್ ಸಾಕಷ್ಟು ಉತ್ತಮವಾಗಿದೆ, API ಗಳು ಸ್ವಚ್ಛವಾಗಿವೆ ಮತ್ತು ಸೇವಾ ವೈಫಲ್ಯವು ಪ್ರತ್ಯೇಕವಾಗಿದೆ ಮತ್ತು ಇತರರ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ ಎಂದು ನನಗೆ ವಿಶ್ವಾಸವಿದೆ.

ಎಲ್ಲಾ ಹೊಂದಾಣಿಕೆಗಳಿಗೆ ಒಳ್ಳೆಯ ಕಾರಣವಿದೆ. ಸರಿ?

ಮೈಕ್ರೊ ಸರ್ವೀಸ್‌ಗೆ ಹೋಗಲು ಹಲವು ಕಾರಣಗಳಿವೆ. ಹೆಚ್ಚಿನ ನಮ್ಯತೆಗಾಗಿ, ಸ್ಕೇಲಿಂಗ್ ತಂಡಗಳಿಗಾಗಿ, ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ, ಉತ್ತಮ ಸಮರ್ಥನೀಯತೆಯನ್ನು ಒದಗಿಸಲು ಇದನ್ನು ಮಾಡಿರುವುದನ್ನು ನಾನು ನೋಡಿದ್ದೇನೆ. ಆದರೆ ವಾಸ್ತವದಲ್ಲಿ, ವಿಕಸನಗೊಳ್ಳುತ್ತಲೇ ಇರುವ ಏಕಶಿಲೆಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ನಾವು ಉಪಕರಣಗಳು ಮತ್ತು ಅಭ್ಯಾಸಗಳಲ್ಲಿ ದಶಕಗಳಿಂದ ಹೂಡಿಕೆ ಮಾಡಿದ್ದೇವೆ. ನಾನು ವಿವಿಧ ತಂತ್ರಜ್ಞಾನಗಳಲ್ಲಿ ವೃತ್ತಿಪರರೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತೇನೆ. ನಾವು ಸಾಮಾನ್ಯವಾಗಿ ಸ್ಕೇಲಿಂಗ್ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತೇವೆ ಏಕೆಂದರೆ ಅವುಗಳು ಒಂದೇ ಪೋಸ್ಟ್‌ಗ್ರೆಸ್ ಡೇಟಾಬೇಸ್ ನೋಡ್‌ನ ಮಿತಿಗಳಿಗೆ ಓಡುತ್ತವೆ. ಹೆಚ್ಚಿನ ಸಂಭಾಷಣೆಗಳು ಇದರ ಬಗ್ಗೆ ಡೇಟಾಬೇಸ್ ಸ್ಕೇಲಿಂಗ್.

ಆದರೆ ಅವರ ವಾಸ್ತುಶಿಲ್ಪದ ಬಗ್ಗೆ ಕಲಿಯಲು ನಾನು ಯಾವಾಗಲೂ ಆಸಕ್ತಿ ಹೊಂದಿದ್ದೇನೆ. ಮೈಕ್ರೊ ಸರ್ವೀಸ್‌ಗಳಿಗೆ ಪರಿವರ್ತನೆಯ ಯಾವ ಹಂತದಲ್ಲಿ ಅವು ಇವೆ? ಹೆಚ್ಚಿನ ಇಂಜಿನಿಯರ್‌ಗಳು ತಮ್ಮ ಏಕಶಿಲೆಯ ಅಪ್ಲಿಕೇಶನ್‌ನಿಂದ ಸಂತೋಷವಾಗಿದ್ದಾರೆ ಎಂದು ಹೇಳುವುದನ್ನು ನೋಡಲು ಆಸಕ್ತಿದಾಯಕವಾಗಿದೆ. ಮೈಕ್ರೊ ಸರ್ವೀಸ್‌ನಿಂದ ಅನೇಕ ಜನರು ಪ್ರಯೋಜನ ಪಡೆಯುತ್ತಾರೆ ಮತ್ತು ವಲಸೆಯ ಹಾದಿಯಲ್ಲಿನ ಉಬ್ಬುಗಳನ್ನು ಮೀರಿಸುತ್ತವೆ. ಆದರೆ ವೈಯಕ್ತಿಕವಾಗಿ, ದಯವಿಟ್ಟು ನನ್ನ ಏಕಶಿಲೆಯ ಅಪ್ಲಿಕೇಶನ್, ಸಮುದ್ರತೀರದಲ್ಲಿ ಒಂದು ಸ್ಥಳವನ್ನು ನೀಡಿ - ಮತ್ತು ನಾನು ಸಂಪೂರ್ಣವಾಗಿ ಸಂತೋಷವಾಗಿದ್ದೇನೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ