ಸ್ಥಾಪನಾ ವಿನ್ಯಾಸ: ಶೂನ್ಯ-ಡೌನ್‌ಟೈಮ್ ಉತ್ಪಾದನಾ ವ್ಯವಸ್ಥೆ

ಈ ಲೇಖನವು ಸ್ವಯಂಚಾಲಿತ ಪುನಃಪ್ರಾರಂಭ ಮತ್ತು ಶೂನ್ಯ ಡೌನ್‌ಟೈಮ್‌ನೊಂದಿಗೆ ನಾವು ವೆಬ್‌ಸೈಟ್‌ನ್ನು ಹೇಗೆ ಸ್ಥಾಪಿಸುತ್ತೇವೆ ಮತ್ತು ಚಲಾಯಿಸುತ್ತೇವೆ ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ.

ಸಮಸ್ಯೆ: ಹಸ್ತಚಾಲಿತ ಸ್ಥಾಪನೆಯು ಅಪಾಯಕಾರಿ

ಸಾಂಪ್ರದಾಯಿಕ ಸ್ಥಾಪನೆಗೆ ಅಗತ್ಯವಿದೆ:

  • ಹಸ್ತಚಾಲಿತ ಸರ್ವರ್ ಪುನಃಪ್ರಾರಂಭ: ಡೌನ್‌ಟೈಮ್‌ಗೆ ಕಾರಣವಾಗುತ್ತದೆ

  • ಸೇವಾ ಮೇಲ್ವಿಚಾರಣೆ: ಕುಸಿತಗಳಿಗಾಗಿ ಯಾರಾದರೂ ಗಮನಿಸಬೇಕು

  • ಕೋಡ್ ನವೀಕರಣಗಳು: SSH ಪ್ರವೇಶ ಮತ್ತು ಹಸ್ತಚಾಲಿತ ಹಂತಗಳು ಅಗತ್ಯ

  • ರೋಲ್‌ಬ್ಯಾಕ್: ಏನಾದರೂ ಮುರಿದರೆ ಹಸ್ತಚಾಲಿತ ಪ್ರಕ್ರಿಯೆ

ಇದು ಪ್ರಮಾಣೀಕರಿಸುವುದಿಲ್ಲ ಮತ್ತು ನವೀಕರಣಗಳ ಸಮಯದಲ್ಲಿ ಡೌನ್‌ಟೈಮ್‌ಗೆ ಕಾರಣವಾಗುತ್ತದೆ.

ಪರಿಹಾರ: ಸಿಸ್ಟಮ್‌ಡಿ ಜೊತೆಗೆ ಸ್ವಯಂಚಾಲಿತ ಸ್ಥಾಪನೆ

ಅಪ್ಲಿಕೇಶನ್ ನಿರ್ವಹಿಸಲು ನಾವು ಸಿಸ್ಟಮ್‌ಡಿ ಬಳಸುತ್ತೇವೆ (ಮೂಲಸೌಕರ್ಯ ಅವಲೋಕನ ನೋಡಿ):

  • ಸ್ವಯಂ-ಪುನಃಪ್ರಾರಂಭ: ಕುಸಿತ ಅಥವಾ ಕೋಡ್ ಬದಲಾವಣೆಯ ಸಮಯದಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪುನಃಪ್ರಾರಂಭಿಸುತ್ತದೆ

  • ಶೂನ್ಯ ಡೌನ್‌ಟೈಮ್: ಸೌಮ್ಯ ಕಾರ್ಮಿಕ ಪುನಃಪ್ರಾರಂಭಗಳು

  • ಲಾಗಿಂಗ್: ಕೇಂದ್ರೀಕೃತ ಲಾಗ್ ನಿರ್ವಹಣೆ

  • ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಹಣೆ: ಕಾರ್ಮಿಕ ಜೀವನಚಕ್ರವನ್ನು ನಿಭಾಯಿಸುತ್ತದೆ

ಸರ್ವರ್ ಮೂಲಸೌಕರ್ಯ

ಉತ್ಪಾದನಾ ಸರ್ವರ್

ಉತ್ಪಾದನಾ ಸರ್ವರ್ ಸಾರ್ವಜನಿಕರಿಗೆ ತೆರೆದಿರುವ ವೆಬ್‌ಸೈಟ್ ಅನ್ನು ಹೋಸ್ಟ್ ಮಾಡುತ್ತದೆ:

  • ಉದ್ದೇಶ: ಉತ್ಪನ್ನ ಕ್ಯಾಟಲಾಗ್ ಮತ್ತು ಇ-ಕಾಮರ್ಸ್ ಸೇವೆ ನೀಡುವ ಸಾರ್ವಜನಿಕ ವೆಬ್‌ಸೈಟ್

  • ಮಾಡ್ಯೂಲ್: "ವೆಬ್" ಮಾತ್ರ

  • ಪರಿಸರ: ಉತ್ಪಾದನೆ (ಗುನಿಕಾರ್ನ್ + ಸಿಸ್ಟಮ್‌ಡಿ)

  • ಪ್ರವೇಶ: ಸಾರ್ವಜನಿಕ (ಲಾಗಿನ್ ಅಗತ್ಯವಿಲ್ಲ)

