Dev-ops

๐Ÿš€ Heroku ์™„๋ฒฝ ๊ฐ€์ด๋“œ

xeunnie 2025. 3. 30. 01:00
728x90
๋ฐ˜์‘ํ˜•

๐Ÿš€ Heroku ์™„๋ฒฝ ๊ฐ€์ด๋“œ: ํด๋ผ์šฐ๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ๋ถ€ํ„ฐ ํ™œ์šฉ๊นŒ์ง€! โ˜๏ธ

 

“์„œ๋ฒ„ ๊ด€๋ฆฌ ์—†์ด ๋น ๋ฅด๊ฒŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๊ณ  ์‹ถ์–ด!”

“AWS๋‚˜ GCP๋ณด๋‹ค ๊ฐ„๋‹จํ•œ ๋ฐฐํฌ ๋ฐฉ๋ฒ• ์—†์„๊นŒ?”

 

๐Ÿ‘‰ ์ด๋Ÿฐ ๊ณ ๋ฏผ์„ ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋ผ๋ฉด, Heroku๊ฐ€ ๋”ฑ์ด๋‹ค!

๊ฐ„๋‹จํ•œ ๋ช…๋ น์–ด ๋ช‡ ๊ฐœ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ PaaS (Platform as a Service)!

 

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Heroku๊ฐ€ ๋ฌด์—‡์ธ์ง€, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€, ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ธ์ง€ ์™„๋ฒฝ ์ •๋ฆฌํ•ด๋ณด์ž!

๐Ÿ“Œ ๋ชฉ์ฐจ

 

1๏ธโƒฃ Heroku๋ž€? - ๊ฐœ๋… ๋ฐ ํŠน์ง•

2๏ธโƒฃ Heroku์˜ ์ฃผ์š” ๊ธฐ๋Šฅ

3๏ธโƒฃ Heroku ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค

4๏ธโƒฃ Heroku CLI ์‚ฌ์šฉ๋ฒ•

5๏ธโƒฃ Heroku์˜ Add-ons ๋ฐ ํ™•์žฅ ๊ธฐ๋Šฅ

6๏ธโƒฃ Heroku์™€ AWS/GCP ๋น„๊ต

7๏ธโƒฃ Heroku ํ™œ์šฉ ์‚ฌ๋ก€

8๏ธโƒฃ ๊ฒฐ๋ก 

1๏ธโƒฃ Heroku๋ž€? - ๊ฐœ๋… ๋ฐ ํŠน์ง• ๐ŸŽญ

 

๐Ÿ”น Heroku๋ž€?

 

Heroku๋Š” PaaS (Platform as a Service) ๋ชจ๋ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ํด๋ผ์šฐ๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ํ”Œ๋žซํผ์ด๋‹ค.

์ฆ‰, ๊ฐœ๋ฐœ์ž๊ฐ€ ์ธํ”„๋ผ๋ฅผ ์ง์ ‘ ๊ด€๋ฆฌํ•  ํ•„์š” ์—†์ด ์ฝ”๋“œ๋งŒ ์—…๋กœ๋“œํ•˜๋ฉด ์ž๋™์œผ๋กœ ์„œ๋ฒ„๊ฐ€ ์„ค์ •๋˜๊ณ , ๋ฐฐํฌ๊นŒ์ง€ ์™„๋ฃŒ๋œ๋‹ค!

 

๐Ÿ“Œ ํ•œ๋งˆ๋””๋กœ:

โœ… ์„œ๋ฒ„ ๊ด€๋ฆฌ ์—†์ด ์ฝ”๋“œ๋ฅผ ํ‘ธ์‹œํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ๋ฐฐํฌ ๋!

โœ… ๋‹ค์–‘ํ•œ ์–ธ์–ด ์ง€์› (Node.js, Python, Ruby, Java, PHP ๋“ฑ)

โœ… ๋ฌด๋ฃŒ ํ”Œ๋žœ ์ œ๊ณต → ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ, MVP ๊ฐœ๋ฐœ์— ์ตœ์ ํ™”

 

