๐Ÿ›ฉ Deployment ( ๋ฐฐ์น˜ )

๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ ๋‚ด ์ฝ”๋“œ๋ฅผ ๋Œ๋ฆฌ๋Š”๊ฒƒ?

๐Ÿš€ ๋ฐฐํฌ์˜ ์ˆœ์„œ

  1. Development

    • ๋‚˜์˜ ์ปดํ“จํ„ฐ์—์„œ ํ…Œ์ŠคํŠธํ•˜๊ธฐ

  2. Integration

    • ๋‚˜์˜ ํŒ€์›๊ณผ ์ฝ”๋“œ๋ฅผ ํ•ฉ์ณ์„œ ํ…Œ์ŠคํŠธํ•ด์„œ ์ถฉ๋Œ์—†๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ

  3. Staging

    • ์ค€ ๋ฐฐํฌ ๋‹จ๊ณ„์—์„œ ์‹ค์ œํ…Œ์ŠคํŠธ ์ฒ˜๋Ÿผ ํ•˜๊ธฐ

  4. Production

    • ๋ฐฐํฌํ•˜๊ธฐ

โ›ต Evironment Challenges (ํ™˜๊ฒฝ ๋ณ€์ˆ˜)

  • ๋…ธ๋“œ๋ฒ„์ „ ๋งž์ถ”๊ธฐ
  • ์ž์‹ ์˜ Dependencies์— ์žˆ๋Š” ์„ค์น˜ํŒŒ์ผ์„ ๋‹น์—ฐํžˆ ๋ฐฐํฌ๊ณผ์ •์—์„œ ๋„ฃ๊ธฐ
  • Port Number ๋งž์ถ”๊ธฐ
  • Host Name
  • URLs and File Paths
    • dependence์— ์šฐ๋ฆฌ๊ฐ€ ์“ด ๋ชจ๋“ˆ์„ --save๋ฅผ ํ†ตํ•ด ์ž˜ ์ €์žฅ ํ•ด์•ผํ•œ๋‹ค.
  • API Keys

๐Ÿ›ฐ Strategy

  • SPA serve strategy
    • build๋ฅผ ํ†ตํ•ด์„œ ์œ ์ €๊ฐ€ ํ•œ๋ฒˆ์— ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ํฌ์žฅํ•ด์ค๋‹ˆ๋‹ค.
      ( Amazon S3(ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค) ๋ฅผ ํ†ตํ•ด์„œ ํŒŒ์ผ์„ ์„œ๋ธŒํ•ฉ๋‹ˆ๋‹ค. )
    • S3๊ฐ€ ๋ชจ๋“  ๋‚ด์šฉ์„ ๋‹ค ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ์‚ฌ์šฉ์ž๋“ค์ด ์ด๋ฅผ ํ†ตํ•ด์„œ ๋‹ค์šด์„ ํ•ฉ๋‹ˆ๋‹ค.

  • Server Application deploy strategy
    • ๋‚˜์˜ ๋กœ์ปฌํ˜ธ์ŠคํŠธ์—์„œ ์™ธ๋ถ€์ธ์ด ๋ง‰ ๋“ค์–ด์˜ค๊ฒŒ ํ• ์ˆ˜๋Š” ์—†๋‹ค. (EC2๋ฅผ ์ด์šฉํ•˜๋ฉด๋œ๋‹ค)
    • EC2์— node๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์šฐ๋ฆฌ์˜ ์„œ๋ฒ„์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์˜ฌ๋ ค์„œ ํ•˜๋ฉด ๋œ๋‹ค.
    • EC2 ๊ฐ€ ๋‚˜์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋Œ€์‹  ์ƒˆ๋กœ์šด ํ™˜๊ฒฝ์œผ๋กœ ๋งŒ๋“ค์–ด์„œ ์œ ์ €๋“ค์„ ๋ฐ›์•„์ฃผ๋Š”๊ณณ?

  • RDS
    • ์šฐ๋ฆฌ์˜ My sql ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋˜ ์ค„ ์ˆ˜์—†๋Š”๋ฐ ์ด๊ฒƒ์„ EC2์— ๋„ฃ์„์ˆ˜๋„ ์ž‡์ง€๋งŒ
      AWS RDS๋ฅผ ๋˜ ์‚ฌ์šฉํ•ด์„œ ์ „๋‹ฌ

๐Ÿ›ธ EC2( Elastic[์œ ์—ฐํ•œ] Compute Cloud )๋ž€?

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

์Šคํฌ๋ฆฐ์ƒท, 2019-08-23 13-17-54.png

๐Ÿš™ S3 (Simple Storage Service) ๋ž€?

  • ์ธํ„ฐ๋„ท์šฉ ์Šคํ† ๋ฆฌ์ง€ ์„œ๋น„์Šค

  • ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น์—์„œ ์–ธ์ œ๋‚˜ ์›ํ•˜๋Š” ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ/ ๊ฒ€์ƒ‰๊ฐ€๋Šฅ

  • Httpsํ˜•ํƒœ์˜ API๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜์ถ”์ถœํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ์ „ํ˜•์ ์ธ ์›น์„œ๋น„์Šค

  • ๋ฐ์ดํ„ฐ๋ฅผ [๊ฐ์ฒด]๋กœ ํ‘œํ˜„, ๊ทธ ๊ฐ์ฒด๋ฅผ [๋ฒ„ํ‚ท]์ด๋ผ๋Š” ์˜์—ญ์•ˆ์— ์ €์žฅํ•˜์—ฌ ๊ทธ๋ฃนํ•‘

  • ๊ฐ€์žฅ ํฐ ํŠน์„ฑ์€ ๋‚ด๊ตฌ์„ฑ๊ณผ ๊ฐ€์šฉ์„ฑ์ด๋‹ค (๊ฐ์ฒด ์Šคํ† ๋ฆฌ์ง€)

    S3๋ž€? ํ•˜๋‚˜์˜ ์ €์žฅ ๊ณต๊ฐ„์„ ๊ตฌ์„ฑ ๊ฑฐ๊ธฐ์— ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋กœ๋“œํ•˜๋ฉด
    ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ํŒŒ์ผ์„ ์ž์œ ๋กญ๊ฒŒ ๋‹ค์šด ๊ฐ€๋Šฅ

