๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜์˜ ๋งฅ๋ฝ์—์„œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์žฅ์•  ์กฐ์น˜(Failover)๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์˜ค๋ฅ˜๋ฅผ ์ž๋™์œผ๋กœ ํ•ด๊ฒฐํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ „๋ฐ˜์ ์ธ ๊ธฐ๋Šฅ, ๊ฐ€์šฉ์„ฑ ๋ฐ ๋ณต์›๋ ฅ์„ ๋ณด์žฅํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์žฅ์•  ์กฐ์น˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์ž ์žฌ์ ์ธ ์˜ค๋ฅ˜ ์ง€์ ์„ ํ•ด๊ฒฐํ•˜๊ณ  ์ค‘๋‹จ์ด๋‚˜ ์˜ค๋ฅ˜๋กœ๋ถ€ํ„ฐ ์›ํ™œํ•œ ๋ณต๊ตฌ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋ฏ€๋กœ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์—์„œ ์ค‘๋‹จ ์—†๋Š” ์„œ๋น„์Šค ํ๋ฆ„์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋Š” ๋” ํฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ์ž‘๊ณ  ๋…๋ฆฝ์ ์ด๋ฉฐ ๋…๋ฆฝ์ ์ธ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. ๊ฐ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋Š” ํŠน์ • ๊ธฐ๋Šฅ์ด๋‚˜ ๋„๋ฉ”์ธ์„ ๋‹ด๋‹นํ•˜๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ HTTP/RESTful API๋ฅผ ํ†ตํ•ด ์ž˜ ์ •์˜๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์™€ ํ†ต์‹ ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜๋Š” ๊ฐœ๋ณ„ ์„œ๋น„์Šค๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœ, ์—…๋ฐ์ดํŠธ ๋ฐ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ํ™•์žฅ์„ฑ, ์œ ์—ฐ์„ฑ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ์„ฑ์„ ๋†’์ด๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์„ฑ์žฅํ•˜๊ณ  ๋ณต์žกํ•ด์ง์— ๋”ฐ๋ผ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ์˜ค๋ฅ˜ ๊ฐ€๋Šฅ์„ฑ๋„ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜ ์‹คํŒจ๋Š” ํ•˜๋“œ์›จ์–ด ๋ฌธ์ œ, ๋„คํŠธ์›Œํฌ ๋Œ€๊ธฐ ์‹œ๊ฐ„, ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„๊ทธ, ์‚ฌ๋žŒ์˜ ์‹ค์ˆ˜ ๋“ฑ ๋‹ค์–‘ํ•œ ์ด์œ ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ๊ฐ€ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์žฅ์•  ์กฐ์น˜๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๊ณณ์œผ๋กœ, ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ณ„์† ์ž‘๋™ํ•˜๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณด์žฅํ•˜๋Š” ์ผ๋ จ์˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์žฅ์•  ์กฐ์น˜์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ „๋žต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ: ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค์˜ ์—ฌ๋Ÿฌ ์ธ์Šคํ„ด์Šค์— ์›Œํฌ๋กœ๋“œ๋ฅผ ๋ถ„์‚ฐํ•˜๋ฉด ๋‹จ์ผ ์ธ์Šคํ„ด์Šค๊ฐ€ ๊ณผ๋„ํ•œ ํŠธ๋ž˜ํ”ฝ ๋ถ€๋‹ด์„ ์ง€์ง€ ์•Š๋„๋ก ํ•˜์—ฌ ๊ณผ๋ถ€ํ•˜๋กœ ์ธํ•œ ์žฅ์•  ์œ„ํ—˜์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ผ์šด๋“œ ๋กœ๋นˆ, ์ตœ์†Œ ์—ฐ๊ฒฐ ๋˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ํœด๋ฆฌ์Šคํ‹ฑ๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์˜ค๋ฅ˜ ๊ฐ์ง€: ๊ฐœ๋ณ„ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์ธ์Šคํ„ด์Šค์˜ ์ƒํƒœ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ํ™•์ธํ•˜๋ฉด ์„ฑ๋Šฅ ๋ฐ ๋กœ๋“œ ์ˆ˜์ค€์— ๋Œ€ํ•œ ํ†ต์ฐฐ๋ ฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹คํŒจํ•œ ์ธ์Šคํ„ด์Šค๋ฅผ ์กฐ๊ธฐ์— ๊ฐ์ง€ํ•จ์œผ๋กœ์จ ์—ฐ์†์ ์ธ ์‹คํŒจ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ  ํŠธ๋ž˜ํ”ฝ์„ ์ •์ƒ์ ์ธ ์ธ์Šคํ„ด์Šค๋กœ ๋ผ์šฐํŒ…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•œ Prometheus์™€ ์„œ๋น„์Šค ๊ฒ€์ƒ‰์„ ์œ„ํ•œ Consul๊ณผ ๊ฐ™์€ ํŠน์ˆ˜ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์ž๋™ ๋ณต๊ตฌ ๋ฐ ์ž๊ฐ€ ์น˜์œ : ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์ธ์Šคํ„ด์Šค์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ์‹œ์Šคํ…œ์€ ์›ํ•˜๋Š” ์ˆ˜์ค€์˜ ์ค‘๋ณต์„ฑ๊ณผ ๋กœ๋“œ ๋ถ„์‚ฐ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ž๋™์œผ๋กœ ์ƒˆ ์ธ์Šคํ„ด์Šค๋ฅผ ํ”„๋กœ๋น„์ €๋‹ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Kubernetes ๋˜๋Š” Docker Swarm๊ณผ ๊ฐ™์€ ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ๋„๊ตฌ๋Š” ์ธ์Šคํ„ด์Šค์˜ ์ˆ˜๋ช… ์ฃผ๊ธฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์ ์ ˆํ•œ ์žฅ์•  ์กฐ์น˜๋ฅผ ๋ณด์žฅํ•˜๋Š” ์ž๊ฐ€ ๋ณต๊ตฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  4. ํšŒ๋กœ ์ฐจ๋‹จ: ํšŒ๋กœ ์ฐจ๋‹จ์€ ํ•ด๋‹น ์„œ๋น„์Šค๋กœ ์ „์†ก๋˜๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์ผ์‹œ์ ์œผ๋กœ ์ œํ•œํ•˜์—ฌ ์‹คํŒจํ•œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๊ฐ€ ์••๋„๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋Š” ํŒจํ„ด์ž…๋‹ˆ๋‹ค. Hystrix ๋˜๋Š” Istio์™€ ๊ฐ™์€ ๋„๊ตฌ๋Š” ํšŒ๋กœ ์ฐจ๋‹จ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๋Š” ์˜ค๋ฅ˜๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ „๋ฐ˜์ ์ธ ์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ •์ฑ…์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  5. ์žฌ์‹œ๋„ ๋ฐ ์‹œ๊ฐ„ ์ดˆ๊ณผ ์ •์ฑ…: ์ง€๋Šฅํ˜• ์žฌ์‹œ๋„ ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ์‹œ๊ฐ„ ์ดˆ๊ณผ ์ •์ฑ…์„ ๊ตฌํ˜„ํ•˜๋ฉด ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์—์„œ ์ผ์‹œ์  ์˜ค๋ฅ˜์˜ ์˜ํ–ฅ์„ ์™„ํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ •์ฑ…์€ ์˜ˆ์ƒ ์‘๋‹ต ์‹œ๊ฐ„, ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ์˜ค๋ฅ˜์œจ ๋“ฑ์˜ ์š”์†Œ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๊ฐ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ ๋ฐ ํŠน์„ฑ์— ๋”ฐ๋ผ ์ •์˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

