๋ง์ดํฌ๋ก์๋น์ค ๋ชจ๋ฒ ์ฌ๋ก๋ ์กฐ์ง์ด ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ํจ์จ์ ์ด๊ณ ์์ ์ ์ธ ๋ชจ๋์ ์ํํธ์จ์ด ์์คํ ์ ๊ฐ๋ฐ, ์ ์ง ๊ด๋ฆฌ ๋ฐ ํ์ฅํ ์ ์๋๋ก ์ง์ํ๋ ์ผ๋ จ์ ์ง์นจ, ์์น ๋ฐ ํจํด์ ๋ํ๋ ๋๋ค. ์ด๋ฌํ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๊ตฌํํ๋ฉด ํ ๊ฐ์ ํ์ ์ด ์ด์ง๋๊ณ ์ํํธ์จ์ด ์ ๊ณต์ด ๊ฐ์ํ๋๋ฉฐ ๋ณํํ๋ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ๋ํ ์ ์์ฑ์ด ํฅ์๋ฉ๋๋ค. ํนํ ๋ง์ดํฌ๋ก์๋น์ค ๋งฅ๋ฝ์์ ๋ชจ๋ฒ ์ฌ๋ก๋ ๊ฐ๋ณ ์๋น์ค ๊ตฌ์ฑ ์์๋ฅผ ์ค๊ณ, ๊ตฌ์ถ ๋ฐ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋ฌผ๋ก ์ ๋ฐ์ ์ธ ์์คํ ์ผ๊ด์ฑ๊ณผ ์ฑ๋ฅ์ ์ ์งํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๋ง์ดํฌ๋ก์๋น์ค ๋ชจ๋ฒ ์ฌ๋ก์ ๊ธฐ๋ณธ ์์น ์ค ํ๋๋ ๋ชจ๋๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ์๊ณ ๋ ๋ฆฝ์ ์ด๋ฉฐ ๋์จํ๊ฒ ๊ฒฐํฉ๋ ์๋น์ค๋ก ๋ถํดํ๋ ๊ฒ์ ๋๋ค. ๊ฐ ์๋น์ค๋ ํน์ ๋น์ฆ๋์ค ๊ธฐ๋ฅ์ด๋ ๋๋ฉ์ธ์ ์บก์ํํ๋ฉฐ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ๋ฐ, ๋ฐฐํฌ ๋ฐ ํ์ฅ๋ ์ ์์ต๋๋ค. ์ด๋ ๋จ์ผ ์ฑ ์ ์์น(SRP)์ ์ด์งํ๊ณ ๊ฐ๋ฐ ํ ๊ฐ์ ์ฐ๋ ค ์ฌํญ์ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ๋ถ๋ฆฌํ์ฌ ๊ถ๊ทน์ ์ผ๋ก ๋ฏผ์ฒฉ์ฑ์ด ํฅ์๋๊ณ ์ถ์ ๊ธฐ๊ฐ์ด ๋จ์ถ๋ฉ๋๋ค.
๋ง์ดํฌ๋ก์๋น์ค ๋ชจ๋ฒ ์ฌ๋ก์ ๋ ๋ค๋ฅธ ์ค์ํ ์ธก๋ฉด์ DDD(๋๋ฉ์ธ ์ค์ฌ ์ค๊ณ) ์ ๊ทผ ๋ฐฉ์์ ์ฑํํ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์๋ ์ค์ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋ชจ๋ธ๋ง ์๋น์ค์ ํน์ ์ ํ๋ ์ปจํ ์คํธ์ ์ํ๋ ์ง๊ณ, ๊ฐ ๊ฐ์ฒด ๋ฐ ์ํฐํฐ๋ฅผ ์๋ณํ์ฌ ๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๋ ค๋ ๋ ธ๋ ฅ์ด ์๋ฐ๋ฉ๋๋ค. DDD๋ฅผ ์ฑํํ๋ฉด ๋น์ฆ๋์ค ํ๊ณผ ๊ธฐ์ ํ ๊ฐ์ ๋ ๋์ ์กฐ์ ์ ๋ฌ์ฑํ๊ณ , ๋๋ฉ์ธ์ ๋ํ ๊ณต์ ๋ ์ดํด๋ฅผ ์ด์งํ๋ฉฐ, ์๋น์ค ๊ฐ์ ๊ฒฐํฉ์ ์ต์ํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ํ ๋น์ ์ฅ ๋ฐ ์ํ ์ ์ฅ ์๋น์ค๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์์ ํ์ฅ์ฑ๊ณผ ๋ด๊ฒฐํจ์ฑ์ ๋ฌ์ฑํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ์ํ ๋น์ ์ฅ ์๋น์ค๋ ์ฌ์ฉ์๋ณ ์ ๋ณด๋ฅผ ์ ์งํ์ง ์๊ณ ๊ฐ ์์ฒญ์ ๋ ๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ฏ๋ก ์ํ ํ์ฅ์ด ์ฉ์ดํฉ๋๋ค. ์ํ ์ ์ฅ ์๋น์ค๋ ์ฌ์ฉ์ ์ํ์ ์ธ์ ์ ๊ด๋ฆฌํ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ๋ฆฌ์์ค ์ง์ฝ์ ์ ๋๋ค. ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ํ ๋น์ ์ฅ ์๋น์ค๋ฅผ ์์ฑํ๊ณ ์ํ ์ ์ฅ ์๋น์ค๋ฅผ ์ ํ์ ์ผ๋ก ์ฌ์ฉํจ์ผ๋ก์จ ์กฐ์ง์ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์์ ์ฑ๋ฅ, ํ์ฅ์ฑ ๋ฐ ๋ฆฌ์์ค ํ์ฉ๋์ ๊ท ํ์ ํจ๊ณผ์ ์ผ๋ก ๋ง์ถ ์ ์์ต๋๋ค.
๋ง์ดํฌ๋ก์๋น์ค ํ๊ฒฝ์์ ์ค์ํ ๋ชจ๋ฒ ์ฌ๋ก ์ค ํ๋๋ ์ ์ ํ API ์ค๊ณ ๋ฐ ํต์ ํจํด์ ๋ณด์ฅํ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์๋ ๊ฐ๋ณ ์๋น์ค์ ๊ธฐ๋ฅ์ ๋ ธ์ถํ๊ธฐ ์ํด ์ง๊ด์ ์ด๊ณ ์ผ๊ด๋๋ฉฐ ๋ฒ์ ์ด ์ง์ ๋ API๋ฅผ ์ค๊ณํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค. REST ๋๋ gRPC์ ๊ฐ์ ํ์ค ํต์ ํ๋กํ ์ฝ์ ์ฑํํ๊ณ ๊ฒ์-๊ตฌ๋ ๋๋ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์์คํ ๊ณผ ๊ฐ์ ๋ฉ์์ง ๊ธฐ๋ฐ ์ํคํ ์ฒ๋ฅผ ํ์ฉํ๋ ๊ฒ์ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ์ ์์ ์ ์ด๊ณ ํจ์จ์ ์ธ ํต์ ์ ์ด์งํ๋ ๋ฐ ํ์์ ์ ๋๋ค.
๋ฐ์ดํฐ ๋ฐ ๋ฐ์ดํฐ ์ง์์ฑ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํ๋ ๊ฒ์ ๋ง์ดํฌ๋ก์๋น์ค ๋ชจ๋ฒ ์ฌ๋ก์ ์ค์ํ ์ธก๋ฉด์ ๋๋ค. ๊ฐ ์๋น์ค์๋ ์์ฒด ๋ฐ์ดํฐ ์ ์ฅ์๊ฐ ์์ด์ผ ๋ฐ์ดํฐ ์์จ์ฑ์ด ๋ณด์ฅ๋๊ณ ์ฌ๋ฌ ์๋น์ค ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ณต์ ํ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ฒคํธ ์์ฑ, CQRS(Command Query Responsibility Segregation) ๋ฐ ๊ธฐํ ๋ฐ์ดํฐ ๊ด๋ฆฌ ํจํด์ ๊ตฌํํ๋ฉด ์ ๋ฐ์ ์ธ ์์คํ ์์ ์ฑ๊ณผ ์ผ๊ด์ฑ์ ํฅ์์ํค๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ ๋ ๋ค๋ฅธ ๋ชจ๋ฒ ์ฌ๋ก๋ ํจ๊ณผ์ ์ธ ์๋น์ค ๊ฒ์, ๋ฑ๋ก ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ ๋ฉ์ปค๋์ฆ์ ๊ตฌํํ๋ ๊ฒ์ ๋๋ค. ์๋น์ค ๊ฒ์์ ํตํด ๋ง์ดํฌ๋ก์๋น์ค๋ ์ค์ ์ง์ค์ ๋ ์ง์คํธ๋ฆฌ ๋๋ ๋ถ์ฐ ์์คํ ์ ํตํด ์๋ก๋ฅผ ์ฐพ๊ณ ํต์ ํ ์ ์์ผ๋ฉฐ, ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์๋น์ค์ ์ฌ๋ฌ ์ธ์คํด์ค ๊ฐ์ ์ต์ ์ ์์ฒญ ๋ถ์ฐ์ ๋ณด์ฅํฉ๋๋ค.
๋ชจ๋ํฐ๋ง, ๋ก๊น ๋ฐ ์ถ์ ์ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ, ์ฑ๋ฅ ๋ฐ ๋ณด์์ ์ ์งํ๋ ๋ฐ ํ์์ ์ธ ๋ชจ๋ฒ ์ฌ๋ก์ ๋๋ค. ์ค์ ์ง์ค์ ๋ก๊น ์๋ฃจ์ ๊ตฌํ, ์ฃผ์ ์ฑ๋ฅ ์งํ ๋ชจ๋ํฐ๋ง, ๋ถ์ฐ ์ถ์ ๋๊ตฌ ํ์ฉ์ ํตํด ๊ฐ๋ฐ์์ ์ด์ ํ์ ๋ณต์กํ ๋ง์ดํฌ๋ก์๋น์ค ์ํ๊ณ์ ๋ฌธ์ ๋ฅผ ํจ์จ์ ์ผ๋ก ์ง๋จํ๊ณ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๊ฐ๋ ฅํ ๋ณด์ ๊ดํ์ ์ ์งํ๋ ๊ฒ์ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก๋ ์๋น์ค ๊ฐ์ ๋ณด์ ํต์ ์ ๋ณด์ฅํ๊ณ , ์ ์ ํ ์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ ๋ฉ์ปค๋์ฆ์ ๊ตฌํํ๊ณ , API ๊ฒ์ดํธ์จ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ณด์ ์ ์ฑ ์ ์ํํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค. ๋ํ ์๋ฐ ์ ์์คํ ๋ด์์ ์์น ์๋ ์ธก๋ฉด ์ด๋ ๊ฐ๋ฅ์ฑ์ ์ต์ํํ๋ ค๋ฉด ์ต์ ๊ถํ ์์น์ ์ค์ํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค.
DevOps ๋ฐฉ์๊ณผ CI/CD(์ง์์ ํตํฉ ๋ฐ ์ง์์ ๋ฐฐํฌ) ํ์ดํ๋ผ์ธ์ ์์ฉํ๋ ๊ฒ์ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ, ํ ์คํธ ๋ฐ ๋ฐฐํฌ๋ฅผ ์๋ํํ๊ณ ๊ฐ์ํํ๋ ๋ฐ ์ค์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ํ์ ๋ฌธํ๊ฐ ์กฐ์ฑ๋๊ณ , ์๋ ๊ฐ์ ์ด ์ต์ํ๋๋ฉฐ, ์ ์ํ ํผ๋๋ฐฑ ๋ฃจํ๊ฐ ๋ณด์ฅ๋์ด ์ํํธ์จ์ด ์ ๊ณต์ด ๊ฐ์ํ๋๊ณ ์ ํ๋ฆฌ์ผ์ด์ ํ์ง์ด ํฅ์๋ฉ๋๋ค.
๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๊ธฐ ์ํ ๊ฐ๋ ฅํ no-code ํ๋ซํผ์ธ AppMaster ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ํ๋ก์ธ์ค์์ ๋ง์ดํฌ๋ก์๋น์ค ๋ชจ๋ฒ ์ฌ๋ก ๊ตฌํ์ ๋ณด์ฌ์ค๋๋ค. ๋ฐ์ดํฐ ๋ชจ๋ธ, ๋น์ฆ๋์ค ๋ก์ง ๋ฐ API endpoints ์๊ฐ์ ์ผ๋ก ์์ฑํ๊ณ ์ด๋ฅผ ํ๋ฐํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ํํ๊ฒ ํตํฉํจ์ผ๋ก์จ AppMaster ํตํด ๊ฐ๋ฐ์๋ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์์ ์ ์ด๋ฉฐ ์ ์ง ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋์ ์ผ๋ก ์ฝ๊ฒ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ๋ํ ์์ค ์ฝ๋, ์คํ ๊ฐ๋ฅํ ๋ฐ์ด๋๋ฆฌ, ๋์ปค ์ปจํ ์ด๋๋ฅผ ์์ฑํ๋ ํ๋ซํผ์ ๊ธฐ๋ฅ๊ณผ Postgresql ํธํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ง์์ ๋งค์ฐ ํจ์จ์ ์ด๊ณ ๋น์ฉ ํจ๊ณผ์ ์ธ ์ํํธ์จ์ด ์๋ฃจ์ ์ ์ ๊ณตํ๊ธฐ ์ํด ๋ง์ดํฌ๋ก์๋น์ค ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์์ฉํ๋ ค๋ ํ๋ซํผ์ ๋ ธ๋ ฅ์ ๋์ฑ ๊ฐ์กฐํฉ๋๋ค.