๐Ÿงถ Spring | Spring Boot/Spring Cloud & MSA

Cloud Native Architecture

  • -

Cloud Native Architecture

  • Cloud Nativer๋ž€ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์— ์นœํ™”์ ์ด๋ผ๋Š” ์›๋ก ์ ์ธ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง
  • CNCF์—์„œ ์ฒ˜์Œ ๋‚ด์„ธ์šด ๋‹จ์–ด๋กœ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ๋ชจ๋ธ์˜ ์žฅ์ ์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ๊ตฌ์ถ•ํ•˜๋ฉฐ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์„ ์˜๋ฏธ
    • ํผ๋ธ”๋ฆญ, ํ”„๋ผ์ด๋น—, ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ํ™•์žฅ์„ฑ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๊ณ  ์šด์˜ํ•  ์ˆ˜ ์žˆ์Œ
    • ์ปจํ…Œ์ด๋„ˆ, ์„œ๋น„์Šค ๋ฉ”์‹œ, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ๋ถˆ๋ณ€ ์ธํ”„๋ผ, ์„ ์–ธ์  API๊ฐ€ ์ „ํ˜•์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์— ํ•ด๋‹น
    • ํšŒ๋ณต์„ฑ์ด ์žˆ๊ณ , ๊ด€๋ฆฌ ํŽธ์˜์„ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๊ฐ€์‹œ์„ฑ์„ ๊ฐ–๋Š” ๋А์Šจํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋œ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
    • ๊ฒฌ๊ณ ํ•œ ์ž๋™ํ™”์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด, ์—”์ง€๋‹ˆ์–ด๋Š” ์ตœ์†Œํ•œ์˜ ์ˆ˜๊ณ ๋กœ ์˜ํ–ฅ๋ ฅ์ด ํฌ๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๋ณ€๊ฒฝ์„ ํ•  ์ˆ˜ ์žˆ์Œ

 

Cloud Native Architecture์˜ ๊ตฌ์„ฑ ์š”์†Œ

๐Ÿ’ก ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋”ฐ๋กœ ๋‹ค๋ฃจ๊ธฐ๋กœ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฌด์Šจ ์˜๋ฏธ์ธ์ง€๋งŒ ์งš๊ณ  ๋„˜์–ด๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ธํ”„๋ผ

  • ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ์„œ๋ฒ„๊ฐ€ ๋ฐฐํฌ ํ›„์—๋„ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ์œ ์ง€๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธ
    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋” ๋งŽ์€ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ด์ „ ์„œ๋ฒ„๋Š” ํ๊ธฐ๋˜๊ณ  ์•ฑ์€ ์ƒˆ๋กœ์šด ๊ณ ์„ฑ๋Šฅ ์„œ๋ฒ„๋กœ ์ด์ „ํ•˜๋Š” ๋“ฑ
  • ์ˆ˜๋™ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ํ”ผํ•จ์œผ๋กœ์จ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค์˜ ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ์„ ๋†’์ž„

 

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค

  • ์ „์ฒด์ ์œผ๋กœ ํ•˜๋‚˜์˜ ์™„์ „ํ•œ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์ž‘๋™ํ•˜๋Š” ์†Œ๊ทœ๋ชจ์˜ ๋…๋ฆฝ์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ
  • ๊ฐ ์„œ๋น„์Šค๋Š” ํ•˜๋‚˜์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ
  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋Š” ๋А์Šจํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด์žˆ์œผ๋ฉฐ ์„œ๋กœ ๊ฐ„์˜ ํ†ต์‹ ์„ ํ†ตํ•ด ์—ฐ๊ฒฐ
  • ํ•˜๋‚˜์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์ „์ฒด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ •์ƒ ์ž‘๋™

 

API

  • ๋‘˜ ์ด์ƒ์˜ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋žจ์ด ์„œ๋กœ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹
  • ๋А์Šจํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋œ ์—ฌ๋Ÿฌ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ†ตํ•ฉ
  • ๋ณดํ†ต REST API ๊ฐ™์€ ๊ฒฝ๋Ÿ‰ API๋ฅผ ๋งŽ์ด ์‚ฌ์šฉ

 

์„œ๋น„์Šค ๋ฉ”์‹œ

  • ์—ฌ๋Ÿฌ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ฐ„์˜ ํ†ต์‹ ์„ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ณ„์ธต
  • ์„œ๋น„์Šค ํƒ์ƒ‰, ์„œํ‚ท ๋ธŒ๋ ˆ์ดํฌ, ์ถ”์ , ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋“ฑ์˜ ์„œ๋น„์Šค ํ†ต์‹  ๊ฐ„์— ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋“ค์„ ๋„คํŠธ์›Œํฌ ์ธํ”„๋ผ ๊ณ„์ธต์—์„œ ์ˆ˜ํ–‰ํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ์ง‘์ค‘ํ•˜๋„๋ก ๋„์™€์คŒ
    • ์‰ฝ๊ฒŒ ๋งํ•ด ์œ„์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ๊ด€๋ฆฌ ์ฝ”๋“œ๋“ค์„ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋งˆ๋‹ค ์ž‘์„ฑํ•ด์•ผํ–ˆ๋Š”๋ฐ, ๋”ฐ๋กœ ๊ณ„์ธต์„ ๋‘์–ด ํ•œ๊ณณ์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‚ฌ์ด๋“œ์นด ๋ผ๊ณ ๋„ ๋ถ€๋ฆ„

 

