๐Ÿ˜ถโ€๐ŸŒซ๏ธ์„œ๋ฒ„๋ฆฌ์Šค์— ๋Œ€ํ•œ ๊ธฐ๋ก

๊น€๋ฏผ์„ฑยท2022๋…„ 3์›” 13์ผ
0
post-thumbnail

๐Ÿ’ก ์„œ๋ฒ„๋ฆฌ์Šค์˜ ์žฅ๋‹จ์ , ์„œ๋ฒ„๋ฆฌ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž

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

์‚ฌ์šฉ์ค‘ ๊ธฐ๋Šฅ

  • ๋กœ๊ทธ์ธ/ ํšŒ์›๊ฐ€์ž…(์œ ์ €๊ด€๋ฆฌ) -> Cognito
  • ์ปจํ…์ธ  ์ €์žฅ -> S3
  • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ถ”์ถœ -> S3
  • ๋นŒ๋“œ/๋ฐฐํฌ -> Code Build/Deploy
  • DNS -> Route 53
  • CDN -> Cloud Front

๐Ÿค–์„œ๋ฒ„๋ฆฌ์Šค๋ฅผ ๋น„์œ ํ•˜์ž๋ฉด?

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


๋‚ด๊ฐ€ ์ž„๋งˆ ์ œํ”„๋ฒ ์†Œ์Šค๋ž‘ ์œผ์ด? ๋‹คํ–ˆ์–ด ๋žŒ๋‹ค ๋ถˆ๋Ÿฌ์™€!
๊ฐœ๋ฐœ์ž๋Š” ๊ฐœ๋ฐœ๋งŒ ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ์ฐฉํ•œ ๊ธฐ๋Šฅ์ด๋‹ค

โœ…์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ…์˜ ์ข…๋ฅ˜

  1. Faas(Function as a Service)

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

ex) AWS Lambda, Azure Funtion, Google Funtion

  1. Baas(Backend as a Service)

    Application ๊ฐœ๋ฐœ์‹œ ํ•„์š”ํ•œ ๋กœ๊ทธ์ธ ๋ฐ์ดํ„ฐ๊ด€๋ฆฌ ๋“ฑ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์ž์—๊ฒŒ ์ œ๊ณต๋ฐ›์•„ ๊ตฌํ˜„ํ•˜๋Š”๊ฒƒ์„ ๋งํ•˜๋ฉฐ FaaS์— ๋น„ํ•ด์„œ๋Š” ๊ฐœ๋ฐœ์ด ๊ฐ„๋‹จํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.
    ํ•˜์ง€๋งŒ ํด๋ผ์šฐ๋“œ์— ์˜์กด๋„๊ฐ€ ๋†’์•„์ง€๊ฒŒ ๋˜๋ฏ€๋กœ ํŽธ์•ˆํ•œ ๋งŒํผ ์ถ”ํ›„ ๊ธฐ๋Šฅ ๊ฐœ์„ ,์ถ”๊ฐ€, ๋ณด์ˆ˜์— ๋Œ€ํ•ด์„œ๋Š” ์œ ์—ฐ์„ฑ์ด ๋–จ์–ด์ง„๋‹ค.

ex) Google Firebase(๊ตฌ๊ธ€์€ Faas, Baas ๋‘˜๋‹ค ๋ณด์œ ์ค‘..)

๐Ÿค–์„œ๋ฒ„๋ฆฌ์Šค์˜ ์žฅ/๋‹จ์ 

๐Ÿ’Ž์žฅ์ 

1. ์šด์˜ ๋น„์šฉ ์ ˆ๊ฐ

  • ์„œ๋ฒ„๋ฅผ ์ตœ๋Œ€ ํŠธ๋ž˜ํ”ฝ์— ๋Œ€๋น„ํ•˜์—ฌ ๊ตฌ๋งคํ•˜๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๊ฐ„์„ ์œ ํœด ์ƒํƒœ๋กœ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค.
  • ์„œ๋ฒ„๋ฆฌ์Šค์—์„œ๋Š” ํŠธ๋ž˜ํ”ฝ ๋Œ€๋น„ํ•˜์—ฌ ๋น„์šฉ์„ ์ง€๋ถˆํ•˜๋ฏ€๋กœ ๋น„์šฉ์  ์ธก๋ฉด์—์„œ ์ด๋“์ด๋‹ค.

2. ์œ ๋™์ ์ธ ์ž์› ์‚ฌ์šฉ(Auto Scaling)

  • ์ˆ˜์š”์— ๋งž๊ฒŒ ์ž๋™์œผ๋กœ ๊ณต๊ธ‰์„ ์กฐ์ ˆํ•˜๋ฏ€๋กœ ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ๊ฑฑ์ •๋„ ๋œ ์ˆ˜ ์žˆ๋‹ค.

3. ์„œ๋ฒ„ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ํ•„์š”์—†๋‹ค

