ನಮ್ಮಲ್ಲಿ ಹೆಚ್ಚಿನವರು, ಐಟಿ ಬ್ಲಾಗೋಸ್ಪಿಯರ್ ಅಥವಾ ಸಮ್ಮೇಳನದಲ್ಲಿ ಮತ್ತೊಂದು ಹೊಸ ಪದವನ್ನು ಗಮನಿಸಿ, ಬೇಗ ಅಥವಾ ನಂತರ ಇದೇ ರೀತಿಯ ಪ್ರಶ್ನೆಯನ್ನು ಕೇಳುತ್ತಾರೆ: “ಇದು ಏನು? ಕೇವಲ ಮತ್ತೊಂದು ಬಝ್ವರ್ಡ್, "ಬಝ್ವರ್ಡ್" ಅಥವಾ ಹೊಸ ಹಾರಿಜಾನ್ಗಳ ಬಗ್ಗೆ ಹೆಚ್ಚು ಗಮನ ಹರಿಸಲು, ಅಧ್ಯಯನ ಮಾಡಲು ಮತ್ತು ಭರವಸೆ ನೀಡಲು ನಿಜವಾಗಿಯೂ ಯೋಗ್ಯವಾಗಿದೆಯೇ?" ಪದದೊಂದಿಗೆ ನನಗೆ ಅದೇ ಸಂಭವಿಸಿದೆ GitOps ಸ್ವಲ್ಪ ಸಮಯದ ಹಿಂದೆ. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಅನೇಕ ಲೇಖನಗಳೊಂದಿಗೆ ಶಸ್ತ್ರಸಜ್ಜಿತವಾಗಿದೆ, ಜೊತೆಗೆ ಕಂಪನಿಯ ಸಹೋದ್ಯೋಗಿಗಳ ಜ್ಞಾನ
ಮೂಲಕ, ಪದದ ನವೀನತೆಯ ಬಗ್ಗೆ GitOps ನಮ್ಮ ಇತ್ತೀಚಿನ ಸಮೀಕ್ಷೆಯು ಸಹ ಹೇಳುತ್ತದೆ: ಸಮೀಕ್ಷೆ ಮಾಡಿದವರಲ್ಲಿ ಅರ್ಧಕ್ಕಿಂತ ಹೆಚ್ಚು ಜನರು ಇನ್ನೂ ಅದರ ತತ್ವಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಪ್ರಾರಂಭಿಸಿಲ್ಲ.
ಹಾಗಾಗಿ ಮೂಲಸೌಕರ್ಯ ನಿರ್ವಹಣೆಯ ಸಮಸ್ಯೆ ಹೊಸದೇನಲ್ಲ. ಅನೇಕ ಕ್ಲೌಡ್ ಪೂರೈಕೆದಾರರು ಉತ್ತಮ ಡಜನ್ ವರ್ಷಗಳಿಂದ ಸಾಮಾನ್ಯ ಜನರಿಗೆ ಲಭ್ಯವಿದ್ದಾರೆ ಮತ್ತು ಮೂಲಸೌಕರ್ಯಕ್ಕೆ ಜವಾಬ್ದಾರರಾಗಿರುವ ತಂಡಗಳ ಕೆಲಸವನ್ನು ಸರಳ ಮತ್ತು ನೇರಗೊಳಿಸಬೇಕು ಎಂದು ತೋರುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಅಪ್ಲಿಕೇಶನ್ ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಗೆ ಹೋಲಿಸಿದರೆ (ಯಾಂತ್ರೀಕರಣವು ಎಂದಿಗೂ ಹೊಸ ಹಂತಗಳನ್ನು ತಲುಪುತ್ತಿದೆ), ಮೂಲಸೌಕರ್ಯ ಯೋಜನೆಗಳು ಇನ್ನೂ ಅನೇಕ ಹಸ್ತಚಾಲಿತ ಕಾರ್ಯಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ ಮತ್ತು ವಿಶೇಷ ಜ್ಞಾನ ಮತ್ತು ಪರಿಣತಿಯ ಅಗತ್ಯವಿರುತ್ತದೆ, ವಿಶೇಷವಾಗಿ ದೋಷ ಸಹಿಷ್ಣುತೆ, ನಮ್ಯತೆ, ಸ್ಕೇಲೆಬಿಲಿಟಿ ಮತ್ತು ಸ್ಥಿತಿಸ್ಥಾಪಕತ್ವಕ್ಕಾಗಿ ಇಂದಿನ ಅವಶ್ಯಕತೆಗಳನ್ನು ನೀಡಲಾಗಿದೆ.
ಕ್ಲೌಡ್ ಸೇವೆಗಳು ಈ ಅವಶ್ಯಕತೆಗಳನ್ನು ಬಹಳ ಯಶಸ್ವಿಯಾಗಿ ಪೂರೈಸಿದವು ಮತ್ತು ಅವರು ವಿಧಾನದ ಅಭಿವೃದ್ಧಿಗೆ ಗಮನಾರ್ಹ ಪ್ರಚೋದನೆಯನ್ನು ನೀಡಿದರು ಐಎಸಿ. ಇದು ಅರ್ಥವಾಗುವಂತಹದ್ದಾಗಿದೆ. ಎಲ್ಲಾ ನಂತರ, ಅವರು ಸಂಪೂರ್ಣವಾಗಿ ವರ್ಚುವಲ್ ಡೇಟಾ ಸೆಂಟರ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಿಸಿದ್ದಾರೆ: ಯಾವುದೇ ಭೌತಿಕ ಸರ್ವರ್ಗಳು, ಚರಣಿಗೆಗಳು ಅಥವಾ ನೆಟ್ವರ್ಕ್ ಘಟಕಗಳಿಲ್ಲ; ಸಂಪೂರ್ಣ ಮೂಲಸೌಕರ್ಯವನ್ನು ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಮತ್ತು ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ವಿವರಿಸಬಹುದು.
ಆದ್ದರಿಂದ ವ್ಯತ್ಯಾಸ ನಿಖರವಾಗಿ ಏನು? GitOps ರಿಂದ ಐಎಸಿ? ಈ ಪ್ರಶ್ನೆಯೊಂದಿಗೆ ನಾನು ನನ್ನ ತನಿಖೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿದೆ. ಸಹೋದ್ಯೋಗಿಗಳೊಂದಿಗೆ ಮಾತನಾಡಿದ ನಂತರ, ನಾನು ಈ ಕೆಳಗಿನ ಹೋಲಿಕೆಯೊಂದಿಗೆ ಬರಲು ಸಾಧ್ಯವಾಯಿತು:
GitOps
ಐಎಸಿ
ಎಲ್ಲಾ ಕೋಡ್ ಅನ್ನು ಜಿಟ್ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ
ಕೋಡ್ ಆವೃತ್ತಿಯು ಐಚ್ಛಿಕವಾಗಿರುತ್ತದೆ
ಘೋಷಣಾತ್ಮಕ ಕೋಡ್ ವಿವರಣೆ / ಐಡೆಂಪೊಟೆನ್ಸಿ
ಘೋಷಣಾತ್ಮಕ ಮತ್ತು ಕಡ್ಡಾಯ ವಿವರಣೆಗಳು ಎರಡೂ ಸ್ವೀಕಾರಾರ್ಹವಾಗಿವೆ
ವಿಲೀನ ವಿನಂತಿ / ಪುಲ್ ವಿನಂತಿ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಬದಲಾವಣೆಗಳು ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತವೆ
ಒಪ್ಪಂದ, ಅನುಮೋದನೆ ಮತ್ತು ಸಹಯೋಗವು ಐಚ್ಛಿಕವಾಗಿರುತ್ತದೆ
ನವೀಕರಣ ರೋಲ್ಔಟ್ ಪ್ರಕ್ರಿಯೆಯು ಸ್ವಯಂಚಾಲಿತವಾಗಿದೆ
ನವೀಕರಣ ರೋಲ್ಔಟ್ ಪ್ರಕ್ರಿಯೆಯು ಪ್ರಮಾಣಿತವಾಗಿಲ್ಲ (ಸ್ವಯಂಚಾಲಿತ, ಕೈಪಿಡಿ, ಫೈಲ್ಗಳನ್ನು ನಕಲಿಸುವುದು, ಆಜ್ಞಾ ಸಾಲಿನ ಬಳಸಿ, ಇತ್ಯಾದಿ.)
ಬೇರೆ ಪದಗಳಲ್ಲಿ GitOps ತತ್ವಗಳ ಅನ್ವಯದ ಮೂಲಕ ನಿಖರವಾಗಿ ಜನಿಸಿದರು ಐಎಸಿ. ಮೊದಲನೆಯದಾಗಿ, ಮೂಲಸೌಕರ್ಯ ಮತ್ತು ಸಂರಚನೆಗಳನ್ನು ಈಗ ಅಪ್ಲಿಕೇಶನ್ಗಳ ರೀತಿಯಲ್ಲಿಯೇ ಸಂಗ್ರಹಿಸಬಹುದು. ಕೋಡ್ ಸಂಗ್ರಹಿಸಲು ಸುಲಭ, ಹಂಚಿಕೊಳ್ಳಲು, ಹೋಲಿಸಲು ಮತ್ತು ಆವೃತ್ತಿ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಬಳಸಲು ಸುಲಭವಾಗಿದೆ. ಆವೃತ್ತಿಗಳು, ಶಾಖೆಗಳು, ಇತಿಹಾಸ. ಮತ್ತು ಇಡೀ ತಂಡಕ್ಕೆ ಸಾರ್ವಜನಿಕವಾಗಿ ಪ್ರವೇಶಿಸಬಹುದಾದ ಸ್ಥಳದಲ್ಲಿ ಇದೆಲ್ಲವೂ. ಆದ್ದರಿಂದ, ಆವೃತ್ತಿ ನಿಯಂತ್ರಣ ವ್ಯವಸ್ಥೆಗಳ ಬಳಕೆಯು ಸಂಪೂರ್ಣವಾಗಿ ನೈಸರ್ಗಿಕ ಬೆಳವಣಿಗೆಯಾಯಿತು. ನಿರ್ದಿಷ್ಟವಾಗಿ, ಜಿಟ್, ಹೆಚ್ಚು ಜನಪ್ರಿಯವಾಗಿದೆ.
ಮತ್ತೊಂದೆಡೆ, ಮೂಲಸೌಕರ್ಯ ನಿರ್ವಹಣೆ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಲು ಸಾಧ್ಯವಾಯಿತು. ಈಗ ಇದನ್ನು ವೇಗವಾಗಿ, ಹೆಚ್ಚು ವಿಶ್ವಾಸಾರ್ಹವಾಗಿ ಮತ್ತು ಅಗ್ಗವಾಗಿ ಮಾಡಬಹುದು. ಇದಲ್ಲದೆ, CI / CD ಯ ತತ್ವಗಳು ಈಗಾಗಲೇ ಸಾಫ್ಟ್ವೇರ್ ಡೆವಲಪರ್ಗಳಲ್ಲಿ ತಿಳಿದಿವೆ ಮತ್ತು ಜನಪ್ರಿಯವಾಗಿವೆ. ಈಗಾಗಲೇ ತಿಳಿದಿರುವ ಜ್ಞಾನ ಮತ್ತು ಕೌಶಲ್ಯಗಳನ್ನು ಹೊಸ ಪ್ರದೇಶಕ್ಕೆ ವರ್ಗಾಯಿಸಲು ಮತ್ತು ಅನ್ವಯಿಸಲು ಮಾತ್ರ ಇದು ಅಗತ್ಯವಾಗಿತ್ತು. ಆದಾಗ್ಯೂ, ಈ ಅಭ್ಯಾಸಗಳು ಮೂಲಸೌಕರ್ಯವನ್ನು ಕೋಡ್ನಂತೆ ಪ್ರಮಾಣಿತ ವ್ಯಾಖ್ಯಾನವನ್ನು ಮೀರಿವೆ, ಆದ್ದರಿಂದ ಪರಿಕಲ್ಪನೆಯಾಗಿದೆ GitOps.
ಕುತೂಹಲ GitOps, ಸಹಜವಾಗಿ, ಇದು ಯಾವುದೇ ಮಾರಾಟಗಾರರೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದ ಉತ್ಪನ್ನ, ಪ್ಲಗಿನ್ ಅಥವಾ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಅಲ್ಲ ಎಂಬ ಅಂಶದಲ್ಲಿ. ಇದು ನಮಗೆ ಪರಿಚಿತವಾಗಿರುವ ಮತ್ತೊಂದು ಪದದಂತೆಯೇ ಒಂದು ಮಾದರಿ ಮತ್ತು ತತ್ವಗಳ ಒಂದು ಸೆಟ್ ಆಗಿದೆ: DevOps.
ಕಂಪನಿಯಲ್ಲಿ
GitOps ಎನ್ನುವುದು ಆವೃತ್ತಿ ನಿಯಂತ್ರಣ, ಸಹಯೋಗ, ಆರ್ಕೆಸ್ಟ್ರೇಶನ್, CI/CD ಯಂತಹ ಅಪ್ಲಿಕೇಶನ್ ಅಭಿವೃದ್ಧಿಗೆ ಬಳಸಲಾಗುವ ಅತ್ಯುತ್ತಮ DevOps ತತ್ವಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುವ ವಿಧಾನವಾಗಿದೆ ಮತ್ತು ಮೂಲಭೂತ ಸೌಕರ್ಯ ನಿರ್ವಹಣೆಯನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವ ಸವಾಲುಗಳಿಗೆ ಅವುಗಳನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ.
ಎಲ್ಲಾ ಪ್ರಕ್ರಿಯೆಗಳು GitOps ನಾನು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಉಪಕರಣಗಳನ್ನು ಬಳಸಿ ಕೆಲಸ ಮಾಡುತ್ತೇನೆ. ಎಲ್ಲಾ ಮೂಲಸೌಕರ್ಯ ಕೋಡ್ ಅನ್ನು ಈಗಾಗಲೇ ಪರಿಚಿತವಾಗಿರುವ ಜಿಟ್ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ, ಬದಲಾವಣೆಗಳು ಯಾವುದೇ ಇತರ ಪ್ರೋಗ್ರಾಂ ಕೋಡ್ನಂತೆ ಅದೇ ಅನುಮೋದನೆ ಪ್ರಕ್ರಿಯೆಯ ಮೂಲಕ ಹೋಗುತ್ತವೆ ಮತ್ತು ರೋಲ್ಔಟ್ ಪ್ರಕ್ರಿಯೆಯು ಸ್ವಯಂಚಾಲಿತವಾಗಿರುತ್ತದೆ, ಇದು ಮಾನವ ದೋಷಗಳನ್ನು ಕಡಿಮೆ ಮಾಡಲು, ವಿಶ್ವಾಸಾರ್ಹತೆ ಮತ್ತು ಪುನರುತ್ಪಾದನೆಯನ್ನು ಹೆಚ್ಚಿಸಲು ನಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ಪ್ರಾಯೋಗಿಕ ದೃಷ್ಟಿಕೋನದಿಂದ, ನಾವು ವಿವರಿಸುತ್ತೇವೆ GitOps ಕೆಳಗಿನಂತೆ:
ಈ ಸೂತ್ರದ ಪ್ರಮುಖ ಅಂಶಗಳಲ್ಲಿ ಒಂದಾಗಿ ನಾವು ಈಗಾಗಲೇ ಮೂಲಸೌಕರ್ಯವನ್ನು ಕೋಡ್ನಂತೆ ಚರ್ಚಿಸಿದ್ದೇವೆ. ಉಳಿದ ಭಾಗಿಗಳನ್ನು ಪರಿಚಯಿಸೋಣ.
ವಿಲೀನ ವಿನಂತಿ (ಪರ್ಯಾಯ ಹೆಸರು ಪುಲ್ ವಿನಂತಿ). ಪ್ರಕ್ರಿಯೆಯ ಪರಿಭಾಷೆಯಲ್ಲಿ, MR ಕೋಡ್ ಬದಲಾವಣೆಗಳನ್ನು ಅನ್ವಯಿಸಲು ಮತ್ತು ನಂತರ ಶಾಖೆಗಳನ್ನು ವಿಲೀನಗೊಳಿಸಲು ವಿನಂತಿಯಾಗಿದೆ. ಆದರೆ ನಾವು ಬಳಸುವ ಪರಿಕರಗಳ ವಿಷಯದಲ್ಲಿ, ಮಾಡಲಾಗುತ್ತಿರುವ ಎಲ್ಲಾ ಬದಲಾವಣೆಗಳ ಸಂಪೂರ್ಣ ಚಿತ್ರವನ್ನು ಪಡೆಯಲು ಇದು ಹೆಚ್ಚು ಅವಕಾಶವಾಗಿದೆ: ನಿರ್ದಿಷ್ಟ ಸಂಖ್ಯೆಯ ಕಮಿಟ್ಗಳಿಂದ ಸಂಗ್ರಹಿಸಲಾದ ಕೋಡ್ ವ್ಯತ್ಯಾಸ ಮಾತ್ರವಲ್ಲ, ಸಂದರ್ಭ, ಪರೀಕ್ಷಾ ಫಲಿತಾಂಶಗಳು ಮತ್ತು ಅಂತಿಮ ನಿರೀಕ್ಷಿತ ಫಲಿತಾಂಶ. ನಾವು ಮೂಲಸೌಕರ್ಯ ಕೋಡ್ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತಿದ್ದರೆ, ಮೂಲಸೌಕರ್ಯವು ಎಷ್ಟು ನಿಖರವಾಗಿ ಬದಲಾಗುತ್ತದೆ, ಎಷ್ಟು ಹೊಸ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಸೇರಿಸಲಾಗುತ್ತದೆ ಅಥವಾ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ, ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ ಎಂಬುದರ ಕುರಿತು ನಾವು ಆಸಕ್ತಿ ಹೊಂದಿದ್ದೇವೆ. ಮೇಲಾಗಿ ಕೆಲವು ಹೆಚ್ಚು ಅನುಕೂಲಕರ ಮತ್ತು ಓದಲು ಸುಲಭವಾದ ಸ್ವರೂಪದಲ್ಲಿ. ಕ್ಲೌಡ್ ಪೂರೈಕೆದಾರರಿಗೆ, ಈ ಬದಲಾವಣೆಯ ಆರ್ಥಿಕ ಪರಿಣಾಮ ಏನೆಂದು ತಿಳಿಯುವುದು ಒಳ್ಳೆಯದು.
ಆದರೆ MR ಸಹ ಸಹಯೋಗ, ಸಂವಹನ ಮತ್ತು ಸಂವಹನದ ಸಾಧನವಾಗಿದೆ. ಚೆಕ್ ಮತ್ತು ಬ್ಯಾಲೆನ್ಸ್ ವ್ಯವಸ್ಥೆಯು ಕಾರ್ಯರೂಪಕ್ಕೆ ಬರುವ ಸ್ಥಳ. ಸರಳ ಕಾಮೆಂಟ್ಗಳಿಂದ ಔಪಚಾರಿಕ ಅನುಮೋದನೆಗಳು ಮತ್ತು ಅನುಮೋದನೆಗಳವರೆಗೆ.
ಸರಿ, ಕೊನೆಯ ಘಟಕ: CI/CD, ನಾವು ಈಗಾಗಲೇ ತಿಳಿದಿರುವಂತೆ, ಮೂಲಸೌಕರ್ಯ ಬದಲಾವಣೆಗಳು ಮತ್ತು ಪರೀಕ್ಷೆಯನ್ನು ಮಾಡುವ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ (ಸರಳ ಸಿಂಟ್ಯಾಕ್ಸ್ ಪರಿಶೀಲನೆಯಿಂದ ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದ ಸ್ಥಿರ ಕೋಡ್ ವಿಶ್ಲೇಷಣೆಯವರೆಗೆ). ಮತ್ತು ಡ್ರಿಫ್ಟ್ನ ನಂತರದ ಪತ್ತೆಯಲ್ಲಿ: ಸಿಸ್ಟಮ್ನ ನೈಜ ಮತ್ತು ಅಪೇಕ್ಷಿತ ಸ್ಥಿತಿಯ ನಡುವಿನ ವ್ಯತ್ಯಾಸಗಳು. ಉದಾಹರಣೆಗೆ, ಅನಧಿಕೃತ ಹಸ್ತಚಾಲಿತ ಬದಲಾವಣೆಗಳು ಅಥವಾ ಸಿಸ್ಟಮ್ ವೈಫಲ್ಯದ ಪರಿಣಾಮವಾಗಿ.
ಹೌದು, ಪದ GitOps ಸಂಪೂರ್ಣವಾಗಿ ಹೊಸದನ್ನು ನಮಗೆ ಪರಿಚಯಿಸುವುದಿಲ್ಲ, ಚಕ್ರವನ್ನು ಮರುಶೋಧಿಸುವುದಿಲ್ಲ, ಆದರೆ ಹೊಸ ಪ್ರದೇಶದಲ್ಲಿ ಈಗಾಗಲೇ ಸಂಗ್ರಹವಾದ ಅನುಭವವನ್ನು ಸರಳವಾಗಿ ಅನ್ವಯಿಸುತ್ತದೆ. ಆದರೆ ಅವರ ಶಕ್ತಿ ಇರುವುದು ಇಲ್ಲಿಯೇ.
ಮತ್ತು ಇದು ಆಚರಣೆಯಲ್ಲಿ ಹೇಗೆ ಕಾಣುತ್ತದೆ ಎಂಬುದರ ಬಗ್ಗೆ ನೀವು ಇದ್ದಕ್ಕಿದ್ದಂತೆ ಆಸಕ್ತಿ ಹೊಂದಿದ್ದರೆ, ನಮ್ಮದನ್ನು ನೋಡಲು ನಾನು ನಿಮ್ಮನ್ನು ಆಹ್ವಾನಿಸುತ್ತೇನೆ
-
GitOps ನ ಮೂಲ ತತ್ವಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿ
-
ಕ್ಲೌಡ್ ಮೂಲಸೌಕರ್ಯವನ್ನು ರಚಿಸಿ ಮತ್ತು ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿ (ಯಾಂಡೆಕ್ಸ್ ಮೇಘದ ಉದಾಹರಣೆಯನ್ನು ಬಳಸಿ)
-
ಸಕ್ರಿಯ ಮೇಲ್ವಿಚಾರಣೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಅಪೇಕ್ಷಿತ ಸ್ಥಿತಿಯಿಂದ ಸಿಸ್ಟಮ್ ಡ್ರಿಫ್ಟ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪತ್ತೆಹಚ್ಚುತ್ತದೆ
https://bit.ly/34tRpwZ
ಮೂಲ: www.habr.com