๐Ÿ’ก Heroku๋Š” ํŠนํžˆ ๋น ๋ฅธ ๋ฐฐํฌ, ๊ฐ„ํŽธํ•œ ํ™•์žฅ์„ฑ, ๊ฐ•๋ ฅํ•œ Add-ons ์ง€์›์œผ๋กœ ์ธ๊ธฐ๊ฐ€ ๋งŽ๋‹ค!

2๏ธโƒฃ Heroku์˜ ์ฃผ์š” ๊ธฐ๋Šฅ โœจ

๊ธฐ๋Šฅ์„ค๋ช…

๊ฐ„๋‹จํ•œ ๋ฐฐํฌ git push heroku main ๋งŒ์œผ๋กœ ๋ฐฐํฌ ์™„๋ฃŒ
์ž๋™ ์Šค์ผ€์ผ๋ง ์œ ์ž…๋˜๋Š” ํŠธ๋ž˜ํ”ฝ์— ๋”ฐ๋ผ dyno(์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค) ๊ฐœ์ˆ˜ ์ž๋™ ์กฐ์ ˆ
๋‹ค์–‘ํ•œ ์–ธ์–ด ์ง€์› Node.js, Python, Ruby, Java, PHP ๋“ฑ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ ์ง€์›
Heroku CLI ์ง€์› ํ„ฐ๋ฏธ๋„์—์„œ ๋ฐฐํฌ, ๊ด€๋ฆฌ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • ๊ฐ€๋Šฅ
Heroku Add-ons ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๋ชจ๋‹ˆํ„ฐ๋ง, ๋กœ๊น… ๋“ฑ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€
CI/CD ํ†ตํ•ฉ GitHub, GitLab, Bitbucket๊ณผ ์—ฐ๋™ ๊ฐ€๋Šฅ
๋ฌด๋ฃŒ ํ”Œ๋žœ ์ œ๊ณต ์ž‘์€ ํ”„๋กœ์ ํŠธ ๋ฐ MVP(์ตœ์†Œ ๊ธฐ๋Šฅ ์ œํ’ˆ) ๋ฐฐํฌ์— ์œ ์šฉ

๐Ÿ’ก Heroku๋Š” AWS/GCP๋ณด๋‹ค ํ›จ์”ฌ ์ง๊ด€์ ์ธ ๋ฐฐํฌ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋ฉฐ, ์Šคํƒ€ํŠธ์—…๊ณผ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋น ๋ฅด๊ฒŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋Ÿฐ์นญํ•˜๋Š” ๋ฐ ์œ ์šฉํ•˜๋‹ค!

3๏ธโƒฃ Heroku ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค ๐Ÿš€

 

Heroku์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •์€ ๋งค์šฐ ์ง๊ด€์ ์ด๋‹ค.

 

โœ… 1. Heroku ๊ณ„์ • ์ƒ์„ฑ

 

๐Ÿ‘‰ Heroku ๊ณต์‹ ์‚ฌ์ดํŠธ์—์„œ ๋ฌด๋ฃŒ ๊ณ„์ • ์ƒ์„ฑ

 

โœ… 2. Heroku CLI ์„ค์น˜

 

๐Ÿ‘‰ brew tap heroku/brew && brew install heroku (Mac)

๐Ÿ‘‰ npm install -g heroku (Node.js ํ™˜๊ฒฝ)

 

โœ… 3. Heroku ๋กœ๊ทธ์ธ

heroku login

์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ Heroku ๊ณ„์ • ๋กœ๊ทธ์ธ ํ›„, ํ„ฐ๋ฏธ๋„์—์„œ ๋ช…๋ น์–ด ์‹คํ–‰ ๊ฐ€๋Šฅ

 

โœ… 4. Heroku ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ์„ฑ

heroku create my-app

๐Ÿ’ก my-app์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด๋ฆ„ (๊ณ ์œ ํ•ด์•ผ ํ•จ)

 

