์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ํ™•์žฅํ˜• ์•„ํŒŒ์น˜ ์นด์‚ฐ๋“œ๋ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌํ˜„ํ•˜๊ธฐ  

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ IBM Bluemix ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค์—์„œ ํ™•์žฅํ˜• ์•„ํŒŒ์น˜ ์นด์‚ฐ๋“œ๋ผ ๊ตฌํ˜„ํ•˜๊ธฐ

Last updated

์˜ค๋Š˜๋‚  ๊ธฐ์—…๋“ค์€ ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘, ์ €์žฅ, ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. ์•„ํŒŒ์น˜ ์นด์‚ฐ๋“œ๋ผ(Apache Cassandra)๋Š” ๊ณ ํ™•์žฅ์„ฑ์˜ ์˜คํ”ˆ ์†Œ์Šค NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ์„œ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์„ผํ„ฐ์™€ ์ผ๋ฐ˜ ์„œ๋ฒ„, ํด๋ผ์šฐ๋“œ ๋“ฑ์˜ ํ™˜๊ฒฝ์—์„œ ๋Œ€๋Ÿ‰์˜ ์ •ํ˜•, ๋ฐ˜์ •ํ˜•, ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ํ•œํŽธ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes)๋Š” ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์‹œ์Šคํ…œ์œผ๋กœ, GitHub์—์„œ ๊ฐ€์žฅ ํ™œ๋ฐœํ•˜๊ฒŒ ์ง„ํ–‰๋˜๋Š” ํ”„๋กœ์ ํŠธ๋“ค ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ ํŒจํ„ด์—์„œ๋Š” ์•„ํŒŒ์น˜ ์นด์‚ฐ๋“œ๋ผ์™€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ผ๋Š” ์ตœ๊ฐ• ์‹œ์Šคํ…œ์˜ ์กฐํ•ฉ์œผ๋กœ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์นด์‚ฐ๋“œ๋ผ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


‘์ฝ”๋“œ ๋ณด๊ธฐ’ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด GitHub์—์„œ ํ•œ๊ธ€ README ํŒŒ์ผ์„ ์„ ํƒํ•˜์—ฌ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

By Animesh Singh, Anthony Amanse, Ishan Gulhane

Overview

NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ํญ๋„“๊ฒŒ ํ™œ์šฉ๋˜๋Š” ์•„ํŒŒ์น˜ ์นด์‚ฐ๋“œ๋ผ๋ฅผ ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ์œผ๋กœ ๋„๋ฆฌ ์“ฐ์ด๊ณ  ์žˆ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ™˜๊ฒฝ์— ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•จ์œผ๋กœ์จ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๊ฐ€์ง„ ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค. IBM Cloud ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(IBM Cloud Container Service Kubernetes) ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋ฉ€ํ‹ฐ ๋…ธ๋“œ ํ™•์žฅํ˜•(scalable) ์นด์‚ฐ๋“œ๋ผ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ „์ฒด ๊ตฌ์ถ• ๋กœ๋“œ๋งต์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์นด์‚ฐ๋“œ๋ผ ๊ตฌ์„ฑ์š”์†Œ๋Š” ๋ณ„๋„์˜ ์ปจํ…Œ์ด๋„ˆ ๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ทธ๋ฃน์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๋ถ„์‚ฐํ˜• ์•„ํŒŒ์น˜ ์นด์‚ฐ๋“œ๋ผ ์‹œ์Šคํ…œ์„ ์ด์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์„ผํ„ฐ์—์„œ ๊ฑธ์ณ ๋Œ€๋Ÿ‰์˜ ๋…ธ๋“œ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์นด์‚ฐ๋“œ๋ผ์˜ ๋ถ„์‚ฐํ˜• ์•„ํ‚คํ…์ฒ˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ์„ผํ„ฐ์— ๊ฑธ์นœ ๋ฐฐํฌ, ์‹œ์Šคํ…œ ๋‹ค์ค‘ํ™” (redundancy), ์žฅ์•  ์กฐ์น˜ (failover), ์žฌ๋‚œ ๋ณต๊ตฌ ๋“ฑ์— ํŠนํžˆ ์ ํ•ฉํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ๋“ค์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ์— ๋งค์šฐ ์ ํ•ฉํ•˜๊ณ , ์ž๋™ํ™”, ์šด์˜, ์Šค์ผ€์ผ๋ง, ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ๊ฐ™์€ ํŽธ๋ฆฌํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Flow

  1. ๊ฐœ๋ฐœ์ž๊ฐ€ ํ—ค๋“œ๋ฆฌ์Šค ์„œ๋น„์Šค(headless service)๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์„œ๋น„์Šค๋Š” pod์˜ ๊ตฌ์„ฑ ๋ฐ ๊ทธ pod์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ •์ฑ…์„ ์ •์˜ํ•˜๋Š” ๋…ผ๋ฆฌ์  ์ถ”์ƒํ™” ๊ฐœ๋…์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ—ค๋“œ๋ฆฌ์Šค ์นด์‚ฐ๋“œ๋ผ ์„œ๋น„์Šค๋Š” ์นด์‚ฐ๋“œ๋ผ ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ๊ณผ ์นด์‚ฐ๋“œ๋ผ ์‹œ๋“œ(seed) ๋…ธ๋“œ ํ™•์ธ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  2. ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ReplicationController์ƒ์„ฑ์„ ํ†ตํ•ด, ์นด์‚ฐ๋“œ๋ผ ํด๋Ÿฌ์Šคํ„ฐ pod ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ํ•„์š”์‹œ ํ™•์žฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•œ ๊ฐœ์˜ ์นด์‚ฐ๋“œ๋ผ ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•œ ์ดํ›„์—๋Š” ReplicationController์— ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์นด์‚ฐ๋“œ๋ผ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. PersistentVolume (PV)์„ ๊ฐ€์ง„ ์นด์‚ฐ๋“œ๋ผ ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด, ๊ฐœ๋ฐœ์ž๋Š” ์ •์  ํ”„๋กœ๋น„์ €๋‹์„ ์ด์šฉํ•˜์—ฌ, ๋ถˆ๋ฅจ์„ ์ƒ์„ฑํ•˜๋ฉฐ, ์ œ๊ณต๋œ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ PV๋ฅผ ํ”„๋กœ๋น„์ €๋‹ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์นด์‚ฐ๋“œ๋ผ ๋…ธ๋“œ์™€ ๋™์ผํ•œ ์ˆ˜์˜ PersistentVolumes์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  4. ๊ฐœ๋ฐœ์ž๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค StatefulSets๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ PV๋ฅผ ๊ฐ€์ง„ ์นด์‚ฐ๋“œ๋ผ ํด๋Ÿฌ์Šคํ„ฐ ๋…ธ๋“œ pod๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. StatefulSet๋Š” ์š”์ฒญ๋œ deployment ๋ฐ ์ข…๋ฃŒ, ๋„คํŠธ์›Œํฌ ๊ณ ์œ  ์ด๋ฆ„ ๊ด€๋ฆฌ ๋“ฑ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
  5. ๊ฐœ๋ฐœ์ž๋Š” ์นด์‚ฐ๋“œ๋ผ ์ฟผ๋ฆฌ ์–ธ์–ด(CQL)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์นด์‚ฐ๋“œ๋ผ ํ‚ค ์ŠคํŽ˜์ด์Šค์— Employee ํ‘œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

Components

IBM Cloud Kubernetes Service

IBM Cloud ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์„œ๋น„์Šค๋Š” IBM ํด๋ผ์šฐ๋“œ ์ƒ์—์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ(Kubernetes Cluster) ๋ฐ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ(Docker Container) ๊ธฐ๋ฐ˜์˜ ๊ณ ๊ฐ€์šฉ์„ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ด€๋ฆฌ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Kubernetes Cluster

๋‚˜๋งŒ์˜ ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ๋ฅผ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌํ•˜๊ณ , ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์—”์ง„์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Apache Cassandra

๊ณ ๊ฐ€์šฉ์„ฑ์˜ ํ™•์žฅํ˜• ์˜คํ”ˆ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

Technologies

ํด๋ผ์šฐ๋“œ

์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ปดํ“จํŒ… ๋ฐ IT ๋ฆฌ์†Œ์Šค์— ์—‘์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค

์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜

์ปจํ…Œ์ด๋„ˆํ˜• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐํฌ, ์Šค์ผ€์ผ๋ง ๋ฐ ๊ด€๋ฆฌ์˜ ์ž๋™ํ™”.

Containers

์•ฑ ์‹คํ–‰์— ํ•„์š”ํ•œ ๋ชจ๋“  ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฐ€์ƒ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ์ฒด.

Databases

๋ฐ์ดํ„ฐ์˜ ์ €์žฅ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์ €์žฅ์†Œ.

Related Blogs

๊ท€ํ•˜๊ฐ€ ์ž…๋ ฅํ•œ ์‡ผํŠธ์ฝ”๋“œ ๊ฒ€์ƒ‰์กฐ๊ฑด์— ๋งค์น˜๋˜๋Š” ํฌ์ŠคํŒ…์ด ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Related Links

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค, IBM Cloud ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

IBM Cloud ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค๋Š” ๋„์ปค์™€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ๊ฐ•๋ ฅํ•œ ํˆด๊ณผ ์ง๊ด€์ ์ธ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜, ๊ทธ๋ฆฌ๊ณ  ๋‚ด์žฅํ˜• ๋ณด์•ˆ๊ณผ ๊ฒฉ๋ฆฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.