AppMaster ์—์„œ๋Š” ๊ฐ€์šฉ์„ฑ์ด ๋†’๊ณ  ๋ณต์›๋ ฅ์ด ๋›ฐ์–ด๋‚˜๋ฉฐ ๋‚ด๊ฒฐํ•จ์„ฑ์ด ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์žˆ์–ด ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์žฅ์•  ์กฐ์น˜์˜ ์ค‘์š”์„ฑ์„ ์ดํ•ดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‚ฌ์˜ no-code ํ”Œ๋žซํผ์€ ๊ณ ๊ฐ์ด ์•ˆ์ •์„ฑ๊ณผ ํ™•์žฅ์„ฑ์— ์ค‘์ ์„ ๋‘๊ณ  ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํšจ์œจ์ ์œผ๋กœ ์„ค๊ณ„ํ•˜๊ณ  ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

AppMaster ์ƒ์„ฑ๋œ ์†Œ์Šค ์ฝ”๋“œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์Šคํฌ๋ฆฝํŠธ ๋ฐ ์„œ๋ฒ„ endpoints ์œ„ํ•œ ์ž๋™ OpenAPI(Swagger) ๋ฌธ์„œ์˜ ํ˜•ํƒœ๋กœ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ณ ๊ฐ์€ ์ตœ์†Œํ•œ์˜ ๋…ธ๋ ฅ๊ณผ ๊ธฐ์ˆ ์  ๋ถ€์ฑ„ ์—†์ด ๋ณ€ํ™”ํ•˜๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์— ์‰ฝ๊ฒŒ ํ™•์žฅํ•˜๊ณ  ์ ์‘ํ•  ์ˆ˜ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ๊ฐ์  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ์ƒ์„ฑ, ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค ์„ค๊ณ„, REST API ์ƒ์„ฑ, ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ drag-and-drop UI ๊ตฌ์„ฑ ์š”์†Œ ๋“ฑ AppMaster ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๊ณ ๊ฐ์€ ๊ณ ๊ฐ€์šฉ์„ฑ์— ์ตœ์ ํ™”๋œ ๊ฐ•๋ ฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ทœ๋ชจ์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€. AppMaster ์˜ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ๊ณผ ์ƒ์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์žฅ์•  ์กฐ์น˜ ์ „๋žต์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์ด ๊ทธ ์–ด๋А ๋•Œ๋ณด๋‹ค ์‰ฝ๊ณ  ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค.