๋ง์ดํฌ๋ก์๋น์ค ํต์ ์ ๋ ํฐ ๋ถ์ฐ ์ํํธ์จ์ด ์์คํ ์ ๊ตฌ์ฑํ๋ ๋ค์ํ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ์ ์ํธ ์์ฉ ๋ฐ ๋ฐ์ดํฐ ๊ตํ์ ์๋ฏธํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฌ ๊ฐ์ ๋์จํ๊ฒ ๊ฒฐํฉ๋ ๋ ๋ฆฝํ ๋ง์ดํฌ๋ก์๋น์ค๋ก ๋๋๋ฉด ํฅ์๋ ํ์ฅ์ฑ, ๋ด๊ฒฐํจ์ฑ, ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅ์ฑ, ๋ค์ํ ์๋น์ค์ ๋ค์ํ ๊ธฐ์ ์คํ์ ์ ์ฉํ ์ ์๋ ๋ฅ๋ ฅ ๋ฑ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์๋ง์ ์ด์ ์ด ์ ๊ณต๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์กฐํ๋กญ๊ณ ๊ณ ์ฑ๋ฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ณตํ๊ธฐ ์ํด ์ํํ๊ฒ ํ๋ ฅํด์ผ ํ๋ค๋ ์ ์ ๊ณ ๋ คํ๋ฉด ์ด๋ฌํ ๊ฒฉ๋ฆฌ๋ ๊ตฌ์ฑ ์์ ๊ฐ์ ํจ๊ณผ์ ์ธ ํต์ ์ ํ์์ ์ ๋๋ค.
๋ง์ดํฌ๋ก์๋น์ค ํต์ ์ ๊ตฌํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ฌ๋ฌ ๊ธฐ์ ๊ณผ ํ๋กํ ์ฝ์ด ์์ผ๋ฉฐ, ์ต์ ์ ๊ธฐ๋ฅ์ ์ํด์๋ ํ๋ก์ ํธ์ ํน์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ์ ์ ํ ๋ฐฉ๋ฒ์ ์ ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๋ง์ดํฌ๋ก์๋น์ค ํต์ ์ ๋ํ ๋ ๊ฐ์ง ๊ธฐ๋ณธ ์ ๊ทผ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1. ๋๊ธฐ์ ํต์ : ์ด ์ ๊ทผ ๋ฐฉ์์์ ๋ฐ์ ์ ๋ง์ดํฌ๋ก์๋น์ค๋ ๋ค์ ์์ ์ ์งํํ๊ธฐ ์ ์ ์์ ์ ๋ง์ดํฌ๋ก์๋น์ค์ ์๋ต์ ๊ธฐ๋ค๋ฆฝ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ ์๊ฐ ์์ ์๋น์ค๋ก๋ถํฐ ์ฆ๊ฐ์ ์ธ ํผ๋๋ฐฑ์ด๋ ํ์ธ์ ์๊ตฌํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ๋๊ธฐ์ ํต์ ์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ํ๋กํ ์ฝ์๋ HTTP/REST, GraphQL ๋ฐ gRPC๊ฐ ์์ต๋๋ค.
๊ฒฐ์ ์ฒ๋ฆฌ ์์คํ ์ ์๋ก ๋ค์ด๋ณด๊ฒ ์ต๋๋ค. ์ฌ์ฉ์๊ฐ ๊ฑฐ๋๋ฅผ ์์ํ๋ฉด ๊ฒฐ์ ์๋น์ค๋ ์ฌ์ฉ์์ ๊ณ์ ์ ์ถฉ๋ถํ ์์ก์ด ์๋์ง ํ์ธํด์ผ ํ๋ฉฐ, ์ด ํ์ธ์๋ ๊ณ์ ์๋น์ค์์ ๋๊ธฐ ํต์ ์ด ํ์ํฉ๋๋ค. ๊ณ์ข ์๋น์ค๋ก๋ถํฐ ํ์ธ์ ๋ฐ์ ๊ฒฝ์ฐ์๋ง ๊ฒฐ์ ์๋น์ค์์ ๊ฑฐ๋๋ฅผ ์งํํ ์ ์์ต๋๋ค.
2. ๋น๋๊ธฐ์ ํต์ : ๋๊ธฐ์ ํต์ ๊ณผ ๋ฌ๋ฆฌ ์ก์ ์ ๋ง์ดํฌ๋ก์๋น์ค๋ ์์ ์์ ์๋ต์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์์ ์ ๊ณ์ํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฆ๊ฐ์ ์ธ ์๋ต์ด ํ์ํ์ง ์๊ฑฐ๋ ์ฑ๋ฅ ๋ณ๋ชฉ ํ์์ ํผํ๊ธฐ ์ํด ์ก์ ์์ ์์ ์๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์๋ํด์ผ ํ๋ ์๋๋ฆฌ์ค์ ์ ํฉํฉ๋๋ค. ๋น๋๊ธฐ ํต์ ์ ๊ตฌํํ๋ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์๋ AMQP, MQTT ๋๋ Apache Kafka์ ๊ฐ์ ํ๋กํ ์ฝ์ ํ์ฉํ๋ ๋ฉ์์ง ๋๊ธฐ์ด ๋ฐ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ํคํ ์ฒ๊ฐ ํฌํจ๋ฉ๋๋ค.
๋น๋๊ธฐ ํต์ ์ ์ค์ ์ ์ธ ์๋ ์ฃผ๋ฌธ ์ฒ๋ฆฌ์ ์ฌ๊ณ ์ ๋ฐ์ดํธ๊ฐ ์๋ก ์ํฅ์ ์ฃผ์ง ์๊ณ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐ์ํ ์ ์๋ ์ ์ ์๊ฑฐ๋ ์์คํ ์์ ๋ณผ ์ ์์ต๋๋ค. ์ฃผ๋ฌธ์ด ์ ์๋๋ฉด ์ฃผ๋ฌธ ์ฒ๋ฆฌ ๋ง์ดํฌ๋ก์๋น์ค๊ฐ ๋๊ธฐ์ด์ ๋ฉ์์ง๋ฅผ ๋ฐฐ์นํ ์ ์์ผ๋ฏ๋ก ์ฌ๊ณ ๋ง์ดํฌ๋ก์๋น์ค๋ ์ฌ์ฉ์ ๊ฒฝํ์ด๋ ์ฃผ๋ฌธ ์ฒ๋ฆฌ ์ํฌํ๋ก๋ฅผ ์ง์ฐ์ํค์ง ์๊ณ ์ด๋ฅผ ๋ณ๋๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
์ํํธ์จ์ด ๊ฐ๋ฐ ์ ๋ฌธ๊ฐ์ธ AppMasterno-code ํ๋ซํผ์ ์ฌ์ฉํ๋ฉด ๋ง์ดํฌ๋ก์๋น์ค ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ์๊ฐ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ํ๋ก์ธ์ค ๋์์ด๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๋ ๋๊ธฐ์ ๋ฐ ๋น๋๊ธฐ์ ํต์ ์ ๋ต์ ์ํํ๊ฒ ๊ตฌํํ์ฌ ๊ฐ๋ ฅํ๊ณ ํจ์จ์ ์ด๋ฉฐ ํ์ฅ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ๋ํ ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ HTTP/REST, GraphQL ๋๋ gRPC์ ๊ฐ์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํต์ ํ๋กํ ์ฝ์ ์ง์ํ์ฌ ๋ค์ํ ๋ค๋ฅธ ์๋น์ค์ ํตํฉํ ์ ์๋ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค.
๋ํ AppMaster ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ์ฌ์ฉํ๋ ์ํํธ์จ์ด ์๋ฃจ์ ์ ๋ณต์ก์ฑ๊ณผ ์ถ์ ๊ธฐ๊ฐ์ ์ค์ด๋ ๋ฐ ํ์ํฉ๋๋ค. ์ด ํ๋ซํผ์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด, ํ๋ ์์ํฌ ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๊ธฐ๋ณธ ์ง์์ ํตํด ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์ ํฌํจํ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์๋๋ฆฌ์ค๋ฅผ ์ถฉ์กฑํฉ๋๋ค. ์๋ฒ ์ค์ฌ ์ ๊ทผ ๋ฐฉ์์ ์ฑํํจ์ผ๋ก์จ AppMaster ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๋ App Store ๋ฐ Play Market์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ ์ ์ถํ ํ์ ์์ด ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ UI, ๋ก์ง ๋ฐ API ํค๋ฅผ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
AppMaster ํ๋ซํผ์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๋ง์ด๊ทธ๋ ์ด์ ์คํฌ๋ฆฝํธ์ ํจ๊ป ์๋ฒ endpoints ์ ๋ํ Swagger(OpenAPI) ๋ฌธ์๊ฐ ์๋์ผ๋ก ์์ฑ๋๋ฏ๋ก ์์ ํ๊ณ ํจ์จ์ ์ธ ๋ง์ดํฌ๋ก์๋น์ค ํต์ ์ด ๋ณด์ฅ๋ฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ํ ๋๋ง๋ค ์ฌ์ฉ์๋ 30์ด ์ด๋ด์ ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ์ธํธ๋ฅผ ์์ฑํ ์ ์์ผ๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฒ์๋ถํฐ ๋ค์ ์์ฑ๋๋ฏ๋ก ๊ธฐ์ ์ ๋ถ์ฑ๋ฅผ ํผํ ์ ์์ต๋๋ค.
์์ฝํ์๋ฉด, ๋ง์ดํฌ๋ก์๋น์ค ํต์ ์ ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ค์ํ ์ธก๋ฉด์ผ๋ก, ๋ถ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ํ ๊ตฌ์ฑ ์์ ๊ฐ์ ํจ์จ์ ์ธ ์ํธ ์์ฉ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์ ์ ํ ์ปค๋ฎค๋์ผ์ด์ ์ ๋ต์ ์ ํํ๊ณ AppMasterno-code ํ๋ซํผ๊ณผ ๊ฐ์ ๊ฐ๋ ฅํ ๋๊ตฌ๋ฅผ ํ์ฉํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ์ค๋๋ ๋น์ฆ๋์ค์ ์ญ๋์ ์ธ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์ ์ง ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ ๊ณ ์ฑ๋ฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ณตํ ์ ์์ต๋๋ค. AppMaster ๋ง์ดํฌ๋ก์๋น์ค ํต์ ์ ์ค๊ณ ๋ฐ ๊ตฌํ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํ์ฌ ์ค์๊ธฐ์ ์์ ๋๊ธฐ์ ์ ์ด๋ฅด๋ ๊ฐ๋ฐ์๊ฐ ์ก์ธ์คํ ์ ์๋๋ก ํ๊ณ ๊ธฐ์ ๋ถ์ฑ ์ํ์ ์ต์ํํ๋ฉด์ ๋ ๋น ๋ฅด๊ณ ๋น์ฉ ํจ์จ์ ์ธ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ด์งํฉ๋๋ค.