ಅಪ್ಲಿಕೇಶನ್ ಸರ್ವರ್

ಗುನಿಕಾರ್ನ್

ಗುನಿಕಾರ್ನ್ ಉತ್ಪಾದನಾ ವೆಬ್ ಸರ್ವರ್ ಆಗಿದೆ:

  • ಬಹು-ಕಾರ್ಮಿಕ: ಬಹು ಕಾರ್ಮಿಕ ಪ್ರಕ್ರಿಯೆಗಳು

ಸಿಸ್ಟಮ್‌ಡಿ ಸಂಯೋಜನೆ

ಸಿಸ್ಟಮ್‌ಡಿ ಗುನಿಕಾರ್ನ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ:

  • ಸ್ವಯಂ-ಪ್ರಾರಂಭ: ಸರ್ವರ್ ಬೂಟ್ ಸಮಯದಲ್ಲಿ

  • ಸ್ವಯಂ-ಪುನಃಪ್ರಾರಂಭ: ಕುಸಿತ ಅಥವಾ ಕೋಡ್ ಬದಲಾವಣೆಯ ಸಮಯದಲ್ಲಿ

  • ಲಾಗಿಂಗ್: ಸಿಸ್ಟಮ್‌ಡಿ ಜರ್ನಲ್ ಸಂಯೋಜನೆ

  • ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಹಣೆ: ಕಾರ್ಮಿಕ ಜೀವನಚಕ್ರ

ಸಂರಚನೆ

ಪರಿಸರ ಸಂರಚನೆ

ಸಂರಚನೆಯು ಪರಿಸರ-ನಿರ್ದಿಷ್ಟವಾಗಿದೆ:

  • ಸಂರಚನಾ ಫೈಲ್‌ಗಳು: ಪರಿಸರ-ನಿರ್ದಿಷ್ಟ ಸೆಟ್ಟಿಂಗ್‌ಗಳು

  • JSON ಸ್ವರೂಪ: ಕೀ-ಮೌಲ್ಯ ಜೋಡಿಗಳು

  • ಪರಿಸರ ಚರಾಂಶಗಳು: ರಹಸ್ಯಗಳು ಮತ್ತು API ಕೀಗಳು

  • ಮಾಡ್ಯೂಲ್ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ: ಯಾವ ವೈಶಿಷ್ಟ್ಯಗಳು ಲೋಡ್ ಆಗಬೇಕು ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ

ಸ್ಥಿರ ಆಸ್ತಿಗಳು

ಸ್ಥಿರ ಆಸ್ತಿಗಳು ಅನ್ನು S3 ನಿಂದ ಕ್ಲೌಡ್‌ಫ್ರಂಟ್ CDN ನೊಂದಿಗೆ ಸೇವೆ ನೀಡಲಾಗುತ್ತದೆ:

  • S3 ಬಕೆಟ್: ಸ್ಥಿರ ಫೈಲ್‌ಗಳಿಗಾಗಿ ಆಬ್ಜೆಕ್ಟ್ ಸಂಗ್ರಹಣೆ

  • ಕ್ಲೌಡ್‌ಫ್ರಂಟ್: ಜಾಗತಿಕ ಆಸ್ತಿ ವಿತರಣೆಗಾಗಿ CDN

  • ಕ್ಯಾಶಿಂಗ್: ಸ್ಥಿರ ವಿಷಯಕ್ಕೆ ದೀರ್ಘ TTL

  • ವರ್ಷನಿಂಗ್: ವರ್ಷನ್ ಸಂಖ್ಯೆಗಳೊಂದಿಗೆ ಕ್ಯಾಶ್-ಬಸ್ಟಿಂಗ್

ಸ್ಥಾಪನಾ ಪ್ರಕ್ರಿಯೆ

ಕೋಡ್ ಸ್ಥಾಪನೆ