์ปจํ…Œ์ด๋„ˆ

  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์ฝ”๋“œ ๋ฐ ๊ธฐํƒ€ ํ•„์ˆ˜ ํŒŒ์ผ์„ ํŒจํ‚ค์ง•ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ
  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ์ปจํ…Œ์ด๋„ˆํ™”ํ•จ์œผ๋กœ์จ, ๊ธฐ๋ฐ˜ ์šด์˜ ์ฒด์ œ ๋ฐ ํ•˜๋“œ์›จ์–ด์™€ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ์–ด ์–ด๋– ํ•œ ํ™˜๊ฒฝ์—์„œ๋„ ๋น ๋ฅด๊ฒŒ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅ

 

Cloud Native Architecture ํŠน์ง•

ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์•„ํ‚คํ…์ฒ˜

  • ํ•„์š”์— ๋”ฐ๋ผ ์‹œ์Šคํ…œ์„ ์ˆ˜ํ‰์ ์œผ๋กœ ํ™•์žฅ ๊ฐ€๋Šฅ(์Šค์ผ€์ผ ์•„์›ƒ)
  • ํ™•์žฅ๋œ ์„œ๋ฒ„๋กœ ์‹œ์Šคํ…œ์˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ ๋ฐ ๊ฐ€์šฉ์„ฑ ๋ณด์žฅ
  • ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜์˜ ํŒจํ‚ค์ง€๋กœ ๋น ๋ฅด๊ณ  ์œ ์—ฐํ•˜๊ฒŒ ํ™•์žฅ
  • ๋‹ค์–‘ํ•œ ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ํ™•์žฅ๋œ ์„œ๋น„์Šค๋“ค์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Œ

 

ํƒ„๋ ฅ์  ์•„ํ‚คํ…์ฒ˜

  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋กœ ๊ฐœ๋ฐœํ•˜์—ฌ ์ž๋™ํ™”๋œ CI-CD ํŒŒ์ดํ”„๋ผ์ธ์„ ํ†ตํ•ด ๋น„์ฆˆ๋‹ˆ์Šค ํ™˜๊ฒฝ ๋ณ€ํ™”์— ๋น ๋ฅด๊ณ  ํƒ„๋ ฅ์ ์œผ๋กœ ๋Œ€์‘
    • ์‰ฝ๊ฒŒ ๋งํ•ด, ์„œ๋น„์Šค์˜ ์ƒ์„ฑ , ํ†ตํ•ฉ , ๋ฐฐํฌ ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚ค๋Š” ๊ฒƒ์„ ์˜๋ฏธ
  • ์„œ๋น„์Šค ๊ฐ„ Statelessํ•œ ์„ฑ๊ฒฉ์„ ํ†ตํ•ด ์ข…์†์„ฑ์„ ์ค„์ด๊ณ  ๋ณ€ํ™”์— ์„œ๋กœ๊ฐ€ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋„๋ก
  • ์„œ๋น„์Šค์˜ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ๋ฅผ ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•˜์—ฌ ์ฒ˜๋ฆฌ

 

์žฅ์•  ๊ฒฉ๋ฆฌ

  • ํŠน์ • ์„œ๋น„์Šค์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ๋‹ค๋ฅธ ์„œ๋น„์Šค์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Œ
  • ์žฅ์• ๊ฐ€ ๋‚œ ํŠน์ • ์„œ๋น„์Šค๋งŒ์„ ๊ฒฉ๋ฆฌํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Œ

 

 

 

์ฐธ๊ณ ์ž๋ฃŒ

http://mdic.kr/review/review/view/1379

https://wonit.tistory.com/486

https://www.inflearn.com/course/์Šคํ”„๋ง-ํด๋ผ์šฐ๋“œ-๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค/unit/68281?tab=curriculum

https://aws.amazon.com/ko/what-is/cloud-native/

์„œ๋น„์Šค ๋ฉ”์‰ฌ

'๐Ÿงถ Spring | Spring Boot > Spring Cloud & MSA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

12 Factors + 3 Factors  (0) 2022.10.26
Cloud Native Application  (0) 2022.10.26
On-Premise์™€ Cloud  (0) 2022.10.26
Spring Cloud Netflix Eureka  (0) 2022.10.24
Service Discovery Pattern  (0) 2022.10.24
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.