์Šคํฌ๋ฆฐ์ƒท, 2019-08-23 13-42-51.png

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

์Šคํฌ๋ฆฐ์ƒท, 2019-08-23 13-52-52.png

๋‚ด๋ถ€์ ์œผ๋กœ ๋ณต์ œ๊ฐ€ ์ˆ˜ํ–‰๋˜๋ฉด, ์–ด๋Š ํ•œ ๊ฐ์ฒด์— ์†์ƒ์ด ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์†์ƒ๋˜์ง€ ์•Š์€
๋ณต์ œ๋ณธ์ด ์žˆ๊ธฐ ๋Œ€๋ฌธ์— ๋‚ด๊ตฌ์„ฑ์ด ์ƒ์Šนํ•จ.

Region : ์ง€์—ญ

AWS ์ธํ”„๋ผ๊ฐ€ ์œ„์น˜ํ•œ ๊ณณ
์‚ฌ์šฉ์ž๋“ค๊ณผ ๊ฐ€๊นŒ์šด ๊ณณ์— ์œ„์น˜ํ•œ AWS ์ธํ”„๋ผ๋ฅผ ์‚ฌ์šฉํ• ์ˆ˜๋ก ์„œ๋น„์Šค๋„ ๋นจ๋ผ์ง„๋‹ค.
์ƒํ’ˆ์ด ๊ฐ™๋”๋ผ๋„ ์ง€์—ญ๋งˆ๋‹ค ๊ฐ€๊ฒฉ์ด ๋‹ค๋ฅด๋‹ค.

AZ : Availability Zone

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

์Šคํฌ๋ฆฐ์ƒท, 2019-08-23 13-48-14.png

๊ฐ์ฒด ์Šคํ† ๋ฆฌ์ง€ ๋ฐ S3๊ฐ€ ๊ณตํ†ต์ ์œผ๋กœ ๊ฐ–๊ณ  ์žˆ๋Š” ํŠน์„ฑ

  • ๊ฐ์ฒด์˜ ์ƒ์„ฑ ๋ฐ ์‚ญ์ œ๋งŒ ์ง€์›, ์ˆ˜์  ์ž‘์—…์€ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ๋ฎ์–ด ์“ฐ๊ธฐ๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๋‚ด๋ถ€์ ์œผ๋กœ ์ˆ˜์ • ์ฒ˜๋ฆฌํ•˜๋Š”๊ฒƒ์ด ์•„๋‹Œ ๋™์ผํ•œ ๊ฒฝ๋กœ์— ์žฌ์ƒ์„ฑ
  • ๊ฐ์ฒด ๋ฐ์ดํ„ฐ์™€ ๋ถ€๊ฐ€ ์ •๋ณด(๋‚ ์งœ, ์‚ฌ์šฉ์ž์ •๋ณด)๋Š” ๊ฐ์ฒด ๋ฐ์ดํ„ฐ ์™ธ๋ถ€์— ๋ณ„๋„๋กœ ์ €์žฅ๊ด€๋ฆฌ
    ๋ถ€๊ฐ€์ •๋ณด(Metadata)๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ "Key - value" ํ˜•ํƒœ๋กœ ํ•ญ๋ชฉ์„ ์ž์œ ๋กญ๊ฒŒ ๊ด€๋ฆฌ
  • ๊ฐ ๊ฐ์ฒด์˜ ์ฃผ์†Œ๊ฐ’์€ ๊ธ€๋กœ๋ฒŒํ•˜๊ฒŒ ๊ณ ์œ ํ•ด์•ผํ•จ.
  • S3์˜ ๊ฒฝ์šฐ ๋ฒ„ํ‚ท๋ช… + ํ‚ค๊ฐ’ + ๋ฒ„์ „(ID)๋กœ ๊ฐ ๊ฐ์ฒด๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค.
  • HTTP(s) ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—…๋กœ๋“œ / ๋‹ค์šด๋กœ๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿšœ RDS ( Relational Database Service ) ๋ž€?

  • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ๋” ์‰ฝ๊ฒŒ ์„ค์น˜, ์šด์˜, ํ™•์žฅ ํ•  ์ˆ˜์žˆ๋Š” ์›น ์„œ๋น„์Šค
  • ๊ธฐ๋ณธ ๋นŒ๋”ฉ ๋ธ”๋ก์€ DB ์ธ์Šคํ„ด์Šค (ํด๋ผ์šฐ๋“œ์— ์žˆ๋Š” ๊ฒฉ๋ฆฌ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ™˜๊ฒฝ)
    (MySQL, MariaDB, PostgreSQL, Oracle ๋ฐ Microsoft SQL Server DB ๋ฅผ ์ง€์›)