โœ… 5. Heroku ์›๊ฒฉ ์ €์žฅ์†Œ ์ถ”๊ฐ€

git remote -v

๐Ÿ’ก heroku๋ผ๋Š” ์›๊ฒฉ ์ €์žฅ์†Œ๊ฐ€ ์ถ”๊ฐ€๋จ

 

โœ… 6. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ

git push heroku main

๐Ÿ’ก main ๋ธŒ๋žœ์น˜๋ฅผ Heroku์— ํ‘ธ์‹œํ•˜๋ฉด ์ž๋™ ๋ฐฐํฌ ์ง„ํ–‰

 

โœ… 7. ๋ฐฐํฌ๋œ ์•ฑ ํ™•์ธ

heroku open

๐Ÿ‘‰ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋œ ๋„๋ฉ”์ธ์—์„œ ์•ฑ ์‹คํ–‰๋จ!

4๏ธโƒฃ Heroku CLI ์‚ฌ์šฉ๋ฒ• ๐Ÿ› ๏ธ

 

Heroku๋Š” CLI(Command Line Interface) ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„ ๊ด€๋ฆฌ, ๋กœ๊ทธ ํ™•์ธ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • ๋“ฑ์„ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ”น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ •๋ณด ์กฐํšŒ

heroku apps:info

๐Ÿ’ก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด๋ฆ„, ๋ฐฐํฌ ์ƒํƒœ, URL ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ.

 

๐Ÿ”น ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • (Config Vars)

heroku config:set SECRET_KEY=mysecret

๐Ÿ’ก process.env.SECRET_KEY๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ.

 

๐Ÿ”น ๋ฐฐํฌ๋œ ์•ฑ ๋กœ๊ทธ ํ™•์ธ

heroku logs --tail

๐Ÿ’ก ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ํ™•์ธ ๊ฐ€๋Šฅ!

 

๐Ÿ”น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ Dyno ๊ด€๋ฆฌ

heroku ps:scale web=2

๐Ÿ’ก ์›น ํ”„๋กœ์„ธ์Šค๋ฅผ 2๊ฐœ๋กœ ํ™•์žฅํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ๋Ÿ‰ ์ฆ๊ฐ€ ๊ฐ€๋Šฅ.

5๏ธโƒฃ Heroku์˜ Add-ons ๋ฐ ํ™•์žฅ ๊ธฐ๋Šฅ ๐Ÿ“ฆ

 

Heroku๋Š” Add-ons ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๋ชจ๋‹ˆํ„ฐ๋ง, ์บ์‹ฑ, ๋กœ๊น… ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

Add-on๊ธฐ๋Šฅ

Heroku Postgres ๊ด€๋ฆฌํ˜• PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
Redis for Heroku Redis ์บ์‹œ ๊ธฐ๋Šฅ
Papertrail ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง
New Relic ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๋””๋ฒ„๊น…
Cloudinary ์ด๋ฏธ์ง€ ๋ฐ ๋ฏธ๋””์–ด ๊ด€๋ฆฌ

๐Ÿ‘‰ Add-ons์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•:

heroku addons:create heroku-postgresql:hobby-dev

๐Ÿ’ก hobby-dev ํ”Œ๋žœ์œผ๋กœ PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ถ”๊ฐ€๋จ!

6๏ธโƒฃ Heroku์™€ AWS/GCP ๋น„๊ต โš–๏ธ

๋น„๊ต ํ•ญ๋ชฉHerokuAWS/GCP

