IaC(Infrastructure as Code)๋ ์๋ฒ๋ฆฌ์ค ์ปดํจํ ์์ญ์ ํต์ฌ ๊ฐ๋ ์ผ๋ก, ๋ฐฐํฌ, ๊ตฌ์ฑ, ์ ์ง ๊ด๋ฆฌ๋ฅผ ํฌํจํ์ฌ ๊ธฐ์ ๋ฆฌ์์ค๋ฅผ ๋ณด๋ค ํจ์จ์ ์ด๊ณ ์์ ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ํ๋ก๋น์ ๋ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. AppMasterno-code ํ๋ซํผ์ ๋งฅ๋ฝ์์ IaC๋ ๊ฐ๋ฐ์๊ฐ Git๊ณผ ๊ฐ์ ์ฝ๋ ๋ฐ ๋ฒ์ ์ ์ด ์์คํ ์ ์ฌ์ฉํ์ฌ ์ธํ๋ผ ๊ตฌ์ฑ์ ์ ์ํ๊ณ ๊ด๋ฆฌํ ์ ์๋๋ก ํจ์ผ๋ก์จ ํฌ๊ด์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์๋ฃจ์ ์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ํฅ์์ํต๋๋ค.
์ ํต์ ์ผ๋ก ์ธํ๋ผ ๊ด๋ฆฌ์๋ ์๋ ํ๋ก์ธ์ค๊ฐ ํฌํจ๋์์ผ๋ฉฐ ์ ์ ๋ฌธ์๋ ์ ๊ตํ ํ๋ฆ๋์ ์์กดํ์ต๋๋ค. ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ๋ถ์ผ์น, ๋นํจ์จ์ฑ์ ์ด๋ํ๊ณ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ฌ์ฐ๋ฉฐ ์ํํธ์จ์ด ์๋ฃจ์ ์ ์ ๋ฐ์ ์ธ ํ์ง์ ์ํฅ์ ๋ฏธ์ณค์ต๋๋ค. IaC๋ฅผ ์ฌ์ฉํ๋ฉด ์ธํ๋ผ๊ฐ ์ฝ๋๋ก ์ฒ๋ฆฌ๋์ด ์ํํธ์จ์ด ๊ฐ๋ฐ ์์น์ ์ธํ๋ผ ๊ด๋ฆฌ์ ์ ์ฉํฉ๋๋ค. ๊ฐ๋ฐ์๋ ์ ์ฒด ์ธํ๋ผ๋ฅผ ํ ์คํธ ์ฝ๋ ํ์ผ๋ก ํํํ์ฌ ๋ณด๋ค ์ฝ๊ฒ โโ์ ์ง ๊ด๋ฆฌํ๊ณ ์ดํดํ ์ ์๋ ํ์์ผ๋ก ๊ตฌ์ฑ์ ์ ์, ๋ฒ์ ์ง์ , ๊ณต์ ๋ฐ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค.
IaC์ ์ฃผ์ ์ด์ ์ค ํ๋๋ ํ๋ก๋น์ ๋ ๋ฐ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ด๋ฅผ ํตํด ์๋ ๊ฐ์ ๊ณผ โโ์ฌ๋์ ์ค์๋ฅผ ์ค์ด๋ ๋์์ ์๋ก์ด ๊ธฐ๋ฅ๊ณผ ๋ณ๊ฒฝ ์ฌํญ์ ๋น ๋ฅด๊ฒ ์ ๊ณตํ ์ ์์ต๋๋ค. ๋ํ IaC๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ ๋ณต์ ๊ฐ๋ฅํ ํ๊ฒฝ์ ์์ฑํ์ฌ ๊ฐ๋ฐ, ํ ์คํธ, ์ค๋น, ์์ฐ ๋ฑ ์ํํธ์จ์ด ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ์ ๋ค์ํ ๋จ๊ณ์์ ์ผ๊ด๋ ๊ตฌ์ฑ์ ๋ณด์ฅํ ์ ์์ต๋๋ค. ํ์ํ ์ธํ๋ผ๋ฅผ ์ฝ๋์ ์ ์ํ๋ฉด ์ฝ๋ ๋ณ๊ฒฝ์ ํตํด ๋ชจ๋ ์ธํ๋ผ ์์ ์ด ์ด๋ฃจ์ด์ง๋ฏ๋ก ๋จ์ผ ์ง์ค ์์ค์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ๋ณด๋ค ํจ์จ์ ์ธ ๊ฐ์ฌ ๋ฐ ์ถ์ ์ด ๊ฐ๋ฅํด์ง๋๋ค.
IaC๋ ๊ฐ๋ฐ์๊ฐ ์ธํ๋ผ ๊ด๋ฆฌ๋ฅผ ์ถ์ํํ์ฌ ์ฝ๋ ์์ฑ ๋ฐ ๋ฐฐํฌ์๋ง ์ง์คํ ์ ์๋๋ก ํ๋ ์๋ฒ๋ฆฌ์ค ์ปดํจํ ํจ๋ฌ๋ค์์ ํนํ ์ ์ฉํฉ๋๋ค. ์๋ฒ๋ฆฌ์ค๋ ๊ธฐ๋ณธ ์ธํ๋ผ๊ฐ ํด๋ผ์ฐ๋ ๊ณต๊ธ์์ ์ฑ ์์ธ ์คํ๋น ์ง๋ถ ๋ชจ๋ธ์์ ์๋ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ์ธํ๋ผ ๊ด๋ฆฌ ์ธ๋ถ ์ฌํญ์ ๋ํด ๊ฑฑ์ ํ์ง ์๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ผ๋ฏ๋ก ๋ณ๋ชฉ ํ์์ ๋ฐฉ์งํ๊ณ ์ ๋ฐ์ ์ธ ์์ฐ์ฑ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
AppMaster ํ๋ซํผ์ ๋งฅ๋ฝ์์ IaC ๊ธฐ๋ฅ์ ์ ํ๋ฆฌ์ผ์ด์ ์ธํ๋ผ์ ์์ฑ ๋ฐ ๋ฐฐํฌ๋ฅผ ์๋ํํ์ฌ ์๋ฒ๋ฆฌ์ค ๊ฒฝํ์ ๋์ฑ ํฅ์์ํต๋๋ค. ์ฌ์ฉ์๊ฐ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๊ณ ๊ฒ์ํ๋ฉด ํ๋ซํผ์ ์ ์ ํ ์์ค ์ฝ๋๋ฅผ ์์ฑํ๊ณ , ์ด๋ฅผ ์ปดํ์ผํ๊ณ , ํด๋ผ์ฐ๋์ ๋ฐฐํฌํฉ๋๋ค. ์ด ๋ชจ๋ ์์ ์ ๋จ ๋ช ์ด ๋ง์ ์ด๋ฃจ์ด์ง๋๋ค. ์ปจํ ์ด๋ํ๋ฅผ ์ํด Docker์ ๊ฐ์ ๋๊ตฌ์ ๊ธฐ์ ์ ํ์ฉํ๋ ํ๋ซํผ์ ๋ค์ํ ํ๊ฒฝ์์ ์ผ๊ด์ฑ๊ณผ ํจ์จ์ฑ์ ๋ณด์ฅํ์ฌ IaC์ ํต์ฌ ์์น์ ๋ถํฉํฉ๋๋ค.
๋ํ AppMaster ํ๋ซํผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๋ง์ด๊ทธ๋ ์ด์ ์คํฌ๋ฆฝํธ ์๋ ์์ฑ ๋ฐ ์๋ฒ endpoints ์ํ OpenAPI(Swagger) ๋ฌธ์์ ๊ฐ์ ์ถ๊ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. IaC ๊ฐ๋ ๊ณผ ๋๊ตฌ๋ฅผ ํตํฉํจ์ผ๋ก์จ ํ๋ซํผ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ธํ๋ผ ๊ด๋ จ ์ธก๋ฉด์ ์์ฝ๊ฒ ์์ , ๊ณต์ ๋ฐ ์ฌ์ฌ์ฉํ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ๊ธฐ๋ณธ ์ธํ๋ผ ๊ด๋ฆฌ ๋ณต์ก์ฑ์ ๋ํด ๊ฑฑ์ ํ์ง ์๊ณ ์ ํ๋ฆฌ์ผ์ด์ ๋ ผ๋ฆฌ๋ฅผ ์ค๊ณํ๊ณ ๊ตฌํํ๋ ๋ฐ ์ง์คํ ์ ์๋ ์ํํ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
๊ฐ๋ฐ์๋ CI/CD(์ง์์ ์ธ ํตํฉ ๋ฐ ์ง์์ ์ธ ๋ฐฐํฌ) ํ๋ก์ธ์ค์ ํจ๊ป IaC๋ฅผ ๋์ฑ ํ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ค์ํ ํ๊ฒฝ์ ์๋์ผ๋ก ์ ๋ฌํจ์ผ๋ก์จ ์๋ก์ด ๊ธฐ๋ฅ๊ณผ ๋ฒ๊ทธ ์์ ์ ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ํ ์คํธํ๊ณ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ์ด๋ ๋ฆฌ๋ ํ์์ ๋จ์ถํ๊ณ ๊ฐ๋ฐ, ์ด์, ํ์ง ๋ณด์ฆ(QA) ํ ๊ฐ์ ํ์ ์ ๋์ด๋ ๋ฐ ํฌ๊ฒ ๊ธฐ์ฌํฉ๋๋ค.
์์ฝํ์๋ฉด, IaC(์ฝ๋ํ ์ธํ๋ผ)๋ ์๋ฒ๋ฆฌ์ค ์ปดํจํ ๋ฐ AppMaster ํ๋ซํผ์ ํ์ ์์๋ก, ๊ฐ๋ฐ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ธํ๋ผ๋ฅผ ํจ์จ์ ์ด๊ณ ์์ ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋๋ก ํด์ค๋๋ค. ์ธํ๋ผ๋ฅผ ์ฝ๋๋ก ์ฒ๋ฆฌํ๊ณ ์ํํธ์จ์ด ๊ฐ๋ฐ ์์น์ ์ ์ฉํจ์ผ๋ก์จ IaC๋ ์๋ํ, ํ์คํ ๋ฐ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ์ฉํ์ฌ ํ์ ์ ๊ฐ์ ํ๊ณ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๋์ฑ ๊ฐ์ํํฉ๋๋ค. IaC๋ฅผ ํต์ฌ ๊ธฐ๋ฅ์ ํตํฉํจ์ผ๋ก์จ AppMaster ์ ๋ฐ์ ์ธ ์๋น์ค๋ฅผ ๊ฐํํ์ฌ ๊ฐ๋ฐ์๊ฐ ์ธํ๋ผ ๊ด๋ฆฌ๊ฐ ์๋ ๋น์ฆ๋์ค ๋ก์ง์ ์ค์ ์ ๋๊ณ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์์ ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์๋๋ก ์ง์ํฉ๋๋ค.