๐ฅ ์ํ๋ง์ผ
์ด ํ๋ก์ ํธ๋ ์จ๋ผ์ธ ์ค๊ณ ๊ฑฐ๋ ๋ฐ ์ปค๋ฎค๋ํฐ ํ๋ซํผ์ธ โ๋น๊ทผ ๋ง์ผโ์ ํด๋ก ํ ํ๋ก์ ํธ์
๋๋ค. ๊ธฐ์กด์ ์ค๊ณ ๊ฑฐ๋ ๊ธฐ๋ฅ์ ๋ํด ๊ฒฝ๋งค ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ ์ฌ์ฉ์๋ค์ด ๋ฌผํ์ ๊ฒฝ๋งค ํ์์ผ๋ก ๊ฑฐ๋ํ ์ ์๋๋ก ํ์ฅํ์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ ํ์ ์คํ๊ณผ ๊ถ์ฅ ์คํ์ ์ถฉ์กฑํ๋ฉฐ, ์๋ก์ด ๊ธฐ๋ฅ์ธ ๊ฒฝ๋งค๋ฅผ ํตํด ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์์ผฐ์ต๋๋ค. ์๋น์ค ๋ฐ๋ก๊ฐ๊ธฐ
๐จโ๐ผ ํ์ ์๊ฐ
- ๊น์ ํ: ์์
๋ก๊ทธ์ธ, ํ๊ฒฝ ์ค์ , ๋ณด์ ์ค์
- ๋ฐ์์: aws ๋ด๋น, ๋ง์ดํ์ด์ง, ์ฑํ
, ๊ฒฝ๋งค
- ์ด์ค์ฉ: ํ์๊ฐ์
, ๋ก๊ทธ์ธ, ์ค๊ณ ๊ฑฐ๋, ๋๋ค์ํ, ์ด๋ฏธ์ง
โ ๊ธฐ์ ์คํ
BackEnd
CI/CD
๐ ํด๋ก ์ฝ๋ฉ ํ์ ์คํ
ํ์ ์คํ
- ํ์๊ฐ์
/ ๋ก๊ทธ์ธ / ์์
๋ก๊ทธ์ธ
- ๋๋ค์, ์์ด๋, ๋น๋ฐ๋ฒํธ, ์ด๋ฉ์ผ์ ํตํ ํ์๊ฐ์
- ์์
๋ก๊ทธ์ธ (Google, Kakao, Naver) ์ง์
- ์ ์ ๊ณ์ ํ์ด์ง
- ํ๋กํ ์์ (์ฌ์ง, ๋๋ค์, ๋๋ค)
- ๋งค๋์จ๋ ํ์ธ
- ํ๋งค๋ด์ญ ์กฐํ
- ๋ด ๋งค๋ ํ๊ฐ ๋ฐ ๊ฑฐ๋ ํ๊ธฐ ์กฐํ
- ๊ธ ์์ฑ / ๋๊ธ ์์ฑ
- ์ค๊ณ ๊ฑฐ๋ ๋ฐ ๋๋ค์ํ ๊ฒ์๊ธ ์์ฑ
- ๋๊ธ ๋ฐ ๋๊ธ ์ข์์ ๊ธฐ๋ฅ
- ํ์ด์ง๋ค์ด์
- ๊ฒ์๊ธ ๋ชฉ๋ก ๋ฐ ๋๊ธ ๋ชฉ๋ก์ ํ์ด์ง๋ค์ด์
์ ์ฉ
- AWS ๋ฐฐํฌ
- EC2์ S3๋ฅผ ํตํ ํ๋ก์ ํธ ๋ฐฐํฌ
๊ถ์ฅ ์คํ
- HTTPS ์ค์
- ๋ณด์ ๊ฐํ๋ฅผ ์ํ HTTPS ์ ์ฉ
- Github Actions CI/CD
- ์๋ํ๋ ๋ฐฐํฌ ๋ฐ ํ
์คํธ๋ฅผ ์ํ CI/CD ํ์ดํ๋ผ์ธ ๊ตฌ์ถ
โจ ์๋ก์ด ๊ธฐ๋ฅ: ๊ฒฝ๋งค
- ๊ฒฝ๋งค ๋ฌผํ ์ฌ๋ฆฌ๊ธฐ
- ํ๋งค์๊ฐ ๊ฒฝ๋งค ๋ฌผํ์ ๋ฑ๋กํ ์ ์์ต๋๋ค.
- ์์๊ฐ์ ๊ฒฝ๋งค ์ข
๋ฃ ์๊ฐ์ ์ค์ ํ ์ ์์ต๋๋ค.
- ๊ฒฝ๋งค ์ฐธ์ฌ
- ๊ตฌ๋งค์๋ ๊ฒฝ๋งค์ ์ฐธ์ฌํ์ฌ ์
์ฐฐํ ์ ์์ต๋๋ค.
- ์
์ฐฐ ๊ฐ๊ฒฉ์ ์์๊ฐ์ 5% ๋ฐฐ์๋ก ์ธ์ ๊ฐ๋ฅํฉ๋๋ค.
- ๊ฒฝ๋งค ์ข
๋ฃ
- ์ ํ ์๊ฐ ๋ด์ ๊ฐ์ฅ ๋์ ๊ฐ๊ฒฉ์ ๋ถ๋ฅธ ๊ตฌ๋งค์๊ฐ ๋์ฐฐ๋ฐ์ต๋๋ค.
- ๊ฒฝ๋งค ์ข
๋ฃ์ ํ๋งค์์ ๋์ฐฐ๋ฐ์ ๊ตฌ๋งค์ ๊ฐ์ ์ฑํ
๋ฐฉ์ด ์์ฑ๋ฉ๋๋ค.
๐ป ์ ์ฒด ๊ธฐ๋ฅ
ํ์๊ฐ์
- ๋๋ค์, ์์ด๋, ๋น๋ฐ๋ฒํธ, ์ด๋ฉ์ผ์ ๋ฐ์ ํ์๊ฐ์
์ ์งํํฉ๋๋ค.
๋ก๊ทธ์ธ
- ์ผ๋ฐ ๋ก๊ทธ์ธ ๋ฐ ์์
๋ก๊ทธ์ธ์ ์ง์ํฉ๋๋ค.
๋๋ค ์ค์
- ์ฌ์ฉ์์ ๋๋ค๋ฅผ ์ค์ ํฉ๋๋ค. ์์ง ์ง์ญ ๊ธฐ๋ฐ ์๋น์ค๋ ๊ตฌํํ์ง ๋ชปํ์ต๋๋ค.
ํ (์ค๊ณ ๊ฑฐ๋)
- ๋ฌผํ ์ฌ๋ฆฌ๊ธฐ: ํ๋งค์๊ฐ ๋ฌผํ์ ๋ฑ๋กํ ์ ์์ต๋๋ค.
- ๋ฌผํ ์กฐํ: ํ์ฌ ํ๋งค์ค์ธ ๋ชจ๋ ๋ฌผํ์ ์ต์ ์์ผ๋ก ๋ณด์ฌ์ค๋๋ค.
- ๋ฌผํ ๊ด์ฌ ๊ธฐ๋ฅ: ๊ด์ฌ ์๋ ๋ฌผํ์ ์ ์ฅํ ์ ์์ต๋๋ค.
- ํ๋งค์์ ์ฑํ
: ๊ตฌ๋งค์์ ํ๋งค์๊ฐ ์ค์๊ฐ์ผ๋ก ์ฑํ
ํ ์ ์์ต๋๋ค.
๋๋ค ์ํ
- ๊ธ์ฐ๊ธฐ: ์ฌ์ฉ์๊ฐ ๋๋ค ์ํ ๊ฒ์๊ธ์ ์์ฑํ ์ ์์ต๋๋ค.
- ๊ธ ์กฐํ: ๊ฒ์๊ธ์ ์กฐํํ๊ณ ๋๊ธ์ ์์ฑํ ์ ์์ต๋๋ค.
- ๋๊ธ ์ข์์: ๋๊ธ์ ์ข์์๋ฅผ ๋๋ฅผ ์ ์์ต๋๋ค.
- ๊ณต๊ฐ: ๊ฒ์๊ธ์ ๊ณต๊ฐ์ ํ์ํ ์ ์์ต๋๋ค.
๊ฒฝ๋งค (์๋ก์ด ๊ธฐ๋ฅ)
- ๊ฒฝ๋งค ๋ฌผํ ์ฌ๋ฆฌ๊ธฐ: ํ๋งค์๊ฐ ๊ฒฝ๋งค ๋ฌผํ์ ๋ฑ๋กํฉ๋๋ค.
- ๊ฒฝ๋งค ์ฐธ์ฌ: ๊ตฌ๋งค์๊ฐ ๊ฒฝ๋งค์ ์ฐธ์ฌํ์ฌ ์
์ฐฐํฉ๋๋ค.
- ๊ฒฝ๋งค ์ข
๋ฃ: ๊ฐ์ฅ ๋์ ๊ฐ๊ฒฉ์ ๋ถ๋ฅธ ๊ตฌ๋งค์์ ํ๋งค์ ๊ฐ์ ์ฑํ
๋ฐฉ์ด ์์ฑ๋ฉ๋๋ค.
์ฑํ
- ์ฑํ
๊ธฐ๋ก ์ ์ฅ: ๋ฌผ๊ฑด์ ๊ตฌ๋งคํ ๋ ์ฑํ
ํ๋ ๊ธฐ๋ก์ด ์ ์ฅ๋ฉ๋๋ค.
- ์ค์๊ฐ ์ฑํ
: WebSocket์ ์ด์ฉํ์ฌ ์ค์๊ฐ ์ฑํ
์ ๊ตฌํํ์์ต๋๋ค.
๋์ ๋น๊ทผ
- ํ๋กํ ์์ : ์ฌ์ง, ๋๋ค์, ๋๋ค๋ฅผ ์์ ํ ์ ์์ต๋๋ค.
- ๋งค๋์จ๋ ํ์ธ: ์ฌ์ฉ์์ ๋งค๋์จ๋๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ๋ด ๋งค๋ ํ๊ฐ ์กฐํ: ๋ค๋ฅธ ์ฌ์ฉ์๋ก๋ถํฐ ๋ฐ์ ๋งค๋ ํ๊ฐ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ๊ฑฐ๋ ํ๊ธฐ ์กฐํ: ๊ฑฐ๋ ํ๊ธฐ๋ฅผ ์กฐํํ ์ ์์ต๋๋ค.
- ๊ด์ฌ๋ชฉ๋ก: ํํธ๋ฅผ ๋๋ฅธ ์ค๊ณ ๊ฑฐ๋ ๊ธ ๋ชฉ๋ก์ ๋ฐํํฉ๋๋ค.
- ํ๋งค๋ด์ญ: ํ๋งคํ ๋ฌผํ์ ๋ด์ญ์ ์กฐํํ ์ ์์ต๋๋ค.
- ๊ตฌ๋งค๋ด์ญ: ๊ตฌ๋งคํ ๋ฌผํ์ ๋ด์ญ์ ์กฐํํ ์ ์์ต๋๋ค.
- ๋ด ๋๋ค์ํ ๊ธ: ๋๋ค์ํ์ ์์ฑํ ๊ธ, ๋๊ธ๋จ ๊ธ, ๊ณต๊ฐํ ๊ธ์ ์กฐํํ ์ ์์ต๋๋ค.
ํ์ฌ์ฉ์ ํ๋กํ
- ๋งค๋ ์นญ์ฐฌ: ๋ค๋ฅธ ์ฌ์ฉ์์ ๋งค๋๋ฅผ ์นญ์ฐฌํ ์ ์์ต๋๋ค.
- ํ๋งค๋ฌผํ ๋ชฉ๋ก: ํด๋น ์ฌ์ฉ์๊ฐ ํ๋งค ์ค์ธ ๋ฌผํ์ ์กฐํํ ์ ์์ต๋๋ค.
- ๋ฐ์ ๋งค๋ ํ๊ฐ: ํด๋น ์ฌ์ฉ์๊ฐ ๋ฐ์ ๋งค๋ ํ๊ฐ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ๋ฐ์ ๊ฑฐ๋ ํ๊ธฐ ์กฐํ: ํด๋น ์ฌ์ฉ์๊ฐ ๋ฐ์ ๊ฑฐ๋ ํ๊ธฐ๋ฅผ ์กฐํํ ์ ์์ต๋๋ค.
์ด๋ฏธ์ง
- AWS S3 ํ์ฉ: Presigned Url์ ๋ฐ๊ธํ๊ณ ๋๊ฒจ์ค ํ๋ก ํธ์์ AWS S3 ๋ฒํท์ ๋ฐ๋ก ์ด๋ฏธ์ง๋ฅผ ์
๋ก๋ํ ์ ์๋๋ก ํ์ต๋๋ค.
ํ์ํํด
- ํ์ํํด: ๊ธฐ์กด ํ๋ ๊ธฐ๋ก์ ๋จ์ต๋๋ค. ํ์ ์ ๋ณด(๋๋ค์, ์ด๋ฉ์ผ ๋ฑ)๋ฅผ ๋ฐ๊พธ์ด ์ฌ์ฉ์๊ฐ ๋๊ตฐ์ง ์ ์ ์๊ฒ ๋ง๋ญ๋๋ค.