ಕೋಡ್ ಅನ್ನು ಗಿಟ್ ಮೂಲಕ ಸ್ಥಾಪಿಸಲಾಗುತ್ತದೆ, ಅಪ್ಲಿಕೇಶನ್ ಸೇವೆಯನ್ನು ಸಿಸ್ಟಮ್‌ಡಿ ನಿರ್ವಹಿಸುತ್ತದೆ:

  1. ಕಮಿಟ್ ಮತ್ತು ಪುಶ್: ಬದಲಾವಣೆಗಳನ್ನು ಗಿಟ್ ರೆಪೊಸಿಟರಿಗೆ ಪುಶ್ ಮಾಡಲಾಗುತ್ತದೆ
  2. ಸರ್ವರ್‌ನಲ್ಲಿ ಪುಲ್: ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದನಾ ಸರ್ವರ್‌ಗೆ ಪುಲ್ ಮಾಡಲಾಗುತ್ತದೆ
  3. ಸಿಸ್ಟಮ್‌ಡಿ ಪುನಃಪ್ರಾರಂಭ: ಕುಸಿತ ಸಮಯದಲ್ಲಿ ಸೇವೆಯು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪುನಃಪ್ರಾರಂಭಗೊಳ್ಳುತ್ತದೆ

ಸಂರಚನಾ ಸ್ಥಾಪನೆ

ಸಂರಚನೆಯನ್ನು ಕೋಡ್‌ನಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ:

  1. ಸಂರಚನಾ ಫೈಲ್‌ಗಳು: ಗಿಟ್‌ನಲ್ಲಿರುವ JSON ಸಂರಚನಾ ಫೈಲ್‌ಗಳು
  2. ಪರಿಸರ ಚರಾಂಶಗಳು: ಪರಿಸರದಿಂದ ಲೋಡ್ ಮಾಡಲಾದ ರಹಸ್ಯಗಳು
  3. ಮಾಡ್ಯೂಲ್ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ: ಯಾವ ವೈಶಿಷ್ಟ್ಯಗಳು ಲೋಡ್ ಆಗಬೇಕು ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ

ಮೇಲ್ವಿಚಾರಣೆ

ಆರೋಗ್ಯ ಪರಿಶೀಲನೆಗಳು

ಆರೋಗ್ಯ ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಳು ಸರ್ವರ್ ಸ್ಥಿತಿಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುತ್ತವೆ:

  • ಆರೋಗ್ಯ ಎಂಡ್‌ಪಾಯಿಂಟ್: ಮೂಲ ಆರೋಗ್ಯ ಪರಿಶೀಲನೆ

  • ಡೇಟಾಬೇಸ್ ಪರಿಶೀಲನೆ: ಡೇಟಾಬೇಸ್ ಸಂಪರ್ಕ

  • ಕ್ಯಾಶೆ ಪರಿಶೀಲನೆ: ಕ್ಯಾಶೆ ಸಂಪರ್ಕ

ಲಾಗಿಂಗ್

ಲಾಗ್‌ಗಳು ಅನ್ನು ಬಹು ಸ್ಥಳಗಳಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ:

  • ಗುನಿಕಾರ್ನ್ ದೋಷ ಲಾಗ್‌ಗಳು: ಅಪ್ಲಿಕೇಶನ್ ದೋಷಗಳು

  • ಗುನಿಕಾರ್ನ್ ಪ್ರವೇಶ ಲಾಗ್‌ಗಳು: HTTP ವಿನಂತಿಗಳು

  • ಸೇವಾ ಲಾಗ್‌ಗಳು: ಸಿಸ್ಟಮ್‌ಡಿ ಜರ್ನಲ್

ಸಾರಾಂಶ

ಸ್ಥಾಪನಾ ವಿನ್ಯಾಸವು ಒದಗಿಸುತ್ತದೆ:

  • ಗುನಿಕಾರ್ನ್: ಉತ್ಪಾದನಾ WSGI ಸರ್ವರ್

  • ಸಿಸ್ಟಮ್‌ಡಿ: ಸ್ವಯಂ-ಪುನಃಪ್ರಾರಂಭ ಮತ್ತು ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಹಣೆ

  • ಗಿಟ್ ಸ್ಥಾಪನೆ: ಕೋಡ್ ಮತ್ತು ಸಂರಚನಾ ನಿರ್ವಹಣೆ

  • S3 + ಕ್ಲೌಡ್‌ಫ್ರಂಟ್: ಸ್ಥಿರ ಆಸ್ತಿ ವಿತರಣೆ

  • ಆರೋಗ್ಯ ಮೇಲ್ವಿಚಾರಣೆ: ಆರೋಗ್ಯ ಪರಿಶೀಲನೆ ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಳು

  • ಲಾಗಿಂಗ್: ದೋಷ ಮತ್ತು ಪ್ರವೇಶ ಲಾಗ್‌ಗಳು