ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ
ํด๋ผ์ฐ๋์ ์ค์ฌ์๋ AWS, Heroku, Azure, Naver Cloud Platform ๋ฑ๊ณผ ๊ฐ์ ํด๋ผ์ฐ๋ ์ปดํจํ , Cloud Computing ๊ธฐ์ ์ด ์กด์ฌํ๋ค.
๊ทธ๋ผ ์ ์ฐ๋ฆฌ๋ ํด๋ผ์ฐ๋ ์์คํ ์ ์ด์ฉํ ๊น?
๊ทธ ์ด์ ๋ ๋ฐ๋ก ํจ์จ์ ์ธ ๋น์ฉ๊ณผ ์ฐ๊ด์ด ์๋ค.
๋ง์ฝ ์ฐ๋ฆฌ๊ฐ ์นด์นด์คํก์ ์ด์ํ๋ ์ด์์ ์ ์ฅ์ด๋ผ๊ณ ์๊ฐํด๋ณด์.
ํ๊ท ์ ์ผ๋ก ์ฝ 10๋ง๋ช
์ด ๋งค๋ถ ์๋น์ค๋ฅผ ์ด์ฉํ๋ค๊ณ ๊ฐ์ ํ๋ฉด ์ฐ๋ฆฌ์ ์๋ฒ ์ปดํจํฐ๋ 10๋ง๋ช
์ ๊ฑฐ๋ฌํ ์์ฉํ ์ ์๋ ์์ค์ด์ด์ผ ํ๋ค.
๊ทธ๋ฆฌ๊ณ 10๋ง๋ช
์ ์์ฉํ ์ ์๋ ์์ค์ ์ปดํจํฐ๊ฐ 1์ต์ด๋ผ๊ณ ๊ฐ์ ํด๋ณด์.
ํ์ง๋ง ์ฐ๋ง, ์ฐ์ด์ ์ํด ์ธ์ฌ ํน์ ๋ฌธ์ ์ธ์ฌ๋ฅผ ๋ณด๋ด๋ ์ฌ์ฉ์๋ค์ ์๊ฐ 1000๋ง๋ช
์ด๋ผ๋ฉด ์ด๋จ๊น?
๊ทธ๋ผ 1000๋ง๋ช
์ ์์ฉํ ์ ์๋ ์ปดํจํฐ๋ 10๋ง๋ช
์ ์์ฉ ๋ณด๋ค ์ฝ 100๋ง๋ฐฐ๊ฐ ๋ ํ์ํ๋ ๊ตฌ์ถ ๋น์ฉ์ ์ฝ 100์ต์ด ๋ค ๊ฒ์ด๋ค.
์ ๋ฆฌํด๋ณด์.
- ํ๊ท ์ ์ธ ํธ๋ํฝ
- 10๋ง
- ์๋ฒ PC ๊ฐ๊ฒฉ
- 1์ต
- ์ฐ๋ง, ์ฐ์ด์ ํธ๋ํฝ
- 1000๋ง
- ์๋ฒ PC ๊ฐ๊ฒฉ
- 100์ต
๊ทธ๋ผ ์ฐ๋ฆฌ๋ ์ด์ฉ ์ ์์ด ์ฐ๋ง, ์ฐ์ด ์ฝ 3์ผ์ ์ํด์ 100์ต์ด๋ผ๋ ์๋ฒ๋ฅผ ๊ตฌ๋งคํด์ผ ํ ๊น?
์ฌ๊ธฐ์ ๋ฐ๋ก ํด๋ผ์ฐ๋ ์ปดํจํ ์์คํ ์ด ์ด์ ๋ํ ์ ์ ํ ํด๋ต์ ์ค๋ค.
ํด๋ผ์ฐ๋ ์ปดํจํฐ
ํด๋ผ์ฐ๋ ์ปดํจํฐ๋ ์๋ฒ์ ์ฆ์ค์ด ๋ฏผ์ฒฉํ๋ค.
๋ฌด์จ ๋ง์ด๋๋ฉด ์ฐ๋ฆฌ์ ์๋น์ค, ์ฆ ์๋ฒ๊ฐ ํ์์ ์ํด์ ์๋์ผ๋ก ํ์ฅ Auto Scaling๋๊ณ ํ๊ธฐ๋๋ค๋ ์๋ฆฌ๋ค.
๋ํ ๋๋ถ๋ถ์ ํด๋ผ์ฐ๋ ์ปดํจํ
์์คํ
์ ๊ณต์ ondemand ํ์์ด๋ผ ์ฌ์ฉํ ๋งํผ๋ง ๋น์ฉ์ ์ง๋ถํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ํจ์ฌ ๊ฐ๋ณ๊ณ ๊ฒฝ์ ์ ์ด๋ค.
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ๋ ๊ทธ๋ผ ๋ญ๊น?
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ, Cloud Native Architecture ๋ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ๋ฅผ ์ฒ์์ผ๋ก ์ฌ์ฉํ๊ณ ์ ์ํ CNCF (Cloud Native Computing Foundation) ์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ๊ณ ์๋ค.
Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๊ธฐ์ ์ ํตํด์ ์กฐ์ง์ ํ๋์ ์ธ ๋์ ํ๊ฒฝ์์ ํ์ฅ ๊ฐ๋ฅํ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ณ ์คํํ ์ ์๊ฒ ๋๋ฉฐ ์ปจํ ์ด๋, ์๋น์ค ๋งค์ฌ, ๋ง์ดํฌ๋ก ์๋น์ค, ๋ถ๋ฉด ์ธํ๋ผ ๋ฐ ์ ์ธ์ API๊ฐ ์ด๋ฅผ ํด๊ฒฐํ๋ค๊ณ ํ๋ค.
์ฆ, ์ฝ๊ฒ ๋ง ํ์๋ฉด ์์์ ๋ณธ ํด๋ผ์ฐ๋ ์ปดํจํ ์์คํ ์ ์ฅ์ ์ 100% ํ์ฉํ๋๋ก ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ ๋ฐฉ๋ฒ์ด๋ค.
์ด๋ ๊ฒ ํด๋ผ์ฐ๋ ์ปดํจํ ์ ์ฅ์ ์ ์ด์ฉํ๋ค๋ฉด ์๋ํ๋ ๋น๋์ ํ ์คํธ ๊ทธ๋ฆฌ๊ณ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํด์ง๊ณ ๋จ๋จํ ์๋น์ค์ ๊ตฌ์ฑ ์์์ ๋ณํ์ ๋ฏผ์ฒฉํ ์์คํ ์ ๊ตฌ์ถํ ์ ์๊ฒ ๋๋ค.
๋ฌผ๋ก ์ด๋ฐ ์์คํ ์ ๋์ ํ๋ค๋ ๊ฒ์ ๊ธฐ์กด์ ์๋น์ค๊ฐ ํ๋ฃจ ์์นจ์ ๋ฐ๋ ์ ์๋ ๊ฒ์ ์๋๋ค.
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ๋ฅผ ์ํ 4๊ฐ์ง ํต์ฌ ์์
CNCF ์์ ์ ์ํ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ๋ 4๊ฐ์ง์ ํต์ฌ ์์๋ค์ ํฌํจํ๊ณ ์๋ค.
- DevOps
- CI/CD
- Containers
- Microservices
1. DevOps
DevOps๋ Developement์ Operations ๋ฅผ ํฉ์น ์ฉ์ด๋ก ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๋ ๊ฐ๋ฐ์์ ์ด๋ฅผ ์ด์ํ๋ ์ด์ ์ ๋ฌธ๊ฐ์์ ์ํต, ํ์ ์ ๊ฐ์กฐํ๋ ๋ฌธํ์์ ์๊ฒจ๋ ์ฉ์ด์ด๋ค.
์ด๋ฐ DevOps ์ ๋ฌธ๊ฐ๋ค์ด ์๊ธฐ ๋๋ฌธ์ ์ํํธ์จ์ด ๊ฐ๋ฐ์๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ง์คํ ์ ์๊ณ ์๋น์ค์ ์ด์์ ๋ํด์๋ ์ด์ ํนํ๋ ์ ๋ฌธ๊ฐ์ธ ๊ทธ๋ค์ด ํด๊ฒฐํจ์ผ๋ก ๊ด์ฌ์ฌ์ ์ ๋ฌด๋ฅผ ๋๋ ์ ์๊ฒ ๋์๋ค.
์ด๋ฐ DevOps ์ ๋ฌธ๊ฐ๋ค์ ๋ฑ์ฅ์ผ๋ก ์๋์ ๊ฐ๋ ๋ค์ด ํ์ํ ๊ฒ์ด๋ผ๊ณ ํด๋ ๊ณผ์ธ์ด ์๋๋ฏ ํ๋ค.
2. CI/CD
CI/CD๋ ํด๋น ๋ธ๋ก๊ทธ์ AWS์ CD ๋๊ตฌ, CodeDeploy์ ๋ํด์ ์์๋ณด์. ์์ ํ์ธํ ์ ์๋ค.
- ์ง์ ํตํฉ๊ณผ ์ง์ ๋ฐฐํฌ
- ์ง์์ ํตํฉ (Continous Integration)
- ํตํฉ ์๋ฒ, ํ์ ๊ด๋ฆฌ, ๋น๋ ๋๊ตฌ, ํ ์คํธ ๋๊ตฌ์ ์๋ฏธ๋ก ์ฌ์ฉ๋ ์ ์์
- ex) jenkins, Team CI, Travis CI
- ์ง์์ ํตํฉ (Continous Integration)
- ์ง์ ๋ฐฐํฌ CD (Continous Deployment, Delivery)
- ํจํค์งํ ํ ์๋น์ค๋ฅผ ์ด๋ป๊ฒ ๋ฐฐํฌํ๋์ง์ ๋ํ pipe line
- Continous Delivery
- ์คํ ํ์ผ์ ์ด์ ์๋ฒ๋ก ์ง์ ์ ๋ฌ
- Continous Deployment
- Continous Delivery ๋ฟ๋ง ์๋๋ผ ์ด์์ ์๋ ๋ฐ์๋๊ฒ ํ๋ ๊ฒ
- ๋ชฉ์ ์ System์ Downtime์ ์ต์ํํ๋ ๊ฒ
- ๋ฐฐํฌ ์ ๋ต
- Rolling Update
- Canary Update
- Blue Green Update
์๋น์ค์ ์์ฑ-ํตํฉ-๋ฐฐํฌ ์ ๊ณผ์ ์ ์๋ํํ์ฌ ๋น์ฆ๋์ค ํ๊ฒฝ ๋ณํ ์ฆ, ์๋ก์ด ๊ธฐ๋ฅ์ ๋ํ ๋ฐฐํฌ์ ํ ์คํธ ์๊ฐ์ ๋จ์ถํ์ฌ ๋ง์ ์ฌ์ฉ์๋ค์ด ์์ง์ ์๋น์ค๋ฅผ ๋ฐ์ ์ ์๊ฒ ํ๋ ๊ฒ์ด ๋ชฉ์ ์ธ ๊ฐ๋ ์ด๋ค.
์ฐ๋ฆฌ๋ CI/CD๋ฅผ ํตํด์ ์๋ก์ด ๊ธฐ๋ฅ์ ๋ํ ํ ์คํธ๋ฅผ ์๋ํํ๊ณ ์ฝ๊ฒ ๋ฐฐํฌํ ์ ์๊ฒ ๋ ๊ฒ์ด๋ค.
3. Containers
์ปจํ ์ด๋๋ ๊ฐ์ฅ ์ ๋ช ํ๊ฒ Docker ๊ฐ ์๋ค.
์์ธํ ๋ด์ฉ์ ๋ฐฐํฌ์ ๊ด์ ์์ ๋์ปค๊ฐ ํ์ํ ์ด์ ์ ๋ํด ๋์ ์์ผ๋ ์ฐธ๊ณ ํ๊ธฐ ๋ฐ๋๋ค.
๊ฐ๋ตํ๊ฒ ์ค๋ช ํ์๋ฉด ๋์ปค๋ ์์ฃผ ๊ฒฝ๋ํ๋ ๋ฆฌ๋ ์ค ์ปดํจํฐ์ด๋ค.
ํ๋์ ๋์ปค ์ปจํ ์ด๋๋ฅผ ๋์ด๋ค๋ฉด ํด๋น ์ปจํ ์ด๋๋ ํ๋์ ๊ฐ๋ ์ ์ผ๋ก ๋ ๋ฆฝ๋ PC๋ก ์ด์ฉํ ์ ์๊ฒ ๋์ด ํ๋ ฅ์ ์ธ ์๋น์ค๋ฅผ ๊ตฌ์ฑํ ์ ์๊ฒ ๋๋ค.
๊ฒฐ๊ตญ ์ปจํ ์ด๋์ ์กด์ฌ๋ ์๋์ ๋์ฌ ์๋น์ค์ ๊ด์ฌ์ฌ์ ๋ฐ๋ผ ๋ถ๋ฆฌ๋ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ์ด์ํ๋๋ฐ ํฐ ์ญํ ์ ๊ธฐ์ฌํ ์ ์๊ฒ ๋๋ค.
4. Microservices
์ด๋ฒ์ ๋ด๊ฐ ์ด์ผ๊ธฐํ๊ณ ์ ํ๋ ๊ฒ์ ํต์ฌ์ธ ๋ง์ดํฌ๋ก์๋น์ค๋ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ์์ ๊ฐ์ฅ ์ค์ํ ํต์ฌ์ด๋ค.
๋ง์ดํฌ๋ก์๋น์ค๋ ๊ฐ๊ฐ์ ์๋น์ค์ ๋ํ ๊ด์ฌ์ฌ์ ๋ฐ๋ผ ํ๋์ ์๋ฒ๋ ํ๋์ ๊ด์ฌ์ฌ๋ฅผ ๊ฐ๊ณ ์๋น์ค๋ค์ด ๋ชจ์ฌ ํ๋์ ์ปค๋ค๋ ๊ถ๊ทน์ ์๋น์ค๋ฅผ ์ด๋ฃจ๋ ์ํคํ ์ฒ์ด๋ค.
์ด๋ ๊ฒ ์๋น์ค ๊ตฌ์กฐ๊ฐ ๋๋ค๋ฉด ์๋ก์ด ๊ธฐ๋ฅ์ ๋ํ ํ์ฅ๋ ์ฝ๊ฒ ์ด๋ฃจ์ด์ง ์ ์๊ฒ ๋๋ค.
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ์ ๊ธฐ๋ณธ 3๊ฐ์ง
์ด๋ฐ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ๋ 3๊ฐ์ง์ ๊ธฐ๋ณธ ํต์ฌ์ด ์กด์ฌํ๋ค.
- ํ์ฅ ๊ฐ๋ฅํ ์ํคํ ์ฒ
- ํ๋ ฅ์ ์ํคํ ์ฒ
- ์ฅ์ ๊ฒฉ๋ฆฌ
ํ์ฅ ๊ฐ๋ฅํ ์ํคํ ์ฒ
ํ์ฅ ๊ฐ๋ฅํ ์ํคํ ์ฒ๋ ์์คํ ์ ์ํ์ ํ์ฅ์ ์ ์ฐํ ๊ตฌ์ฑ์ ๋งํ๋ค.
์ฆ, ๋ง์ ์ฌ์ฉ์๋ค์ด ๋ชฐ๋ฆฌ๋๋ผ๋ ํ์ฅ๋ ์๋ฒ๋ก ์์คํ ์ ๋ถํ ๋ถ์ฐํ๊ณ ๊ฐ์ฉ์ฑ์ ๋ณด์ฅํ ์ ์๊ฒ ํ๋ค.
ํ๋ ฅ์ ์ํคํ ์ฒ
ํ๋ ฅ์ ์ํคํ ์ฒ๋ ์ด๋ป๊ฒ ๋ณธ๋ค๋ฉด ํ์ฅ ๊ฐ๋ฅํ ์ํคํ ์ฒ์ ๊ฐ๋ ๊ณผ๋ ๋ฎ์ ์๋๋ฐ, ์๋น์ค์ ํตํฉ, ๋ฐฐํฌ, ์์ฑ์ ์๊ฐ์ ๋จ์ถ ์ํค๋ ๊ฒ์ ๋ปํ๋ค.
์ด์ ๋ํ ๋ฐฉ๋ฒ์ผ๋ก๋ ์์์ ๋ณธ CI/CD๋ฅผ ์ด์ฉํ๊ธฐ๋ ํ๋ค.
์ด๋ฐ ๋ถํ ๋ ์๋น์ค ๊ตฌ์กฐ์์ ๊ฐ๊ฐ์ ์๋น์ค๋ statelessํ ํน์ฑ์ ์ด์ฉํด์ ์๋น์ค๊ฐ์ ์ข ์์ฑ์ ์ค์ธ๋ค.
์ฅ์ ๊ฒฉ๋ฆฌ
ํน์ ์๋น์ค๊ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ผ๋ ์์ ๋ณธ ํ๋ ฅ์ ์ํคํ ์ฒ ๋๋ถ์ ๋ค๋ฅธ ์๋น์ค์ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
์ด๋ ๊ฒ ์ฅ์ ๋ฅผ ๊ฒฉ๋ฆฌํ๊ณ ์ฅ์ ๋ฅผ ์ฝ๊ฒ ๋์ํ ์ ์๋๋ก ํ๋๊ฒ ๋ฐ๋ก ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ์ ์ฅ์ ์ด๋ผ๊ณ ํ ์ ์๋ค.
๋๊ธ