๐ ์๋ฒ๋ฆฌ์ค(ServerLess) ๊ฐ๋ ๐ฏ ์ ๋ฆฌ (BaaS / FaaS)
์๋ฒ๋ฆฌ์ค ์ํคํ ์ณ ๋?
์๋ฒ๋ฆฌ์ค(Serverless)๋ ์ง์ญํ๋ฉด "์๋ฒ๊ฐ ์๋ค"๋ผ๋ ๋ป์ด ๋๋ค.
ํ์ง๋ง ์ ๋ง๋ก ์๋ฒ๊ฐ ์๋ ๊ฒ์ ๋ปํ๋๊ฒ ์๋๋ค. ์๋น์ค๋ฅผ ํ๋๋ฐ ์์ด ์ด์ฐ๋์๋ ์ ์ฅ์๋ ํ์ํ๊ณ ์๋ฒ๋ ํ์ํ๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฐ๋ผ์ ์ ํํ ๋งํ์๋ฉด, ์๋ฒ๋ฆฌ์ค๋ ์๋ฒ๊ฐ ์๋ ๋ฐฑ์๋ ๋ผ๋ ๋ป์ด ์๋ ์ฐ๋ฆฌ๊ฐ ์ง์ ์๋ฒ๋ฅผ ๊ด๋ฆฌํ์ง ์์ ์ ๊ฒฝ ์ธ ํ์์๋ ๊ฒฝ์ฐ๋ฅผ ๋ปํ๋ค.
์ฆ, ์๋ฒ๋ฆฌ์ค ์ํคํ ์ฒ(Serverless Architecture)๋ ์๋ฒ๋ฅผ ์ง์ ๊ด๋ฆฌํ ํ์๊ฐ ์๋ ์ํคํ ์ฒ๋ฅผ ์นญํ๋ค.
์๋ฒ๋ฆฌ์ค๋ ํนํ, ์ฌ์ด๋ ํ๋ก์ ํธ๋ ๋น ๋ฅด๊ฒ ํ๋กํ ํ์ ์ ์ถ์ํ ๋ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ์ ํ์ ์ถ์ํ ์ ์๊ณ , ๋๋ ๋งค์ฐ ์ ์ฝํ ์ ์๋ค.
์๋ฒ๋ฆฌ์ค ์์ฅ์ ์ง๊ธ๋ ๋ฌด์ญ๊ฒ ์ฑ์ฅํ๊ณ ์์ด, ๊ด์ฌ์ ๊ฐ์ ธ์ ๋ ์ข์ ์ด์ ํ๊ฒฝ์ ๊ณ ๋ คํ๋๊ฒ์ ๊ถ์ฅํ๋ค.
์๋ฒ๋ฆฌ์ค ํ์ ๋ฐฐ๊ฒฝ
์ ์๋ฒ๋ฆฌ์ค๋ผ๋ ๊ฐ๋ ์ด ํ์ํ๋์ง ์ ์ธ๊ธฐ๊ฐ ์๋์ง ์ดํดํ๊ธฐ ์ํด ๊ณผ๊ฑฐ์๋ ์ด๋ป๊ฒ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๋์ง, ๊ทธ์ ๋ฐ๋ฅธ ์ฅ๋จ์ ์ ์์ฐจ์ ์ผ๋ก ์์๋ณด๋ ์๊ฐ์ ๊ฐ๋จํ ๊ฐ์ ธ๋ณด์.
1. ์จ ํ๋ ๋ฏธ์ค
์จํ๋ ๋ฏธ์ค(On-Premise)๋ ์ง์ ์๋ฒ๋ฅผ ์ค์นํ๋ ๊ฒ์ ์ผ์ปซ๋๋ค.
๋ด ์ง์ ์๋ฒ๋ฅผ ๋ง๋ จํ๊ณ ์ถ๋ค๋ฉด, ํ๋์จ์ด๋ฅผ ๊ตฌ์ ํ๊ณ ๊ฑฐ์ค์ ๋๊ณ ์ ์์ ๊ผฝ์ ์ง์ ๊ฐ๋์ํค๊ณ ์ํํธ์จ์ด(์๋ฒ ์ฝ๋)๋ฅผ ํ๋์จ์ด์ ์ ๋ก๋ํด ์๋น์ค๋ฅผ ์ด์ํ๋ค.
์ฆ, ์๋ฒ์ ํ๋์จ์ด ๋ถ๋ถ๊ณผ ์ํํธ์จ์ด ๋ถ๋ถ ๋๋ค ์ง์ ๊ด๋ฆฌํ๋ค๋ ๊ฒ์ด๋ค.
๊ทธ๋ฐ๋ฐ ๋ง์ผ ๋ด ์ง์ด ์ ์ ์ด ๋๊ฑฐ๋, ์ค์๋ก ์๋ฒ ์ ์์ ๋ฝ์ ๋ฒ๋ฆฌ๋ฉด ์๋ฒ๊ฐ ๋ค์ด๋์ด ๋ฒ๋ฆฌ๋ ๋ถ์์ฌ๊ฐ ์๊ธฐ๊ฒ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์น์ฌ์ดํธ์ ์ ์ ์ ์ ๋์ด ์ฆ๊ฐํด ํธ๋ํฝ์ด ๋์ด๋๋ฉด ์๋ฒ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ถฉ๋ถํ์ง ์๋ ํ์์ด ์๊ธฐ๊ฒ ๋๊ณ , ์ง์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์์ ์๋ฒ์ ๊ผฝ์์ผํ๋ค.
์ด์ฒ๋ผ ๊ฐ๋ฐ์๋ ์ฝ๋ฉํ๊ธฐ๋ ๋ฐ๋น ์ฃฝ๊ฒ ๋๋ฐ ํ๋์จ์ด์ ์ธ ๊ด๋ฆฌ ์ธก๋ฉด์ด ๋๋ฌด ๋ฒ๊ฑฐ๋กญ๊ณ ํ๋ค๊ธฐ ๋๋ค.
๊ทธ๋์ ์ฐจ๋ผ๋ฆฌ PC๋ฐฉ ์ฒ๋ผ ์๋ฒ ์ปดํจํฐ๋ฅผ ์๋ํ๋ ๋ฐฉ์์ผ๋ก ํ๋์จ์ด ๊ด๋ฆฌ๋ ์๋ํ๋ ํ์ฌ๊ฐ ํ๊ณ , ๊ฐ๋ฐ์๋ ๋ณธ์ ์ธ ์ฝ๋ฉ์ ์ง์คํ๋๋ก ๋์จ ๊ธฐ์ ์ด ์ฌ๋ฌ๋ถ๋ ์๊ณ ์๋ฏ์ด ๋ฐ๋ก ํด๋ผ์ฐ๋ ์ด๋ค.
2. ํด๋ผ์ฐ๋ (IaaS / PaaS)
์ด๋๋ ์๋ง์กด์ด AWS EC2๋ฅผ ์ ๋ณด์ด๋ฉฐ ํ์ ์ ๊ดํ์ ์ผ์ผํจ๋ค.
ํด๋ผ์ฐ๋ ์ปดํจํ ์ด ๋ฑ์ฅํ๋ฉด์ ๋๋ถ์ ์ฐ๋ฆฌ๋ ๊ฑฐ์ค์ ์ง์ ์๋ฒ ์ค์นํ๊ณ ๊ด๋ฆฌํ๋ ๋์ ์, ๊ทธ๋ฅ ์๋ง์กด์๊ฒ ๋๋ง ๋ด๋ฉด ์๋ง์กด์ด ์ฌ์ฉํ๋ ์ต์ ์ ์๋ฒ๋ฅผ ๋น๋ ค์ ์ฌ์ฉํ ์ ์๊ฒ ๋์๋ค.
๊ทธ๋์ ์ ์ ์ด๋ผ๋๊ฐ ๊ฐ์ข ์ฌ์ํ ์ฌ๊ณ ์ ์๋ฒ๊ฐ ๋ค์ด๋๋ ๊ฑฑ์ ์ ํ ํ์๊ฐ ์์ด์ก๊ณ , ์๋ง์กด์ด ์์์ ์คํ ๋ฆฌ์ง๋ฅผ ๋๋ ค์ฃผ๊ณ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์๋ฒ ์ฑ๋ฅ ์ญ์ ๊ฑฑ์ ํ ํ์ ์์ด์ก๋ค.
ํ์ง๋ง ์ฌ์ ํ ์๋ฒ์ ์ํํธ์จ์ด์ ์ธ ๋ถ๋ถ์ ์ฌ์ฉ์๊ฐ ์ง์ ๊ด๋ฆฌ๋ฅผ ํด์ผ ํ๋ค.
์๋ฅผ ๋ค์ด ์๋ฒ์ ๊น๋ฆฐ ์ด์์ฒด์ ๋ฑ์ ์ ๋ฐ์ดํธํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ๋ฐฑ์ ํ๊ณ , ๋ณด์์๋ ์ ๊ฒฝ ์จ์ผ ํ๋ ๋ฑ ์๊ฐ๋ณด๋ค ๊ท์ฐฎ์ ์ผ์ด ๋ง๋ค.
์ฆ, ํ๋์จ์ด์ ์ธ ๋ถ๋ถ๋ง ๋น๋ฆฌ๋๊ฑฐ๊ณ ์๋ฒ ์์ฒด๋ ํ ๋น์ด์์ด ์๋ฒ๋ฅผ ๋๋ฆฌ๋ ค๋ฉด ์ด๊ฒ์ ๊ฒ ์ํํธ์จ์ด๋ฅผ ์ค์นํ๊ณ ์ ๋ฐ์ดํธ ํด์ค์ผ ํ๊ณ ๊ด๋ฆฌํด์ผ ํ๋ค.
๊ทธ๋ฆฌ๊ณ IaaS๋ชจ๋ธ์ด๋ PaaS๋ชจ๋ธ์ ์ค์ ์ฌ์ฉ์์ ๊ด๊ณ์์ด ๋ฏธ๋ฆฌ ๊ฒฐ์ ํ ์ฉ๋์ ๋ฐ๋ผ ์๊ธ์ ๋ด์ผ ํ๋ค. ์ฌ์ฉ์๊ฐ 1000๋ช ์ด ๋ ๊ฑธ ์์ํ๊ณ ๊ทธ์ ๋ง๋ ์ฉ๋์ ์๋น์ค๋ฅผ ๊ตฌ์ ํ๋ค๋ฉด ์ค์ ์ฌ์ฉ์๊ฐ 1000๋ช ์ด๋ 0๋ช ์ด๋ ๊ฐ์ ๊ธ์ก์ ๋ด์ผ ํ๋ ๊ฒ์ด๋ค.
๋ํ ์๋ฌด๋ฆฌ On-demand(์ด๋งํผ ์ง๋ถ) ์๋น์ค๋ฅผ ์ด์ฉํ๋๋ผ๋ ํด๋ ๋๋ถ๋ถ์ ํด๋ผ์ฐ๋ ์๋น์ค๋ค์ ์ฌ์ฉ์๋ค์ด ๋ด ์๋ฒ๋ฅผ ์ฌ์ฉํ์ง ์๋๋ผ๋ ๊ทธ๋ฅ ๊ฐ๋๋ง ์์ผ๋ ์๊ฐ๋ง๋ค ๊ฒฐ์ ๊ฐ ๋๋ ์์คํ ์ด๋ค. ์ด๋ ํฌ๋ ์๋ ์์ค์ ์ผ์ผํค๊ฒ ๋๋ค.
์ด๋ ์๋ฒ๋ฆฌ์ค๊ฐ ๋ฑ์ฅํ๊ฒ ๋๋ค.
3. ์๋ฒ๋ฆฌ์ค
์๋ฒ๋ฆฌ์ค ์ปดํจํ ์ ํด๋ผ์ฐ๋ ์๋น์ค ์ ์ฒด๊ฐ ํน์ ์ฝ๋๋ฅผ ์คํํ๋ ๋ฐ ํ์ํ ์ปดํจํ ๋ฆฌ์์ค์ ์คํ ๋ฆฌ์ง๋ง ๋์ ์ผ๋ก ํ ๋นํ ๋ค์ ๊ทธ ๋ถ๋ถ์ ๋ํด์๋ง ๋น์ฉ์ ์ฒญ๊ตฌํ๋ ํด๋ผ์ฐ๋ ์คํ ๋ชจ๋ธ์ด๋ค.
์๋ฒ๋ฆฌ์ค ์๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ๋ค.
- ๊ฐ๋ฐ์๊ฐ ์๋ฒ๋ฆฌ์ค์ ์ ๋ก๋ํ ํจ์๋ 24์๊ฐ ๋ด๋ด ๋์๊ฐ๋๊ฒ ์๋ ํด๋ฉด ์ํ์ ๋ค์ด๊ฐ๋ค.
- ๊ทธ๋ฌ๋ค๊ฐ ์ฌ์ฉ์ ์์ฒญ์ด ์ค๋ ์๊ฐ ์๋ฒ๋ฆฌ์ค๋ ์ ๋ค์ด ์๋ ํจ์๋ฅผ ๊นจ์ฐ๊ณ ์คํ์์ผ ์์ฒญํ ์์ ์ ์ํํ๊ฒ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ํจ์๋ ์ ์ ๋ค๊ฒ ํ๋ค.
์ด์ ์ ๊ฒฝ์ฐ ์ ์ ๊ฐ 0๋ช ์ด๋ 1000๋ช ์ด๋ ๊ฐ์ ๋์ ๋ด์ ์๋ฒ๋ฅผ ์ฅ๋งํด์ผ๋ฌ์ง๋ง, ์๋ฒ๋ฆฌ์ค์์๋ ์ํํ ํจ์๋งํผ๋ง ๋์ ๋ด๋ฉด ๋๋ ๊ฒ์ด๋ค.
๋ํ์ ์ธ ์๋ฒ๋ฆฌ์ค ์๋น์ค์ธ AWS ๋๋ค ๊ฐ์ ๊ฒฝ์ฐ ๋ฐฑ๋ง๊ฐ์ ํจ์์คํ์ ๋จ๋ 20์ผํธ๋ฐ์ ์๋ ๋ค.
๋ฐ๋ผ์ ๋๊ธฐ์ํ๋ฅผ ์ ์ธํ ์ค์ ์ฌ์ฉ ์์์ ๋ํด์๋ง ์ฒญ๊ตฌ๊ฐ ๋๊ธฐ ๋๋ฌธ์ ๊ต์ฅํ ๊ฒฝ์ ์ ์ด๋ฉฐ ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค.
ํผํฌ๋จผ์ค ์ธก๋ฉด์๋ ๋ฌธ์ ๊ฐ ์๋ค. ์ ์ ๊ฐ ๋์ด๋๋ฉด ๊ทธ๋งํผ ์คํ ํจ์๋ ๋๋ฆฌ๋ ์์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ด๋ค.
์๋ฒ๋ฆฌ์ค๋ฅผ ํ์ฉํ๋ฉด, ๋ฐฑ์๋๋ฅผ ์๋ฒ์ ์ฌ๋ฆฌ๋ ๊ฒ์ด ์๋ ๋ฐฑ์๋๋ฅผ ์์ ํจ์ ๋จ์ผ๋ก ์ชผ๊ฐ์ ์๋ง์กด์์ ์ง์ ๊ด๋ฆฌํ๋ ์๋ฒ๋ก ์ฌ๋ฆฌ๊ฒ ๋๋ค.
์ด ๋ง์ ์๋ฒ๋ ํด๋ผ์ฐ๋ ์ ๊ณต ๊ธฐ์ ์์ ์ ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์, ์ฌ์ฉ์๋ ์ค์ผ์ผ๋ง, ์ ๋ฐ์ดํธ, ๋ณด์ ๋ฑ ๋ฐํ์ ๊ด๋ฆฌ์ ์ด์์ ๋ํด ์๊ฐ์ ์๋ชจํ์ง ์๊ณ ํต์ฌ ์ ํ์ ์ง์คํ ์ ์๋ค๋ ๋ป์ด๋ค.
์ด๋ ๊ฒ ์๋ฒ ์ด์์ ์๋ชจ๋๋ ์ค๋ฒํค๋๊ฐ ์ค์ด๋ค๋ฉด ๊ฐ๋ฐ์๋ ์๊ฐ๊ณผ ์๋์ง๋ฅผ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์์ ์ ์ด๊ณ ํ๋ฅญํ ์ ํ์ ๊ฐ๋ฐํ ์ ์๊ฒ ๋๋ค.
์๋ฒ๋ฆฌ์ค ๋ชจ๋ธ (BaaS / FaaS)
BaaS ์ FaaS ๋ ์ฒ์ ๋ณด๋ ๋จ์ด์ง๋ง, ๋ญ๊ฐ ์ต์ํ ๋จ์ด์ด๋ค.
ํด๋ผ์ฐ๋ ์ปดํจํ ์ ๋ํด ๋ฐฐ์ธ๋ IaaS / PaaS / SaaS ์ ๋ํด ํ์ตํ์ ์ด ์์ํ ๋ฐ, ์ด์ ๋น์ทํ ๋งฅ๋ฝ์ด๋ค.
BaaS (Backend as a Service)
๋ณดํต, ์ฐ๋ฆฌ๊ฐ ๋ชจ๋ฐ์ผ ํน์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ๋ค๋ฅธ ๊ธฐ๊ธฐ์์๋ ์ ๊ทผํ๊ณ , ๊ณต์ ํ๊ธฐ ์ํด์ ๋ฐฑ์๋ ์๋ฒ ๊ฐ๋ฐ์ ์งํํ๊ฒ ๋๋ค.
ํ์ง๋ง ์๋ฒ ๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด, ๊ณ ๋ คํ ์ฌํญ์ด ๊ฝค ๋ง์์ง๋ค. ์ ์ ๊ฐ ๋์ด๋๊ฒ ๋๋ค๋ฉด ์๋ฒ์ ํ์ฅ๋ ๊ณ ๋ คํด์ผ ํ๊ณ , ๋ณด์์ฑ ๋ํ ๊ณ ๋ คํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ ํ์ํ ์๋น์ค๊ฐ BaaS(Backend as a Service) ์ด๋ค.
BaaS ์์คํ ์ ์ฑ ๊ฐ๋ฐ์ ์์ด์ ํ์ํ ๋ค์ํ ๊ธฐ๋ฅ๋ค (๋ฐ์ดํฐ๋ฒ ์ด์ค, ์์ ์๋น์ค ์ฐ๋, ํ์ผ์์คํ ๋ฑ)์ API๋ก ์ ๊ณตํด ์ค์ผ๋ก์, ๊ฐ๋ฐ์๋ค์ด ์๋ฒ ๊ฐ๋ฐ์ ํ์ง ์๊ณ ์๋ ํ์ํ ๊ธฐ๋ฅ์ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๊ตฌํ ํ ์ ์๊ฒ ํด์ฃผ๊ณ , ๋น์ฉ์ api ์ฌ์ฉ ํ ๋งํผ ๋๊ฐ๋ ์๋ฆฌ์ด๋ค.
์ฆ, ํด๋ผ์ฐ๋ ๊ณต๊ธ์๊ฐ ๋ฐฑ์๋ ๊ฐ๋ฐ ํ๊ฒฝ๊น์ง ์ ๊ณตํด ์ค๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
์๋ฒ์ ์ด์ฉ์๊ฐ ์์๊ฐ์ ๋์ด๋๋ ์์์ ํ์ฅ์ด ๋๋ค.
BaaS๋ฅผ ์ฌ์ฉํจ์ ์์ด์, ๊ฐ์ฅ ํฐ ์ฅ์ ์ ๊ฐ๋ฐ ์๊ฐ์ ๋จ์ถ (ํ์ฌ ์ ์ฅ์ผ๋ก์ ์๊ฐํ๋ค๋ฉด, ์ธ๊ฑด๋น), ์๋ฒ ํ์ฅ ์์ ์ ๋ถํ์ํจ์ด๋ค.
๋ฐฑ์๋์ ๋ํด์ ์ฌ์คํ ์ง์์ด ๋ณ๋ก ์๋๋ผ๋, ์์ฃผ ๋น ๋ฅธ ์๋๋ก ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ๋ค.
๋ํ์ ์ธ BaaS์ ์๋น์ค์ค ํ๋์ธ, Firebase ์์๋ ์ค์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๊ฐ ์๋ก ์์ฑ๋๊ฑฐ๋, ์์ ๋์์ ๋ ์์ผ์ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ๋ฐ๋ก ๋ฐ์์์ผ์ฃผ๋ ๊ธฐ๋ฅ์ด ์๋๋ฐ, ๋ง์ผ ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ง์ ๊ฐ๋ฐํ๊ฒ ๋๋ค๋ฉด ๊ตฌ์กฐ ์ค์ ์ ๊ฝค ๋ง์ ์๊ฐ์ด ํ์ ํ ์๋ ์๋๋ฐ ์ด๋ฅผ ๋จ์ง ์ฝ๋ ๋ช์ค๋ง์ผ๋ก ๊ตฌํ ํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฒ์ด๋ค.
FaaS (Function as a Service)
FaaS๋ Function as a Server์ ์ฝ์๋ก ๋ง ๊ทธ๋๋ก "ํจ์๋ฅผ ์๋น์ค๋ก ์ ๊ณตํ๋ค"๋ผ๋ ์๋ฏธ๋ค.
์ฌ๊ธฐ์ ํจ์๊ฐ ๋ปํ๋ ๋ฐ๋ ๋ ์๋ค๋ ์๊ณ ์๋ฏ์ด ํ๋ก๊ทธ๋๋ฐ ์์ค์์ Function ํน์ ๋ฉ์๋๋ฑ์ ์๋ฏธํ๋ค.
์ฌ์ฉ์๋ Rest API์ ๊ฐ์ HTTP ์์ฒญ์ ํตํด ํจ์๋ฅผ ํธ์ถํ๊ณ ์ํ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฌํ์ฌ ํจ์๊ฐ ๋ฆฌํด ๊ฐ์ด ์๋ค๋ฉด ๋ฆฌํด ๊ฐ์ ๋ฐ๊ฑฐ๋ ํน์ ํจ์์ ๋์ ์์ ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํฌ ์ ์๋ค.
๋ง์ฝ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฝ๊ธฐ / ์ฐ๊ธฐ๋ฑ์ ์ํ ํจ์ ๊ตฌ๋ฌธ์ ํด๋ผ์ฐ๋์ ์ ๋ก๋ํด๋๋ค๋ฉด, ์ด๋ ํ๋ก๊ทธ๋จ์์๋ ๋จ์ํ ํจ์ ํธ์ถ์ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก๋ถํฐ ์ ์ถ๋ ฅ์ด ๊ฐ๋ฅํ ์ ์๋ค.
๋ฐ๋ผ์ S/W ๊ฐ๋ฐ์์ IT ์ ๊ณ๊ฐ ํ๋ก๊ทธ๋๋ฐ ๋ก์ง์๋ง ์ง์ค ํ ์ ์๋๋ก ํ๋๊ฒ์ด ๋ฐ๋ก FaaS์ ์๋ฒ๋ฆฌ์ค์ ์ฃผ์ํ ๊ฐ๋ ์ด๋ค.
์ฆ, FaaS ๋ ํ๋ก์ ํธ๋ฅผ ์ฌ๋ฌ๊ฐ์ ํจ์๋ก ์ชผ๊ฐ์ (ํน์ ํ๊ฐ์ ํจ์๋ก ๋ง๋ค์ด์), ๋งค์ฐ ๊ฑฐ๋ํ๊ณ ๋ถ์ฐ๋ ์ปดํจํ ์์์ ์ฌ๋ฌ๋ถ์ด ์ค๋นํด๋ ํจ์๋ฅผ ๋ฑ๋กํ๊ณ , ์ด ํจ์๋ค์ด ์คํ๋๋ ํ์ (๊ทธ๋ฆฌ๊ณ ์คํ๋ ์๊ฐ) ๋งํผ ๋น์ฉ์ ๋ด๋ ๋ฐฉ์์ ๋งํ๋ค.
๋ํ์ ์ธ ์๋น์ค๋ก๋ AWS Lambda, MS Azure Function๊ฐ ์๋ค.
์์ ๊ทธ๋ฆผ์์๋ FaaS์ ์์ฑ ๋จ๊ณ๋ฅผ ๋ํ๋ธ๋ค.
- ์ฌ์ฉ์๋ ์์ ์ ํ๋ก๊ทธ๋จ ๋ด๋ถ์์ FaaS ํจ์๋ฅผ ํธ์ถํ๋ ๊ตฌ๋ฌธ์ ์ฝ์ ํ๊ณ ํ๋ก๊ทธ๋จ์ ์คํํ๊ฒ ๋๋ฉด, FaaS์๊ฒ Rest API ํ์์ HTTP ์์ฒญ์ด ๊ฐ๊ฒ ๋๋ค.
- ๊ทธ๋ผ FaaS๋ ํด๋น ํจ์๋ฅผ ์ ์ฅ์๋ก ๋ถํฐ ์ฝ์ด์ค๊ฒ ๋๊ณ
- ํด๋น ํจ์๋ฅผ ์ปจํ ์ด๋ ํน์ ๊ฐ์๋จธ์ ์ผ๋ก ์์ฑํ๊ฒ ๋๋ค.
- ๋ค์ ํจ์๋ฅผ ํฌํจํ๊ณ ์๋ ์ปจํ ์ด๋ ํน์ ๊ฐ์๋จธ์ ์ด ์์ฑ์ด ์๋ฃ๋๋ฉด ํจ์๋ฅผ ์คํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๊ฑฐ๋ ํจ์๊ฐ ์ํํด์ผํ๋ ๋์์ ์ํํ๊ฒ ๋๋ค.
- ์ดํ ์ผ์ ์๊ฐ ๋์ ํจ์์ ํธ์ถ์ด ์๋ค๋ฉด ํจ์๋ฅผ ํฌํจํ๋ ์ปจํ ์ด๋ ํน์ ๊ฐ์๋จธ์ ์ FaaS ์์คํ ์ ์ํด ์ญ์ ๋๋ค.
BaaS / FaaS ์ฐจ์ด์ ์ ๋ฆฌ
BaaS ์๋น์ค
- ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์ ์๊ตฌ๋๋ ๋ณต์กํ ๋ฐฑ์๋ ๊ธฐ๋ฅ๋ค์ ๊ฐ๋ฐ์๊ฐ ์ง์ ๊ฐ๋ฐํ์ง ์๊ณ ํด๋ผ์ฐ๋ ๊ณต๊ธ์๊ฐ ์ ๊ณตํ๋ ์๋น์ค๋ฅผ ์ด์ฉํด ์ฝ๊ณ ์์ ์ ์ผ๋ก ๊ตฌํ ํ๋ ๊ฒ
- ์๋น์ค ์ ๊ณต์๋ก๋ถํฐ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ๋ฐฑ์๋ API๋ฅผ ์ ๊ณต๋ฐ์ ์ฌ์ฉํ๋ ํํ.
- ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๋ก๋, ์ฌ์ฉ์ ์ธ์ฆ, ๋ฉ์์ง, ์์ ์๋น์ค ๋ฑ์ ๋ฐฑ์๋ ๊ธฐ๋ฅ์ ์์ฑ๋ API๋ก ์ฌ์ฉํ ์ ์๋ค.
- API ์ฌ์ฉ๋ ๋ฐ ์๋ฒ ์ฌ์ฉ ์๊ฐ์ ๋ฐ๋ผ ๋น์ฉ์ ์ง๋ถํ๋ค.
- ๊ฒ์ ๋ฐฑ์๋ ์๋น์ค๋ GBaaS (๋๋ ํด๋ผ์ฐ๋ ๊ฒ์์๋ฒ์์ง), ๋ชจ๋ฐ์ผ์ MBaaS๋ผ๊ณ ๋ถ๋ฅธ๋ค.
FaaS ์๋น์ค
- ๊ฐ๋ฐ์๊ฐ ์ฌ์ฉ์ ์ ์ ์๋ฒ ์ธก ๋ก์ง์ ์์ฑํ์ง๋ง ํด๋ผ์ฐ๋ ์ ๊ณต ์ ์ฒด๊ฐ ๊ด๋ฆฌ๋ฅผ ์ ๋ดํ๋ ์๋ฒ ์ปจํ ์ด๋์์ ์คํ ๋๋ ์๋น์ค ๊ธฐ๋ฅ
- ์๋ฒ์์ ์ํ๋ ๊ธฐ๋ฅ๋ค์ ๊ฐ๋ฐ์๊ฐ ์ง์ ์ฝ๋๋ก ์์ฑํ์ฌ ๋ฑ๋กํ๋ค.
- ์คํ ๊ฐ๋ฅํ ์ฝ๋(ํจ์)๋ฅผ ๋ฏธ๋ฆฌ ๋ฑ๋กํด๋์๋ค๊ฐ ํน์ ์ด๋ฒคํธ(ํธ๋ฆฌ๊ฑฐ)๊ฐ ๋ฐ์ํ๋ฉด ์์์ ํธ์ถ ๋ฐ ์ข ๋ฃ๋๋๋ก ํ๋ค.
- PaaS๋ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ์ฌ ์๋ฒ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํญ์ ์คํ๋์ง๋ง, FaaS๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ์๊ฒ ์ชผ๊ฐ ํจ์๋ฅผ ๋ฐฐํฌํ๋ฉฐ ์์ ์ ๋ง์น๊ฑฐ๋ ์ผ์ ์๊ฐ์ด ์ง๋๋ฉด ์ข ๋ฃ๋๋ค๋ ์ฐจ์ด์ ์ด ์๋ค.
- ํธ์ถํ ํจ์์ ํ์์ ์คํ ์๊ฐ์ ๋ฐ๋ผ ๋น์ฉ์ ์ง๋ถํ๋ค.
์๋ฒ๋ฆฌ์ค ์ฅ๋จ์
์๋ฒ๋ฆฌ์ค ์ฅ์
1. ๋น์ฉ ์ ๊ฐ
- ๊ธฐ์กด IaaS๋ PaaS์๋ ๋ค๋ฅด๊ฒ ์ค์ ์ฌ์ฉ๋์ ๋ํด์๋ง ๋น์ฉ์ด ์ฒญ๊ตฌ๋๋ฏ๋ก ๊ฒฝ์ ์ ์ด๋ค.
- ์ด๋ฒคํธ ๊ธฐ๋ฐ์ ๋น์ฉ์ผ๋ก, ์ผ์ ์ฃผ๊ธฐ, ์กฐ๊ฑด ๋ฑ์ ํจ์๋ฅผ ํธ์ถํ๋ฏ๋ก ๋ฆฌ์์ค๋ฅผ ๋ญ๋นํ์ง ์๊ฒ ๋์ด์ ๋น์ฉ์ด ์ ๋ ดํ๋ค. (AWS Lambda์ ๊ฒฝ์ฐ ํจ์ 100๋ง๋ฒ ์คํ๋น 0.2๋ฌ๋ฌ)
- ์์ฒด ์๋ฒ๋ฅผ ์คํํ๊ณ ๊ด๋ฆฌํ๋ ๋์ ํ์ํ ๋งํผ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์ปดํจํ ์๊ฐ์ ๋ํด ๋น์ฉ์ ์ง๋ถ
2. ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ง์ ์ง์ค ๊ฐ๋ฅ
- ์๋ฒ์ ์ ๊ฒฝ ์ธ ํ์๊ฐ ์์ด์ง๋ฏ๋ก ์ฌ์ฉ์๋ ๊ฐ๋ฐํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ง ํฅ์์ ์ข ๋ ์ง์คํ ์ ์๋ค.
3. ๋์ ๊ฐ์ฉ์ฑ๊ณผ ์ ์ฐํ ํ์ฅ
- ์์ฒญ์ด ๋ค์ด์ฌ๋๋ง ์คํ๋๊ณ ๋์ ์ผ๋ก ์์์ ํ ๋นํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ฉ์ฑ์ด ๋๊ณ ์ค์ผ์ผ๋ง์ ์ ๊ฒฝ ์ธ ํ์๊ฐ ์๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋์ผ๋ก ํ์ฅ๋ ์ ์๊ณ , ๊ฐ๋ณ ์๋ฒ ๋จ์๊ฐ ์๋ ์ฌ์ฉ๋จ์(์ฒ๋ฆฌ๋, ๋ฉ๋ชจ๋ฆฌ)๋ฅผ ์ค์ /ํด์ ํ์ฌ ์ฉ๋์ ์กฐ์ ํ ์ ์๋ค.
- ๋์ ์ผ๋ก ์์์ ํ ๋น๋ฐ์์ ๋จ๊ธฐ๊ฐ ์ด๋ฒคํธ์ฑ ํธ๋ํฝ์ ๊ฐ๋นํ๋ ๊ฒฝ์ฐ ํจ๊ณผ์
4. ๋น ๋ฅธ ๊ฐ๋ฐ ๋ฐฐํฌ
- ๊ฐ๋จํ ํจํค์ง ๋ฐ ๋ฐฐํฌ
- ๋ฆด๋ฆฌ์ฆ ์ฃผ๊ธฐ ๊ฐ์
- ๋์ ์์ฐ์ฑ
- ์ ์ง๋ณด์๋ ๊ธฐ๋ฅ์ถ๊ฐ์ ํจ์จ์ ์ด๋ผ ๊ด๋ฆฌ๋ณด๋ค ๊ฐ๋ฐ์ ์ง์คํ ๊ฒฝ์ฐ
์๋ฒ๋ฆฌ์ค ๋จ์
1. Cold Start
- ์๋ฒ๋ฆฌ์ค์ ํจ์๋ค์ ์์ฒญ์ด ์์ผ๋ฉด ์๋ฉด ์ํ๋ก ๋๋ค.
๊ทธ๋ฌ๋ค ๋ง์ผ request๊ฐ ์์ ํจ์๋ฅผ ๊นจ์ฐ๊ณ ์คํํ๋๋ฐ ์๋ฌด๋๋ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค
๋ฌผ๋ก 1๋ฐ๋ฆฌ์ด๋ก ์ฌ๋์ด ์ธ์งํ๊ธฐ์ ์์ฃผ ์งง์ ์๊ฐ์ด๊ฒ ์ง๋ง, ๋ง์ผ 0.01์ด๋ผ๋ ์ง์ฐ์ ํ์ฉ๋์ง ์๋ ์๋น์ค์ผ ๊ฒฝ์ฐ๋ ์๋ฒ๋ฆฌ์ค๋ ์ข์ ์ ํ์ด ์๋๋ค. (์ด๋ฌํ ๊ฒฝ์ฐ ๋๋ฌธ์ AWS ๋๋ค ๊ฒฝ์ฐ ์ด๋ค ํจ์๊ฐ ์์ฃผ ์ฐ์ด๋์ง ํ๋จํด์ ํด๋น ํจ์๋ ์์ ์ ๋ค์ง์๊ณ ๋ฆฌํ์คํธ์ ๋์๋๋๋ก ํญ์ ์คํํญํ๋ก ์ ์งํ๋ค) - ์ฆ, ์๋ฌด๋๋ ์๋ฒ๊ฐ ํญ์ ์์ฒญ์ ๋๊ธฐํ๊ณ ์๋๊ฒ ์๋๋ค๋ณด๋ IaaS๋ PaaS๋ฑ์ ๋ชจ๋ธ๋ณด๋จ ์์ฒญ์๊ฐ์ด ๋๋ฆฌ๋ค.
- ์ค์๊ฐ ์๋น์ค์๋ ์ ํฉํ์ง ์์
- ํ๋ก์ ํธ ๊ท๋ชจ๊ฐ ์๋ค๋ฉด ๋ณ๋ก ์ ๊ฒฝ์ธ๋งํ ์ฌํญ์ ์๋์ง๋ง ๊ท๋ชจ๊ฐ ์ปค์ง๊ฑฐ๋ ์๋๋ฅผ ์๊ตฌํ๋ ํ๋ก์ ํธ๋ผ๋ฉด ์๋ฒ๋ฆฌ์ค๋ ์ข์ ์ ํ์ด ์๋ ์ ์๋ค.
2. ๊ธด ์๊ฐ์ ์ํ๋ ์์ ์ ๋ถ๋ฆฌํจ
- ์๋ฒ๋ฆฌ์ค๋ ๋จ์ ์์ (๋๊ธ ์ฐ๊ธฐ, ์ด๋ฉ์ผ ๋ณด๋ด๊ธฐ ๋ฑ)์๋ ์ ํฉํ์ง๋ง, ๊ธด ์๊ฐ์ ์ํ๋ ์์ (๋์์ ์ ๋ก๋, ๋ฐ์ดํฐ ๋ฐฑ์ ๋ฑ)์๋ ๊ต์ฅํ ๋นํจ์จ์ ์ด๋ค.
- ์๋ฒ๋ฆฌ์ค๋ ํจ์๊ฐ 1ํ ํธ์ถ ๋ ๋ ์ฌ์ฉํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์๊ฐ์ ์ ํ์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด์ ๋ฐ๋ผ ํฐ ๊ธฐ๋ฅ์ ์๊ฒ ๋๋์ด ๊ตฌํํด์ผ ํ๋ค.
3. ๋ก์ปฌ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ ์๋ค. (Stateless)
- ์๋ฒ๋ฆฌ์ค๋ ๋ฌด์ํ(Stateless)์ ์ธ ๊ธฐ๋ฅ์ผ๋ก ๊ตฌํ๋์ด์ผ ํ๋ค.
- ํ๋์ ์์ ๊ธฐ๋ฅ์ผ๋ก ๋๋์ด์ง ํจ์๋ค์ ์์ฒญ๋ง๋ค ์๋ก ๊ธฐ๋๋์ด ํธ์ถ๋๊ธฐ ๋๋ฌธ์ ์ ํ ์ํ๋ฅผ ๊ณต์ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ๋ํ ๋ณ์์ ๋ฐ์ดํฐ์ ๊ณต์ ๊ฐ ๋ถ๊ฐ๋ฅํ๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์์ ์ฝ๊ณ ์ธ ์ ์๋ค. (์ด๋ ์๋ฒ๋ฆฌ์ค ๋ฒค๋์ ๋ฐ๋ผ ์ถ๊ฐ ์๋น์ค๋ฅผ ํตํด ๊ทน๋ณต์ด ๊ฐ๋ฅํ์ง๋ง, AWS S3, Azure Storage๋ฑ ์ผ๋ฐ์ ์ธ ์๋ฒ๋ฆฌ์ค๋ ๋ถ๊ฐ๋ฅํ๋ค.)
4. ํด๋ผ์ฐ๋ ์ ๊ณต ํ๋ซํผ์ ์ฌํ๊ฒ ์ข ์์
- ๊ธฐ์กด IaaS๋ PaaS๋ชจ๋ธ์ ํ๋ซํผ์ ๋ฐ๊พธ๋๊ฒ ์ด๋ ต์ง ์์ง๋ง(ex. AWS์์ Google Cloud๋ก) ์๋ฒ๋ฆฌ์ค๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์กฐ ์์ฒด๋ฅผ ๋ฐ๊พธ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ํ๋ซํผ์ผ๋ก ์ด์ ํ๋๊ฒ ๊ต์ฅํ ํ๋ค๋ค.
- ์ด๋ฅผ ํด๋ผ์ฐ๋ ์๋น์ค ์ ์ฒด์ ์ข ์์ ์ด๋ผ๊ณ ์ผ์ปซ๋๋ค.
- ์ด๋ ๊ณง ์ฌ์ฉ์ค์ธ ํ๋ซํผ์ ๊ฐ๊ฒฉ์ด๋ ์ ์ฑ , ์๋น์ค ๋ณ๊ฒฝ์๋ ๋ฏผ๊ฐํ๊ฒ ๋ฐ์ํด์ผ๋จ์ ์๋ฏธํ๋ค. ์ ๊ณต์ ์ฒด๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์๋ก์ด ๋ฒค๋ ์ฌ์์ ๋ง์ถ๊ธฐ ์ํด ์์คํ ์ ์ ๊ทธ๋ ์ด๋ํ๋ ๋น์ฉ์ด ๋ฐ์ํ ์๋ ์๋ค.
์๋ฒ๋ฆฌ์ค ์ํคํ ์ฒ ์ ๊ณต์ ์ฒด
๋ํ์ ์ธ ์๋ฒ๋ฆฌ์ค ์ํคํ ์ฒ ์ ๊ณต์ ์ฒด๋ ๋ค์๊ณผ ๊ฐ๋ค.
- ๋ค์ด๋ฒ ํด๋ผ์ฐ๋: Cloud Functions
- Amazon: AWS Lambda
- Microsoft: Azure Functions
- Google: Google Cloud Functions
์๋ฒ๋ฆฌ์ค ์ฌ์ฉ ์ฌ๋ก
๋ฐฐ์น ์์
- ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฒ๋ฆฌํ๋๊ฒ ์๋๋ผ, ์ผ๊ด์ ์ผ๋ก ๋ชจ์์ ์ฒ๋ฆฌํ๋ ์์ ์ธ ๋ฐฐ์น ์์ ์ ๊ฒฝ์ฐ 24์๊ฐ ์ด์๋๋ ์๋ฒ๊ฐ ํ์ ์์ผ๋ฉฐ, ํน์ ์๊ฐ์ ์ํ๋๋ ๊ธฐ๋ฅ์ ์๋ฒ๋ฆฌ์ค๋ก ๊ตฌํํ๋ฉด ํจ์จ์ ์ด๋ค.
์๋ํ ์์
- ๋ทํ๋ฆญ์ค๋ ๋์์ ์ ๋ก๋ ์ ํ์ผ์ ์ธ์ฝ๋ฉ๊ณผ ๊ฒ์ฆ, ํ๊น ์ดํ์ ๊ณต๊ฐ๋๋ ์์ ์ AWS Lambda๋ฅผ ํตํด ์๋ํ ํ๋ค.
- ์ค์๊ฐ ๋น๋์ค ์คํธ๋ฆฌ๋ฐ ์ฑ ๊ฐ๋ฐ์ฌ์ธ ํ๋ฆฌ์ค์ฝํ(Periscope)๋ ๋์์์ ์ ํด์ฑ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ๊ธฐ๋ฅ์ Lambda์์ ์ด์ํ๊ณ ์๋ค.
๋ถ์๊ณผ ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ
- CPU ์ฌ์ฉ๋์ด ์๊ณ์น์ ๋๋ฌํ์ ๋ ์๋ฆผ์ ๋ฐ๊ฑฐ๋ ์ง์์ ์ผ๋ก ๊ธฐ๋ก๋๋ ๋ก๊ทธ๋ฅผ ๋ถ์ํ๊ณ ๋ฆฌํฌํ ํ๋๋ฐ ์๋ฒ๋ฆฌ์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- ๋ฏธ๊ตญ ์จ๋ผ์ธ ํจ์ ๋งค๊ฑฐ์ง ๋ฒ์ฌ(Bustle)์ ํ๋ฃจ 1์ต๊ฑด์ ์ด๋ฒคํธ ์ฒ๋ฆฌ์ ๋ฐ์ดํฐ ๋ถ์ ๋ฆฌํฌํ ์ ์๋ฒ๋ฆฌ์ค๋ฅผ ์ ์ฉํด 84%์ ๋น์ฉ์ ์ ๊ฐํ์๋ค.
์ฑ๋ด(Chat-Bot) ์๋น์ค
- ์ฑ๋ด์ ์๋ฒ๋ฆฌ์ค๋ก ๊ตฌํํ๋ฉด API ํธ์ถ ์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ์ ์ฐํ ํ์ฅ์ด ๊ฐ๋ฅํด ๋ง์ ์ฌ์ฉ์์๊ฒ ์์ ์ ์ธ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์๋ค.
- ์ฌ๋(Slack)์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ฑ๋ด ์ดํ๋ฆฌ์ผ์ด์ ์ด๋ Amazon Echo ๊ทธ๋ฆฌ๊ณ AWS Lambda๋ฅผ ์ด์ฉํ ์์ฑ์ธ์ ์ดํ๋ฆฌ์ผ์ด์ ์ด ๋์ด๋๊ณ ์๋ค.
# ์ฐธ๊ณ ์๋ฃ
https://www.youtube.com/watch?v=ufLmReluPww
https://www.samsungsds.com/kr/insights/1232763_4627.html
https://delightwook.tistory.com/41
https://ettrends.etri.re.kr/ettrends/154/0905002069/