ಸ್ಥಾಪನಾ ವಿನ್ಯಾಸ: ಶೂನ್ಯ-ಡೌನ್ಟೈಮ್ ಉತ್ಪಾದನಾ ವ್ಯವಸ್ಥೆ
ಈ ಲೇಖನವು ಸ್ವಯಂಚಾಲಿತ ಪುನಃಪ್ರಾರಂಭ ಮತ್ತು ಶೂನ್ಯ ಡೌನ್ಟೈಮ್ನೊಂದಿಗೆ ನಾವು ವೆಬ್ಸೈಟ್ನ್ನು ಹೇಗೆ ಸ್ಥಾಪಿಸುತ್ತೇವೆ ಮತ್ತು ಚಲಾಯಿಸುತ್ತೇವೆ ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ.
ಸಮಸ್ಯೆ: ಹಸ್ತಚಾಲಿತ ಸ್ಥಾಪನೆಯು ಅಪಾಯಕಾರಿ
ಸಾಂಪ್ರದಾಯಿಕ ಸ್ಥಾಪನೆಗೆ ಅಗತ್ಯವಿದೆ:
-
ಹಸ್ತಚಾಲಿತ ಸರ್ವರ್ ಪುನಃಪ್ರಾರಂಭ: ಡೌನ್ಟೈಮ್ಗೆ ಕಾರಣವಾಗುತ್ತದೆ
-
ಸೇವಾ ಮೇಲ್ವಿಚಾರಣೆ: ಕುಸಿತಗಳಿಗಾಗಿ ಯಾರಾದರೂ ಗಮನಿಸಬೇಕು
-
ಕೋಡ್ ನವೀಕರಣಗಳು: SSH ಪ್ರವೇಶ ಮತ್ತು ಹಸ್ತಚಾಲಿತ ಹಂತಗಳು ಅಗತ್ಯ
-
ರೋಲ್ಬ್ಯಾಕ್: ಏನಾದರೂ ಮುರಿದರೆ ಹಸ್ತಚಾಲಿತ ಪ್ರಕ್ರಿಯೆ
ಇದು ಪ್ರಮಾಣೀಕರಿಸುವುದಿಲ್ಲ ಮತ್ತು ನವೀಕರಣಗಳ ಸಮಯದಲ್ಲಿ ಡೌನ್ಟೈಮ್ಗೆ ಕಾರಣವಾಗುತ್ತದೆ.
ಪರಿಹಾರ: ಸಿಸ್ಟಮ್ಡಿ ಜೊತೆಗೆ ಸ್ವಯಂಚಾಲಿತ ಸ್ಥಾಪನೆ
ಅಪ್ಲಿಕೇಶನ್ ನಿರ್ವಹಿಸಲು ನಾವು ಸಿಸ್ಟಮ್ಡಿ ಬಳಸುತ್ತೇವೆ (ಮೂಲಸೌಕರ್ಯ ಅವಲೋಕನ ನೋಡಿ):
-
ಸ್ವಯಂ-ಪುನಃಪ್ರಾರಂಭ: ಕುಸಿತ ಅಥವಾ ಕೋಡ್ ಬದಲಾವಣೆಯ ಸಮಯದಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪುನಃಪ್ರಾರಂಭಿಸುತ್ತದೆ
-
ಶೂನ್ಯ ಡೌನ್ಟೈಮ್: ಸೌಮ್ಯ ಕಾರ್ಮಿಕ ಪುನಃಪ್ರಾರಂಭಗಳು
-
ಲಾಗಿಂಗ್: ಕೇಂದ್ರೀಕೃತ ಲಾಗ್ ನಿರ್ವಹಣೆ
-
ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಹಣೆ: ಕಾರ್ಮಿಕ ಜೀವನಚಕ್ರವನ್ನು ನಿಭಾಯಿಸುತ್ತದೆ
ಸರ್ವರ್ ಮೂಲಸೌಕರ್ಯ
ಉತ್ಪಾದನಾ ಸರ್ವರ್
ಉತ್ಪಾದನಾ ಸರ್ವರ್ ಸಾರ್ವಜನಿಕರಿಗೆ ತೆರೆದಿರುವ ವೆಬ್ಸೈಟ್ ಅನ್ನು ಹೋಸ್ಟ್ ಮಾಡುತ್ತದೆ:
-
ಉದ್ದೇಶ: ಉತ್ಪನ್ನ ಕ್ಯಾಟಲಾಗ್ ಮತ್ತು ಇ-ಕಾಮರ್ಸ್ ಸೇವೆ ನೀಡುವ ಸಾರ್ವಜನಿಕ ವೆಬ್ಸೈಟ್
-
ಮಾಡ್ಯೂಲ್: "ವೆಬ್" ಮಾತ್ರ
-
ಪರಿಸರ: ಉತ್ಪಾದನೆ (ಗುನಿಕಾರ್ನ್ + ಸಿಸ್ಟಮ್ಡಿ)
-
ಪ್ರವೇಶ: ಸಾರ್ವಜನಿಕ (ಲಾಗಿನ್ ಅಗತ್ಯವಿಲ್ಲ)
ಅಪ್ಲಿಕೇಶನ್ ಸರ್ವರ್
ಗುನಿಕಾರ್ನ್
ಗುನಿಕಾರ್ನ್ ಉತ್ಪಾದನಾ ವೆಬ್ ಸರ್ವರ್ ಆಗಿದೆ:
- ಬಹು-ಕಾರ್ಮಿಕ: ಬಹು ಕಾರ್ಮಿಕ ಪ್ರಕ್ರಿಯೆಗಳು
ಸಿಸ್ಟಮ್ಡಿ ಸಂಯೋಜನೆ
ಸಿಸ್ಟಮ್ಡಿ ಗುನಿಕಾರ್ನ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ:
-
ಸ್ವಯಂ-ಪ್ರಾರಂಭ: ಸರ್ವರ್ ಬೂಟ್ ಸಮಯದಲ್ಲಿ
-
ಸ್ವಯಂ-ಪುನಃಪ್ರಾರಂಭ: ಕುಸಿತ ಅಥವಾ ಕೋಡ್ ಬದಲಾವಣೆಯ ಸಮಯದಲ್ಲಿ
-
ಲಾಗಿಂಗ್: ಸಿಸ್ಟಮ್ಡಿ ಜರ್ನಲ್ ಸಂಯೋಜನೆ
-
ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಹಣೆ: ಕಾರ್ಮಿಕ ಜೀವನಚಕ್ರ
ಸಂರಚನೆ
ಪರಿಸರ ಸಂರಚನೆ
ಸಂರಚನೆಯು ಪರಿಸರ-ನಿರ್ದಿಷ್ಟವಾಗಿದೆ:
-
ಸಂರಚನಾ ಫೈಲ್ಗಳು: ಪರಿಸರ-ನಿರ್ದಿಷ್ಟ ಸೆಟ್ಟಿಂಗ್ಗಳು
-
JSON ಸ್ವರೂಪ: ಕೀ-ಮೌಲ್ಯ ಜೋಡಿಗಳು
-
ಪರಿಸರ ಚರಾಂಶಗಳು: ರಹಸ್ಯಗಳು ಮತ್ತು API ಕೀಗಳು
-
ಮಾಡ್ಯೂಲ್ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ: ಯಾವ ವೈಶಿಷ್ಟ್ಯಗಳು ಲೋಡ್ ಆಗಬೇಕು ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ
ಸ್ಥಿರ ಆಸ್ತಿಗಳು
ಸ್ಥಿರ ಆಸ್ತಿಗಳು ಅನ್ನು S3 ನಿಂದ ಕ್ಲೌಡ್ಫ್ರಂಟ್ CDN ನೊಂದಿಗೆ ಸೇವೆ ನೀಡಲಾಗುತ್ತದೆ:
-
S3 ಬಕೆಟ್: ಸ್ಥಿರ ಫೈಲ್ಗಳಿಗಾಗಿ ಆಬ್ಜೆಕ್ಟ್ ಸಂಗ್ರಹಣೆ
-
ಕ್ಲೌಡ್ಫ್ರಂಟ್: ಜಾಗತಿಕ ಆಸ್ತಿ ವಿತರಣೆಗಾಗಿ CDN
-
ಕ್ಯಾಶಿಂಗ್: ಸ್ಥಿರ ವಿಷಯಕ್ಕೆ ದೀರ್ಘ TTL
-
ವರ್ಷನಿಂಗ್: ವರ್ಷನ್ ಸಂಖ್ಯೆಗಳೊಂದಿಗೆ ಕ್ಯಾಶ್-ಬಸ್ಟಿಂಗ್
ಸ್ಥಾಪನಾ ಪ್ರಕ್ರಿಯೆ
ಕೋಡ್ ಸ್ಥಾಪನೆ
ಕೋಡ್ ಅನ್ನು ಗಿಟ್ ಮೂಲಕ ಸ್ಥಾಪಿಸಲಾಗುತ್ತದೆ, ಅಪ್ಲಿಕೇಶನ್ ಸೇವೆಯನ್ನು ಸಿಸ್ಟಮ್ಡಿ ನಿರ್ವಹಿಸುತ್ತದೆ:
- ಕಮಿಟ್ ಮತ್ತು ಪುಶ್: ಬದಲಾವಣೆಗಳನ್ನು ಗಿಟ್ ರೆಪೊಸಿಟರಿಗೆ ಪುಶ್ ಮಾಡಲಾಗುತ್ತದೆ
- ಸರ್ವರ್ನಲ್ಲಿ ಪುಲ್: ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದನಾ ಸರ್ವರ್ಗೆ ಪುಲ್ ಮಾಡಲಾಗುತ್ತದೆ
- ಸಿಸ್ಟಮ್ಡಿ ಪುನಃಪ್ರಾರಂಭ: ಕುಸಿತ ಸಮಯದಲ್ಲಿ ಸೇವೆಯು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪುನಃಪ್ರಾರಂಭಗೊಳ್ಳುತ್ತದೆ
ಸಂರಚನಾ ಸ್ಥಾಪನೆ
ಸಂರಚನೆಯನ್ನು ಕೋಡ್ನಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ:
- ಸಂರಚನಾ ಫೈಲ್ಗಳು: ಗಿಟ್ನಲ್ಲಿರುವ JSON ಸಂರಚನಾ ಫೈಲ್ಗಳು
- ಪರಿಸರ ಚರಾಂಶಗಳು: ಪರಿಸರದಿಂದ ಲೋಡ್ ಮಾಡಲಾದ ರಹಸ್ಯಗಳು
- ಮಾಡ್ಯೂಲ್ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ: ಯಾವ ವೈಶಿಷ್ಟ್ಯಗಳು ಲೋಡ್ ಆಗಬೇಕು ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ
ಮೇಲ್ವಿಚಾರಣೆ
ಆರೋಗ್ಯ ಪರಿಶೀಲನೆಗಳು
ಆರೋಗ್ಯ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು ಸರ್ವರ್ ಸ್ಥಿತಿಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುತ್ತವೆ:
-
ಆರೋಗ್ಯ ಎಂಡ್ಪಾಯಿಂಟ್: ಮೂಲ ಆರೋಗ್ಯ ಪರಿಶೀಲನೆ
-
ಡೇಟಾಬೇಸ್ ಪರಿಶೀಲನೆ: ಡೇಟಾಬೇಸ್ ಸಂಪರ್ಕ
-
ಕ್ಯಾಶೆ ಪರಿಶೀಲನೆ: ಕ್ಯಾಶೆ ಸಂಪರ್ಕ
ಲಾಗಿಂಗ್
ಲಾಗ್ಗಳು ಅನ್ನು ಬಹು ಸ್ಥಳಗಳಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ:
-
ಗುನಿಕಾರ್ನ್ ದೋಷ ಲಾಗ್ಗಳು: ಅಪ್ಲಿಕೇಶನ್ ದೋಷಗಳು
-
ಗುನಿಕಾರ್ನ್ ಪ್ರವೇಶ ಲಾಗ್ಗಳು: HTTP ವಿನಂತಿಗಳು
-
ಸೇವಾ ಲಾಗ್ಗಳು: ಸಿಸ್ಟಮ್ಡಿ ಜರ್ನಲ್
ಸಾರಾಂಶ
ಸ್ಥಾಪನಾ ವಿನ್ಯಾಸವು ಒದಗಿಸುತ್ತದೆ:
-
ಗುನಿಕಾರ್ನ್: ಉತ್ಪಾದನಾ WSGI ಸರ್ವರ್
-
ಸಿಸ್ಟಮ್ಡಿ: ಸ್ವಯಂ-ಪುನಃಪ್ರಾರಂಭ ಮತ್ತು ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಹಣೆ
-
ಗಿಟ್ ಸ್ಥಾಪನೆ: ಕೋಡ್ ಮತ್ತು ಸಂರಚನಾ ನಿರ್ವಹಣೆ
-
S3 + ಕ್ಲೌಡ್ಫ್ರಂಟ್: ಸ್ಥಿರ ಆಸ್ತಿ ವಿತರಣೆ
-
ಆರೋಗ್ಯ ಮೇಲ್ವಿಚಾರಣೆ: ಆರೋಗ್ಯ ಪರಿಶೀಲನೆ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು
-
ಲಾಗಿಂಗ್: ದೋಷ ಮತ್ತು ಪ್ರವೇಶ ಲಾಗ್ಗಳು