๐Ÿคฎ๋‹จ์ 

1. ๊ณต๊ธ‰์—…์ฒด์— ๋Œ€ํ•œ ์˜์กด์„ฑ

  • ์˜ˆ๋ฅผ๋“ค์–ด AWS ์‚ฌ์šฉ์ž๋ผ๋ฉด Amazon์— ์˜์ง€ํ•˜๊ฒŒ ๋œ๋‹ค. ๋˜ํ•œ BaaS ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ ๋”์šฑ ์˜์กด์„ฑ์ด ์ปค์ง„๋‹ค
  • ์•„๋งˆ์กด์— ๋ฌธ์ œ์ƒ๊ธฐ๋ฉด ์ „์„ธ๊ณ„ ๋‚œ๋ฆฌ๋‚˜๊ฒ ๋‹ค.

2. ๋ณด์•ˆ ์ด์Šˆ

  • ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ๋‚ด์—์„œ ์ง์ ‘ ๊ด€๋ฆฌํ•˜๋Š”๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ์— ๊ด€ํ•ด์„œ๋Š” ์šฐ๋ ค๊ฐ€ ์ƒ๊ธด๋‹ค

3. ๋Š๋ฆด์ˆ˜ ์žˆ๋‹ค.

  • ์ด ์ด์Šˆ๋Š” ์‚ฌ์‹ค ์•„์ง๊นŒ์ง€๋Š” ํŠธ๋ž˜ํ”ฝ์ด ์ ์€ ์ดˆ๊ธฐ ์Šคํƒ€ํŠธ์—…์€ ๊ฑฑ์ •ํ•˜์ง€ ์•Š์•„๋„๋  ํ–‰๋ณตํ•œ ๊ณ ๋ฏผ์ด๋‹ค.
  • Lambda์˜ ColdStart์— ๋Œ€ํ•œ ์ด์Šˆ

-> ColdStart๋ž€?

  • Lambda๋ฅผ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์žˆ๋‹ค๊ฐ€ ์˜ค๋žœ๋งŒ์— ์‹คํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด ๋”œ๋ ˆ์ด๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

-> ๋ฐœ์ƒํ•˜๋Š” ์ด์œ ?

  • ์ฒ˜์Œ์˜ ๋น„์œ ์ฒ˜๋Ÿผ ๋žŒ๋‹ค๋Š” ํ•ญ์ƒ ๋‚˜๋ฅผ ์ฃผ์‹œํ•˜๊ณ  ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š”๊ฒŒ ์•„๋‹ˆ๋‹ค.
  • ์‹คํ–‰ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค.(์ด๋Š” ํšจ์œจ์ ์ธ ์‚ฌ์šฉ์„ ์œ„ํ•ด ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์ปดํ“จํŒ… ํŒŒ์›Œ๋ฅผ ๊บผ๋‘๊ธฐ ๋•Œ๋ฌธ)

-> ํ•ด๊ฒฐ๋ฐฉ๋ฒ•?

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

์žฅ์ ์ด ๋”์ปค์„œ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์ง€๋งŒ ๋‹จ์ ๋„ ์•Œ์•„๋‘ฌ์•ผ ์ถ”ํ›„ ์•Œ๋งž๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋‹ค!

์„œ๋ฒ„๋ฆฌ์Šค๋Š” ๊ทธ๋Ÿผ ๋งŒ๋Šฅ์ธ๊ฐ€?

๊ผญ ๊ทธ๋ ‡์ง€ ๋งŒ๋„ ์•Š์€๊ฒƒ ๊ฐ™๋‹ค. ํšŒ์‚ฌ์˜ ์„œ๋น„์Šค ํŠน์„ฑ, ๊ธฐ๋Šฅ ํŠน์„ฑ์— ๋”ฐ๋ผ ์‚ฌ์šฉํ• ์ง€ ๋ง์ง€ ์ž˜ ๊ฒฐ์ •ํ•ด์•ผ ํ• ๊ฒƒ ๊ฐ™์œผ๋‚˜ ์ฑ„ํƒํ•˜์ง€ ์•Š๋”๋ผ๋„ ์ด์œ ๋Š” ์•Œ๊ณ  ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ํ•˜์ž.

๋†’์€ ํŠธ๋ž˜ํ”ฝ์—์„œ์˜ ์„œ๋ฒ„๋ฆฌ์Šค๋Š” ์–ด๋–จ๊นŒ? ์–ธ์  ๊ฐ€ ๊ผญ ๊ฒฝํ—˜ํ•ด๋ณด๊ณ ์‹ถ๋‹ค.

profile
๋‹ค์–‘ํ•œ ๊ฒฝํ—˜์˜ ๊ฐœ๋ฐœ์ž๋ฅผ ๊ฟˆ๊พผ๋‹ค

1๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2023๋…„ 8์›” 3์ผ

์ข‹์€ ๊ธ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค๐Ÿ‘

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