์„ค์ • ๋‚œ์ด๋„ ๋งค์šฐ ๊ฐ„๋‹จ (Git Push) ๋ณต์žกํ•œ ์„ค์ • ํ•„์š”
์ž๋™ ํ™•์žฅ ์ž๋™ ์Šค์ผ€์ผ๋ง ๊ฐ€๋Šฅ ์ง์ ‘ ์„ค์ • ํ•„์š”
์ง€์› ์–ธ์–ด Node.js, Python, Ruby, Java ๋“ฑ ๋ชจ๋“  ์–ธ์–ด ์ง€์›
๋ฌด๋ฃŒ ํ”Œ๋žœ ์žˆ์Œ (๋‹จ, ์Šฌ๋ฆฝ ๋ชจ๋“œ ์ ์šฉ) ์ œํ•œ์ 
Add-ons ๋‹ค์–‘ํ•œ ์™ธ๋ถ€ ์„œ๋น„์Šค ํ†ตํ•ฉ ์ง€์› ์ž์ฒด์ ์œผ๋กœ ์„œ๋น„์Šค ๊ตฌ์ถ•ํ•ด์•ผ ํ•จ

๐Ÿ’ก Heroku๋Š” ๋น ๋ฅธ ๋ฐฐํฌ๊ฐ€ ์žฅ์ , AWS/GCP๋Š” ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์— ์ ํ•ฉ!

7๏ธโƒฃ Heroku ํ™œ์šฉ ์‚ฌ๋ก€ ๐ŸŽฏ

 

โœ… ์Šคํƒ€ํŠธ์—… MVP ๊ฐœ๋ฐœ

AWS/GCP๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ์ดˆ๊ธฐ ์ œํ’ˆ(MVP)์„ ๋ฐฐํฌ ๊ฐ€๋Šฅ

๋น„์šฉ ์ ˆ๊ฐ & ์œ ์ง€๋ณด์ˆ˜ ๋ถ€๋‹ด ๊ฐ์†Œ

 

โœ… ๋ฐฑ์—”๋“œ API ์„œ๋ฒ„

Node.js, Express, Django ๋“ฑ์˜ ๋ฐฑ์—”๋“œ API ์„œ๋ฒ„ ์šด์˜ ๊ฐ€๋Šฅ

 

โœ… CI/CD ์—ฐ๋™

GitHub์™€ ์ž๋™ ๋ฐฐํฌ ์„ค์ •ํ•˜์—ฌ ๋น ๋ฅธ ๊ฐœ๋ฐœ ์‚ฌ์ดํด ๊ฐ€๋Šฅ

 

โœ… ์„œ๋ฒ„๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜

ํ•„์š”ํ•  ๋•Œ๋งŒ Dyno๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋น„์šฉ ์ ˆ๊ฐ ๊ฐ€๋Šฅ

8๏ธโƒฃ ๊ฒฐ๋ก : Heroku, ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ? ๐Ÿค”

 

โœ… ์ธํ”„๋ผ ์„ค์ • ์—†์ด ๋ฐ”๋กœ ๋ฐฐํฌํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ

โœ… ์Šคํƒ€ํŠธ์—…, ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ, ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ์— ์ ํ•ฉ

โœ… CI/CD, GitHub ์—ฐ๋™์ด ๊ฐ„ํŽธํ•œ ํ”Œ๋žซํผ์„ ์›ํ•  ๋•Œ

โœ… ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์บ์‹œ, ๋กœ๊น…์„ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์„ ๋•Œ

 

๐Ÿ’ก Heroku๋Š” AWS/GCP๋ณด๋‹ค ์„ค์ •์ด ๊ฐ„๋‹จํ•˜๊ณ , GitHub๊ณผ์˜ ์—ฐ๋™์ด ๊ฐ•๋ ฅํ•ด์„œ ๋น ๋ฅธ ๋ฐฐํฌ์— ์ตœ์ ํ™”๋œ ์„œ๋น„์Šค!

 

๐Ÿ”ฅ “ํ•œ ์ค„ ๋ช…๋ น์–ด๋กœ ๋ฐฐํฌ ๋! Heroku๋กœ ๋น ๋ฅธ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ๋ˆ„๋ ค๋ณด์ž!”

๐Ÿš€ ์ „์„ค์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์–ด๋ด…์‹œ๋‹น! ๐ŸŒท

728x90
๋ฐ˜์‘ํ˜•