DevOps (3) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ CDN (Content Delivery Network) CDN์ด๋?CDN(์ฝํ ์ธ ์ ์ก ๋คํธ์ํฌ)์ ์ง๋ฆฌ์ ์ผ๋ก ๋ถ์ฐ๋ ์ฌ๋ฌ ๊ฐ์ ์๋ฒ→ ์น ์ฝํ ์ธ ๋ฅผ ์ฌ์ฉ์์ ๊ฐ๊น์ด ๊ณณ์์ ์ ์กํจ์ผ๋ก์จ ์ ์ก ์๋๋ฅผ ๋์์น ํ์ด์ง, ์ด๋ฏธ์ง, ๋์์ ๋ฑ์ ์ฝํ ์ธ ๋ฅผ ์ฌ์ฉ์์ ์ค์ ์์น์ ๊ฐ๊น์ด ์๋ฒ์ ์บ์ฑ์ฌ์ฉ์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์๋ฒ์์ ์ฝํ ์ธ ๋ฅผ ์ ์ก → ํ์ด์ง ๋ก๋ ์๊ฐ ๋จ์ถ, ๋ ๋น ๋ฅธ ๊ณ ์ฑ๋ฅ ์น ํ๊ฒฝ ๊ฒฝํ CDN์ ๋์ ์๋ฆฌCDN์ ์ธ ๊ฐ์ง ์ข ๋ฅ์ ์๋ฒ์ ์์กด์ค๋ฆฌ์ง ์๋ฒ์ฝํ ์ธ ์ ์๋ณธ ๋ฒ์ ์ด ํฌํจ๋์ด ์์ผ๋ฉฐ ์๋ณธ ์์ค ์ญํ ์ ํจ์ฝํ ์ธ ๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํ ๋๋ง๋ค ์ค๋ฆฌ์ง ์๋ฒ์์ ๋ณ๊ฒฝ์ค๋ฆฌ์ง ์๋ฒ๋ ์ฝํ ์ธ ๊ณต๊ธ์ ์ฒด๊ฐ ์์ ํ๊ณ ๊ด๋ฆฌ or ์จ๋ํํฐ ํด๋ผ์ฐ๋ ๊ณต๊ธ์ ์ฒด์ ์ธํ๋ผ(Amazon์ AWS S3 ๋๋ Google Cloud Storage)์์ ํธ์คํ ์ฃ์ง ์๋ฒ์ ์ธ๊ณ ์ฌ๋ฌ ์ง๋ฆฌ์ ์์น์ ์์น.. ๋ฌด์ค๋จ ๋ฐฐํฌ (Zero Downtime Deployment) ๋ฌด์ค๋จ ๋ฐฐํฌ๋?๋ฌด์ค๋จ ๋ฐฐํฌ๋ ์๋น์ค ์ฅ์ ์ ๋ฐฐํฌ์ ๋ถ๋ด์ ์ต์ํํ๊ธฐ ์ํด ์ด์ ์ค์ธ ์๋น์ค๋ฅผ ์ค๋จํ์ง ์๊ณ ์ ๊ท ์ํํธ์จ์ด๋ฅผ ๋ฐฐํฌํ๋ ๊ธฐ์ ๋ธ๋ฃจ-๊ทธ๋ฆฐ ๋ฐฐํฌ(Blue-Green Deployment) ๊ฐ๋ : ๋ ๊ฐ์ ํ๊ฒฝ(๋ธ๋ฃจ์ ๊ทธ๋ฆฐ)์ ์ ์งํ๋ฉฐ, ํ์ฌ ์ด์ ์ค์ธ ์๋น์ค ํ๊ฒฝ์ Blue, ์๋กญ๊ฒ ๋ฐฐํฌํ ํ๊ฒฝ์ Green์ด๋ผ๊ณ ํจ๋ฐฐํฌ ๊ณผ์ ์๋ก์ด ๋ฒ์ ์ ๊ทธ๋ฆฐ ํ๊ฒฝ์ ๋ฐฐํฌํ ํ, ์ถฉ๋ถํ ํ ์คํธ๋ฅผ ๊ฑฐ์นจํ ์คํธ ์๋ฃ ํ ํธ๋ํฝ์ ๋ธ๋ฃจ ํ๊ฒฝ์์ ๊ทธ๋ฆฐ ํ๊ฒฝ์ผ๋ก ์ ํ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ค์ ๋ธ๋ฃจ ํ๊ฒฝ์ผ๋ก ํธ๋ํฝ์ ์ ํํ์ฌ ๋กค๋ฐฑ ์ฉ์ด์ฅ์ ๋กค๋ฐฑ์ด ๊ฐ๋จํ๊ณ ์ํ์ด ์ ์ํ ์คํธ๊ฐ ์ถฉ๋ถํ ์ด๋ฃจ์ด์ง ํ์ ์ค์ ์๋น์ค์ ๋ฐ์ํธํ์ฑ ๋ฌธ์ ์์๋จ์ ๋ ๊ฐ์ ํ๊ฒฝ์ ์ ์งํด์ผ ํ๋ฏ๋ก ์ธํ๋ผ ๋น์ฉ ์ฆ๊ฐ ๋กค๋ง ๋ฐฐํฌ(Rolling Deployment)๊ฐ๋ :.. PM2 Research ์ ์ฌ ์ด๊ธฐ ํ๋ก ํธ์๋ ์๋น์ค ๋ฐฐํฌ ํ๊ฒฝ์ด EC2์ PM2๋ก ๊ตฌ์ถ๋์ด ์์์ต๋๋ค.PM2์ ๋ํด ๊ณต๋ถํ๋ฉฐ ๋ฆฌ์์นํ ๋ด์ฉ์ ๋๋ค.PM2๋ Process Manager์ ์ฝ์๋ก NodeJS ํ๋ก์ธ์๋ฅผ ๊ด๋ฆฌํ๋, ์ํํ ์๋ฒ ์ด์์ ์ํ ํจํค์ง์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ์๋ ๋์ค ๊ฐ์๊ธฐ ์๋ฒ๊ฐ ์ค์ง๋์ด๋ ์๋ฒ๋ฅผ ๋ค์ ์คํNode.js๋ ์ฑ๊ธ ์ค๋ ๋ ๊ธฐ๋ฐ์ด์ง๋ง, ๋ฉํฐ ์ฝ์ด ํน์ ํ์ดํผ ์ค๋ ๋ฉ์ ์ฌ์ฉํ ์ ์๊ฒ ํด์คํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์์ฒญ์ด ์ฌ ๋ ์์์ ์์ฒญ์ ์ฌ๋ฌ ๋ ธ๋ ํ๋ก์ธ์ค์ ๊ณ ๋ฅด๊ฒ ๋ถ๋ฐฐ (๋ก๋ ๋ฐธ๋ฐ์ฑ)์๋ ์๋ฆฌPM2์ Cluster mode๋ Node.js์ Cluster module์ ํตํด ์๋Node.js Cluster module์ Node.js์์ ๋ฉํฐ์ฝ์ด ์์คํ ์ ์ด์ฉํ ์ ์๋๋ก Port๋ฅผ ๊ณต์ ํ๋ Child .. ์ด์ 1 ๋ค์