๋ชจ๋๊ฐ ๋งํ์ง๋ง ์ผ๋ถ๋ง ์๋ โํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธโ
๋ชจ๋๊ฐ ๋งํ์ง๋ง ์ผ๋ถ๋ง ์๋ โํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธโ ๊ด๋ จ
์์ฆ ํด๋ผ์ฐ๋๋ฅผ ๋์ด โํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธโํ๊ฒ ๋ผ๋ ๋ง์ด ์์ฃผ ์ฐ์ด๊ณ ์์ต๋๋ค.
์ผ๋ฐ ๊ธฐ์ ๋ฟ๋ง ์๋๋ผ ๊ณต๊ณต ๋ถ๋ฌธ์์๋ ์ ๋ถ ์๋น์ค๋ฅผ ๊ฐ๋ฐํ ๋ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ๋ฅผ ์ค์ฌ์ผ๋ก ์งํํด์ผ ํ๋ค๊ณ ์ธ๊ธํ ์ ๋์ ๋๋ค. ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ๊ฐ ๋์ฒด ์ด๋ค ๊ฒ์ด๊ธธ๋ ์ดํ ๋ก ๋ง์ ๊ณณ์์ ์ด์ผ๊ธฐํ๊ณ ์์๊น์?
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธํ๋ค๋ ๊ฒ์?
๋ค์ํ ๊ธฐ์ ์์ ๊ทธ๋ฆฌ๊ณ ๊ณต๊ณต์์ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ๋ฅผ ์ ์ํ๊ณ ์์ง๋ง, ์ ๋ ์ฃผ๋ก ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ปดํจํ ์ฌ๋จ์์ ์ค๋ช ํ๊ณ ์๋ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ช ํ๊ฒ ์ต๋๋ค. ํ์๋ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ปดํจํ ์ฌ๋จ(CNCF, Cloud Native Computing Foundation)์ ์ฐ๋ฐฐ์๋๋ก ํ๋ํ๊ณ ์์ผ๋ฉฐ, ๊ฐ์ ์ฌ๋จ์ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๊ต์ก ์ฐ๋ฐฐ์๋์ธ Kubestronaut ์ธ์ฆ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
ํ๊ตญ์ด ๋ฒ์ญ๋ ์์ง๋ง, ์ผ๋ถ ๋ด์ฉ์ด ์ต์ ์ด ์๋๊ณ ์ ํํ๊ฒ ํด๋น ํํ์ ์ค๋ช ํ๋ ค๋ฉด ์์ด ์๋ฌธ์ด ์ข ๋ ์ ํํด์ ์๋ฌธ์ ์ฌ์ฉํ์์ ๋ฐํ๋๋ค.
Definition
Cloud native practices empower organizations to develop, build, and deploy workloads in computing environments (public, private, hybrid cloud) to meet their organizational needs at scale in a programmatic and repeatable manner. It is characterized by loosely coupled systems that interoperate in a manner that is secure, resilient, manageable, sustainable, and observable. Cloud native technologies and architectures typically consist of some combination of containers, service meshes, multi-tenancy, microservices, immutable infrastructure, serverless, and declarative APIs โ this list is non-exhaustive
์์ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธํ๋ค๋ ๊ฒ์ ํน์ง์ ์ดํด๋ณด๋ฉด, ํฌ๊ฒ 3๊ฐ์ง๋ก ๋๋ ์ ์์ต๋๋ค.
์ฒซ ๋ฒ์งธ ์ ์
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธํ๋ค๊ณ ๋งํ๋ ค๋ฉด ์ฒซ์งธ, ๋ค์ํ ํด๋ผ์ฐ๋ ํ๊ฒฝ(ํผ๋ธ๋ฆญ, ํ๋ผ์ด๋น, ํ์ด๋ธ๋ฆฌ๋)์์ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ ์ฌ์ฉํด์ ๋ฐ๋ณต์ ์ผ๋ก ์ํฌ๋ก๋(์ ํ๋ฆฌ์ผ์ด์ )๋ฅผ ํ์ฅ/์ถ์ํ ์ ์์ด์ผ ํฉ๋๋ค.
Cloud native practices empower organizations to develop, build, and deploy workloads in computing environments (public, private, hybrid cloud) to meet their organizational needs at scale in a programmatic and repeatable manner.
๋ฐ๋ณต์ ์ผ๋ก ์ฝ๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ ์์ ๋ก ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋ค์์ Yaml ์ฝ๋๋ EKS(Amazon AWS), AKS(MS Azure), GKE(Google GCP) ๊ทธ๋ฆฌ๊ณ ์จํ๋ ๋ฏธ์ค ์ด๋์ ๋ฐฐํฌํด๋ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์ด์ ๊ฐ์ด ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธํ๊ฒ ์์ฑ๋ ์ฝ๋๋ฅผ ์ด์ฉํ๋ค๋ฉด, ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ณ ํด๋น ์ฝ๋๋ฅผ ์ด๋ค ํ๊ฒฝ์๋ ์์ฝ๊ฒ ๋ฐฐํฌํ๊ณ ์ด์ํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์์ฐ์ฑ์ ๊ทน๋ํํ ์ ์๊ฒ ๋ฉ๋๋ค.
๋ ๋ฒ์งธ ์ ์
๋์งธ, ๋์จํ๊ฒ ๊ฒฐํฉ๋ ์์คํ ์ผ๋ก ์ธํด ์ํธ์ด์ฉ์ฑ์ ๋์ผ ์ ์๊ณ , ์ด๋ฌํ ํน์ฑ์ผ๋ก ๋ณด์, ๊ด์ธก๊ฐ๋ฅ์ฑ ์ธ์ ๋ค์ํ ์ด์ ์ ์ป์ ์ ์์ต๋๋ค.
It is characterized by loosely coupled systems that interoperate in a manner that is secure, resilient, manageable, sustainable, and observable.
๋์จํ ๊ฒฐํฉ(Loose Coupling)์ ๊ตฌ์ฑ ์์๊ฐ์ ์์กด์ฑ์ ์ค์ฌ์ ๋ ๋ฆฝ์ ์ธ ๋์์ ๊ฐ๋ฅ์ผ ํ๊ณ , ์ด๋ฅผ ํตํด ์ ์ฒด ์์คํ ์ ์์ ํ์ ์ ์ฐ์ฑ์ ํจ๊ป ๊ฐ์ง๊ณ ๊ฐ ์ ์๊ฒ ํฉ๋๋ค. ๋ํ ์ด๋ ๊ฒ ๋์จํ ๊ฒฐํฉ์ ๊ฐ์ง๊ณ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ผ๋ฉด ์ด๋ฏธ ๊ตฌ์กฐ์ ์ผ๋ก ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ(MicroService Architecture, MSA)์ ์ ํฉํ๊ฒ ์ค๊ณ๋์ด ์๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
๊ทธ๋ฌํ ํ๋ฆ์ ๋ฐ๋ผ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ์๋ ์ฃผ๋ก ๋ชจ๋๋ฆฌ์(Monolithic) ์ํคํ ์ฒ๋ณด๋ค๋ ๊ธฐ๋ฅ๋ณ๋ก ๊ตฌ์ฑ ์์๋ค์ ๋๋์ด ํด๋น ๊ตฌ์ฑ ์์๋ฅผ ํ์์ ๋ฐ๋ผ ๋ฐฐํฌ์ ์๋ฅผ ์กฐ์ ํ๊ณ , ๋ ์ด์ ํ์ํ์ง ์๋ค๋ฉด ์ญ์ ํ ์ ์๋ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ๊ฒ ์ค๊ณ๋ ์ํคํ ์ฒ๋ผ๋ฉด ๋น์ฆ๋์ค ์ํฉ์ ๋ฐ๋ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ํํ ๊ตฌ์กฐ๋ฅผ ๋น ๋ฅด๊ฒ ๋ณ๊ฒฝ ์ ์ฉํ์ฌ ์ด์ํ ์ ์์ต๋๋ค.
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ ๋ํ ์์๋ก Online-Boutique ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๊ณ ์ด๋ฅผ ์ด์คํฐ์ค(Istio) ์๋น์ค ๋ฉ์๋ฅผ ํตํด์ ํ์ธํ ๊ฒฐ๊ณผ๋ฅผ ์ค๋นํ์ต๋๋ค.
์ธ ๋ฒ์งธ ์ ์
์ ์งธ, ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธํ ์ํคํ ์ฒ๋ ์ ํ์ด ์๋ ๋ค์ํ ํํ๋ก ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
Cloud native technologies and architectures typically consist of some combination of containers, service meshes, multi-tenancy, microservices, immutable infrastructure, serverless, and declarative APIs โ this list is non-exhaustive
์๋ฅผ ๋ค์ด ์ปจํ ์ด๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ฉํฐ ํ ๋์(multi-tenancy) ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ๋ค์ํ ์ฌ์ฉ์ ๋๋ ๊ณ ๊ฐ์ด ๊ณต๋์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ด์ํ๋ ํด๋ฌ์คํฐ๋ฅผ ๊ฐ์ง ์ ์์ผ๋ฉฐ, ์ด๋ ๋งค์ฐ ์์ ์ ์ผ๋ก ์๋น์ค๋ฅผ ์ด์ํ ์ ์๋ ํ๊ฒฝ์ ๋๋ค. ์ด ํ๊ฒฝ์์ ์๋ฒ๋ฆฌ์ค(Serverless), MLOps ๋ฑ์ ์์ฝ๊ฒ ๊ตฌํํ ์ ์์ฃ . ํ์ฌ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ LLM์์์ ์์คํ ์์์ธ GPU๋ฅผ ํจ์จ์ ์ผ๋ก ์ด์ํ๋ ๋ฐ์๋ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
์ด๋ฌํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ธฐ ์ํด ์ฐ์ด๋ ๋ํ์ ์ธ ๊ตฌ์ฑ ์์๋ ๋ค์๊ณผ ๊ฐ์ด ๊ทธ๋ฆผ์ผ๋ก ์ ๋ฆฌํ ์ ์์ต๋๋ค.
์ด์ ๊ด๋ จํ์ฌ ๊ธฐ๋ณธ์ ์ธ ๋ผ๋๊ฐ ๋๋ ์ฟ ๋ฒ๋คํฐ์ค, ๋์ปค, CI/CD(์ ํจ์ค) ๊ทธ๋ฆฌ๊ณ ๊ด์ธก๊ฐ๋ฅ์ฑ(Observability, ํ๋ก๋ฉํ ์ฐ์ค์ ๊ทธ๋ผํ๋)์ ์ค์ ๋ก ์ค์ตํ๊ณ ๋ค๋ฃจ์ด ๋ณด๊ณ ์ถ์ผ์๋ค๋ฉด, ๋ค์์ ์ฑ ์ ์ถ์ฒ๋๋ฆฝ๋๋ค.
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ํ๊ฒ ํ๋ค๋ฉด?
์ง๊ธ๊น์ง ์ค๋ช ์์ ์ ์ ์๋ฏ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธํ๊ธฐ ์ํด์๋ ๋จ์ํ ๊ฐ๋ฐ, ์ด์ ๋ฑ์ ๊ด๋ จ ๋ชจ๋ ๋ถ์์ ์ ๋ฐ์ ์ธ ํ์ ์ด ํ์ํฉ๋๋ค. ์ด๋ฌํ ํ์ ์ ์ํด ๊ฐ๋ดํด์ผ ํ๋ ๋ ธ๋ ฅ๊ณผ ์๊ฐ์ด ํ์ํ์ง๋ง, ๊ทธ ๊ฒฐ๊ณผ ํน์ ํ์ฌ์ ์์คํ ์ ์ข ์๋์ง ์๋ ์ง์ ํ ์์ ๋ก์์ ์ป๊ฒ ๋ ๊ฒ๋๋ค.
๋ํ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธํ๊ฒ ๋์ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ผ๋ฉด ์ด๋ ํ ํ๊ฒฝ์์๋ ์คํ์ด ๊ฐ๋ฅํ๋ฏ๋ก ๊ฐ๋ฐ์๋ค์ด ๋ ์ด์ ๋์ํ๋ ํ๊ฒฝ์ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๊ฐ๋ฐ ์กฐ์ง์ด ๊ฐ๋ฐ์๋ง ์ ๋ ํ๋ ํํ๋ก ์ด์๋ ์ ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธํ๊ฒ ์ค๊ณ๋์ด ์๋น์ค๋ฅผ ์ด์ํ๋ค๋ฉด ์ต์ํ์ ์ธ๋ ฅ์ผ๋ก ๋ง์ ๋ถ๋ถ์ ์๋ํํ๊ณ , ํ์ํ ๋ ์์์ ์ฌ์ฉํ ์ ์๋๋ก ์ค๊ณํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ ๋น์ฉ ๊ณ ํจ์จ ํํ๋ฅผ ์ ์งํ ์ ์์ต๋๋ค.
์ด๋ฒ ๊ธ์ด ๋ณด๋ค ๋ง์ ๋ถ์ด ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธํ๊ฒ ์ค๊ณํ๊ณ ์ด์ํ ์ ์๋ ์์์ ์ด ๋๊ธธ ๋ฐ๋๋๋ค.
์๋ฌธ
์ ๋ณดํต์ ์ฐ์ ์งํฅ์(NIPA)์์ ์ด์ํ๋ ๊ณต๊ฐ SW ํฌํธ์ ๊ธฐ๊ณ ํ ๋ด์ฉ์ ๋๋ค.