DevOps

πŸ”­ν”Œλž«νΌ μ—”μ§€λ‹ˆμ–΄λ§μ΄λž€ λŒ€μ²΄ λ¬΄μ—‡μΌκΉŒ?

ν”Œλž«νΌ μ—”μ§€λ‹ˆμ–΄λ§μ— λŒ€ν•΄ μ •λ¦¬ν•΄μ„œ μ†Œκ°œν•΄λ“œλ¦½λ‹ˆλ‹€.

2024.08.05 | 쑰회 389 |
0
|
DevOps 여행을 μœ„ν•œ μ†Œμ‹μ§€μ˜ ν”„λ‘œν•„ 이미지

DevOps 여행을 μœ„ν•œ μ†Œμ‹μ§€

DevOps, ν΄λΌμš°λ“œ, IT 기술 κ΄€λ ¨ μ΅œμ‹  μ†Œμ‹κ³Ό 정보λ₯Ό μ •λ¦¬ν•΄μ„œ μ£Ό 1회 μ΄λ©”μΌλ‘œ μ „ν•΄λ“œλ¦½λ‹ˆλ‹€πŸ˜Ί

μ•ˆλ…•ν•˜μ„Έμš” κ΅¬λ…μžλ‹˜, DevOps μ†Œμ‹κ³Ό 기술 지식을 μ •λ¦¬ν•΄μ„œ κ³΅μœ ν•΄λ“œλ¦¬λŠ” DevOps 여행을 μœ„ν•œ μ†Œμ‹μ§€μž…λ‹ˆλ‹€.

μš°λ¦¬κ°€ DevOps에 λŒ€ν•΄ 검색을 ν•˜λ‹€λ³΄λ©΄ ν•¨κ»˜ λ– μ˜€λ₯΄λŠ” ν‚€μ›Œλ“œκ°€ ν•˜λ‚˜ μžˆμŠ΅λ‹ˆλ‹€. λ°”λ‘œ ν”Œλž«νΌ μ—”μ§€λ‹ˆμ–΄λ§μΈλ°μš”.

졜근 저도 ν”Œλž«νΌ μ—”μ§€λ‹ˆμ–΄λ§μ΄λž€ ν‚€μ›Œλ“œλ₯Ό 많이 μ ‘ν•˜κ²Œ λ˜λ©΄μ„œ ν”Œλž«νΌ μ—”μ§€λ‹ˆμ–΄λ§μ΄ ꡬ체적으둜 무엇을 λ§ν•˜λŠ”μ§€ κΆκΈˆν–ˆκ³ , 이번 κΈ°νšŒμ— 정리λ₯Ό ν•΄λ΄€μŠ΅λ‹ˆλ‹€.

그럼 같이 μ•Œμ•„λ³ΌκΉŒμš”?

ν”Œλž«νΌ μ—”μ§€λ‹ˆμ–΄λ§μ€ 개발자λ₯Ό μœ„ν•œ 개발 ν™œλ™μž…λ‹ˆλ‹€.
ν”Œλž«νΌ μ—”μ§€λ‹ˆμ–΄λ§μ€ 개발자λ₯Ό μœ„ν•œ 개발 ν™œλ™μž…λ‹ˆλ‹€.

ν”Œλž«νΌ μ—”μ§€λ‹ˆμ–΄λ§μ€ 개발자의 생산성을 λ†’μ—¬μ£ΌλŠ” λ‚΄λΆ€ ν”Œλž«νΌ(Internal Developer Platform, IDP)을 κ°œλ°œν•˜κ³  μœ μ§€λ³΄μˆ˜ν•˜λŠ” ν™œλ™μ„ μ˜λ―Έν•©λ‹ˆλ‹€. 즉, 개발자λ₯Ό μœ„ν•œ 개발이라고 λ³Ό 수 μžˆκ² λŠ”λ°μš”.

κ·Έλ ‡λ‹€λ©΄ ν”Œλž«νΌ μ—”μ§€λ‹ˆμ–΄λ§μ€ DevOps와 μ–΄λ–€ 차이가 μžˆμ„κΉŒμš”?

 

πŸ”ŽDevOps와 ν”Œλž«νΌ μ—”μ§€λ‹ˆμ–΄λ§μ˜ 차이

두 가지 λͺ¨λ‘ 쑰직 λ‚΄ 개발자λ₯Ό λŒ€μƒμœΌλ‘œ ν•˜λŠ” ν™œλ™μ΄κΈ° λ•Œλ¬Έμ— κ·Έ 차이점이 λΆ„λͺ…ν•˜μ§€ μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ 두 ν™œλ™μ„ ν•¨κ»˜ λΉ„κ΅ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

첨뢀 이미지

λ¨Όμ € DevOpsλŠ” μ†Œν”„νŠΈμ›¨μ–΄ 개발 μ ‘κ·Ό 방식 쀑 ν•˜λ‚˜λ‘œ, 개발 주체과 운영 주체 κ°„μ˜ κΈ΄λ°€ν•œ ν˜‘μ—…μ„ μœ„ν•œ κ²ƒμž…λ‹ˆλ‹€.

그리고 ν”Œλž«νΌ μ—”μ§€λ‹ˆμ–΄λ§μ€ DevOps에 ν•„μš”ν•œ 각쒅 도ꡬ와 μž‘μ—… ν”„λ‘œμ„ΈμŠ€ ν•œ 곳에 λͺ¨μ€ ν”Œλž«νΌμ„ μ œκ³΅ν•˜λŠ” ν™œλ™μž…λ‹ˆλ‹€.

즉, DevOps νŒ€μ€ μ‘°μ§μ—κ²Œ μ μ ˆν•œ 개발 ,λΉŒλ“œ, ν…ŒμŠ€νŠΈ, 배포, Configuration, μžλ™ν™” 도ꡬλ₯Ό λ„μž…ν•¨μœΌλ‘œμ¨ 개발 ν”„λ‘œμ„ΈμŠ€λ₯Ό μ •λ¦½ν•˜λŠ” 역할을 μˆ˜ν–‰ν•˜κ³ , ν”Œλž«νΌ μ—”μ§€λ‹ˆμ–΄λ§ νŒ€μ€ μ΄λ ‡κ²Œ μ„ μ •λœ 도ꡬ듀을 νŒŒμ•…, μΆ”κ°€ κ΅¬ν˜„, μœ μ§€λ³΄μˆ˜ν•˜μ—¬ 쑰직 λ‚΄ κ°œλ°œμžλ“€μ΄ μ‚¬μš©ν•  수 μžˆλ„λ‘ ν”Œλž«νΌ(IDP)으둜 λ§Œλ“€μ–΄λ‚΄λŠ” 역할을 μˆ˜ν–‰ν•˜λŠ” 것이죠.

μ΄λ ‡κ²Œ IDPλ₯Ό κ΅¬μ„±ν•˜κ²Œ λœλ‹€λ©΄, 쑰직 λ‚΄ λ‹€λ₯Έ κ°œλ°œμžλ“€μ€ ν”Œλž«νΌμ΄λ‚˜ 도ꡬ μžμ²΄μ— λŒ€ν•œ μ„Έμ„Έν•œ 이해 없이도 ν”Œλž«νΌμ΄ μ œκ³΅ν•˜λŠ” 일관성과 생산성을 λˆ„λ¦΄ 수 있게 λ©λ‹ˆλ‹€.

μ§€κΈˆκΉŒμ§€ μ‚΄νŽ΄λ³Έ κ²ƒμ²˜λŸΌ, ν”Œλž«νΌ μ—”μ§€λ‹ˆμ–΄λ§κ³Ό IDPλŠ” μ‹€κ³Ό λ°”λŠ˜κ°™μ€ 관계이기 λ•Œλ¬Έμ— IDP에 λŒ€ν•΄μ„œλ„ κ·Έλƒ₯ λ„˜μ–΄κ°ˆ μˆ˜λŠ” μ—†κ² λŠ”λ°μš”.πŸ€“

IDPλŠ” λ‚΄λΆ€ 개발자 ν”Œλž«νΌμ΄λΌκ³  ν–ˆμ—ˆμ£ . 이런 IDPλŠ” λŒ€κ·œλͺ¨ 개발 νŒ€μ—κ²Œλ§Œ ν•„μš”ν•˜λ‹€κ³  생각될 μˆ˜λ„ μžˆμ§€λ§Œ, κ°œλ°œλΆ€ν„° λ°°ν¬κΉŒμ§€ κΎΈμ€€νžˆ μ΄λ€„μ§€λŠ” νŒ€μ΄λΌλ©΄ μ•ˆμ •μ μΈ μž‘μ—… ν”„λ‘œμ„ΈμŠ€λ₯Ό μœ„ν•΄ IDPλ₯Ό κ³ λ―Όν•΄λ³Όλ§Œ ν•©λ‹ˆλ‹€.

사싀 IDP에 λŒ€ν•œ ν‘œμ€€μ΄ μ •λ¦½λœ 것은 μ•„λ‹ˆκΈ° λ•Œλ¬Έμ— 각 μ‘°μ§λ§ˆλ‹€ IDP에 λŒ€ν•œ μš”κ΅¬μ‚¬ν•­μ€ λ‹€λ₯Ό 수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ 단일 툴이 μ•„λ‹Œ μ—¬λŸ¬ 개의 νˆ΄μ„ 유기적으둜 ν™œμš©ν•΄μ„œ IDP둜 ꡬ성할 μˆ˜λ„ μžˆλŠ” 것이죠.

μ‘°μ§λ§ˆλ‹€ μ°¨μ΄λŠ” μžˆλ”λΌλ„ IDPκ°€ κ°€μ Έμ•Ό ν•  ν•„μˆ˜ μš”μ†ŒλŠ” μ•„λž˜μ™€ 같이 7κ°€μ§€λ‘œ 정리할 수 μžˆμŠ΅λ‹ˆλ‹€.

 

πŸ› οΈIDP의 ν•„μˆ˜ κ΅¬μ„±μš”μ†Œ 7가지

νŒŒμ΄ν”„λΌμΈ

μ†Œν”„νŠΈμ›¨μ–΄ μ½”λ“œλ₯Ό 개발 쀑이라면 μ½”λ“œμ— λ¬Έμ œκ°€ μ—†λŠ”μ§€ 검증이 ν•„μš”ν•œλ°μš”. 이런 μ½”λ“œ κ²€μ¦μ„ μžλ™μœΌλ‘œ ν•΄μ£ΌλŠ” νŒŒμ΄ν”„λΌμΈμ΄ μžˆλ‹€λ©΄ κ°œλ°œμžλ“€μ˜ 생산성이 ν–₯상될 κ²ƒμž…λ‹ˆλ‹€.

νŒŒμ΄ν”„λΌμΈ κ΄€λ ¨ νˆ΄λ‘œλŠ” GitHub Action, GitLab CI Runner, Jenkins 등이 μžˆμŠ΅λ‹ˆλ‹€.

 

μ•„ν‹°νŒ©νŠΈ μ €μž₯μ†Œ

컴파일이 μ™„λ£Œλ˜μ—ˆκ±°λ‚˜ μ»¨ν…Œμ΄λ„ˆν™”λœ 이미지λ₯Ό μ €μž₯ν•˜λŠ” μ•„ν‹°νŒ©νŠΈ μ €μž₯μ†ŒλŠ” 쑰직 λ‚΄ 개발 ν”„λ‘œμ„ΈμŠ€μ™€ λ³΄μ•ˆμ„ μœ„ν•΄μ„œ ν•„μˆ˜μ μž…λ‹ˆλ‹€. λ˜ν•œ μ•„ν‹°νŒ©νŠΈ μ €μž₯μ†Œκ°€ μžˆλ‹€λ©΄ λ¬Έμ œκ°€ λ°œμƒν–ˆμ„ 경우 μ‹ μ†ν•˜κ²Œ 이전 λ²„μ „μ˜ 이미지λ₯Ό κ°€μ Έμ™€μ„œ μ‚¬μš©ν•  μˆ˜λ„ 있겠죠.

μ•„ν‹°νŒ©νŠΈ μ €μž₯μ†Œ κ΄€λ ¨ νˆ΄λ‘œλŠ” CRI-O, Docker, Nexus 등이 μžˆμŠ΅λ‹ˆλ‹€.

 

λŸ°νƒ€μž„ κ΄€λ ¨

μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ λ°°ν¬λ˜μ–΄ λ™μž‘ν•˜λŠ” λŸ°νƒ€μž„ κΈ°κ°„ 쀑에 λ³΄μ•ˆ, λ„€νŠΈμ›Œν¬ κ΄€λ ¨ 이슈 등을 μ‹€μ‹œκ°„μœΌλ‘œ μ œμ–΄ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€. λŸ°νƒ€μž„ λ³΄μ•ˆ κ΄€λ ¨ νˆ΄λ‘œλŠ” Falco 등이 μžˆμŠ΅λ‹ˆλ‹€.

λ˜ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 배포할 수 μžˆλŠ” μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ 툴 μ—­μ‹œ 여기에 ν¬ν•¨λ˜λŠ”λ°μš”. μ˜€ν† μŠ€μΌ€μΌλ§μ΄λ‚˜ μ…€ν”„ 힐링(Self-healing), λ‘œλ“œ λ°ΈλŸ°μ‹± κΈ°λŠ₯이 κ°•λ ₯ν•œ Kubernetesκ°€ λŒ€ν‘œμ μΈ 툴이라고 ν•  수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.

 

API Gateway / Service Proxy

두 μš”μ†Œ λͺ¨λ‘ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ™ΈλΆ€λ‘œ μ„œλΉ„μŠ€ν•˜κΈ° μœ„ν•΄ ν•„μˆ˜μ μΈ κ²ƒμž…λ‹ˆλ‹€.

κ΄€λ ¨ νˆ΄λ‘œλŠ” Envoy, Nginx, Traefik 등이 μžˆμŠ΅λ‹ˆλ‹€.

 

λͺ¨λ‹ˆν„°λ§

μ†Œν”„νŠΈμ›¨μ–΄ μ‚¬μ΄ν΄μ—μ„œ λͺ¨λ‹ˆν„°λ§κ³Ό 둜그 좔적은 정말 μ€‘μš”ν•œ μš”μ†Œμž…λ‹ˆλ‹€. μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— λ°œμƒν•œ 문제λ₯Ό ν•΄κ²°ν•˜κ³  μ•ˆμ •μ μΈ μ„œλΉ„μŠ€λ₯Ό 보μž₯ν•˜λŠ” 데에 결정적인 역할을 ν•˜κΈ° λ•Œλ¬Έμ΄μ£ .

λͺ¨λ‹ˆν„°λ§ κ΄€λ ¨ νˆ΄λ‘œλŠ” ELK μŠ€νƒ, PLG μŠ€νƒμ΄ μžˆμŠ΅λ‹ˆλ‹€.

 

FinOps 및 지속가λŠ₯μ„± κ΄€λ ¨

FinOpsλŠ” ν΄λΌμš°λ“œ μš΄μ˜μ— μ†Œμš”λ˜λŠ” λΉ„μš©μ„ κ΄€λ¦¬ν•˜λŠ” ν™œλ™μ„ μ˜λ―Έν•©λ‹ˆλ‹€.

그리고 μ—¬κΈ°μ„œ λ§ν•˜λŠ” 지속가λŠ₯μ„±μ΄λž€, μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” λ¦¬μ†ŒμŠ€μ˜ λ™μž‘μ„ 멈좰 λΆˆν•„μš”ν•œ μ—λ„ˆμ§€ μ†ŒλΉ„λ₯Ό μ€„μ΄λŠ” 것을 λ§ν•©λ‹ˆλ‹€.

지속가λŠ₯μ„±κ³Ό λΉ„μš© μ ˆμ•½μ„ μœ„ν•œ νˆ΄λ‘œλŠ” kube-green λ“±μ΄ μžˆμŠ΅λ‹ˆλ‹€.

 

데이터 관리

μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ™μž‘μ— ν•„μš”ν•œ λ°μ΄ν„°λΏλ§Œ μ•„λ‹ˆλΌ, μ„œλΉ„μŠ€ μš΄μ˜μ— μ‚¬μš©λ˜λŠ” λ‹€μ–‘ν•œ μ‹œμŠ€ν…œμœΌλ‘œλΆ€ν„° μ‹€μ‹œκ°„μœΌλ‘œ λ°œμƒν•˜λŠ” 데이터 μ—­μ‹œ μ€‘μš”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

πŸ”­λ§ˆμΉ˜λ©°...

이번 μ†Œμ‹μ§€μ—μ„  ν”Œλž«νΌ μ—”μ§€λ‹ˆμ–΄λ§μ΄λž€ 무엇인지 μ •λ¦¬ν•΄μ„œ μ†Œκ°œν•˜λŠ” μ‹œκ°„μ„ κ°€μ Έλ³΄μ•˜λŠ”λ°μš”. 저도 이번 κΈ°νšŒμ— ν”Œλž«νΌ μ—”μ§€λ‹ˆμ–΄λ§μ΄ 무엇인지 λ”μš± λͺ…ν™•νžˆ μ•Œκ²Œ λ˜μ–΄μ„œ μ’‹μ•˜μŠ΅λ‹ˆλ‹€.☺️

ν˜Ήμ‹œ 이번 λ‚΄μš© κ΄€λ ¨ν•΄μ„œ 더 κΆκΈˆν•œ 점이 μžˆμœΌμ‹œλ‹€λ©΄ μ•„λž˜ 메일리 λŒ“κΈ€ λ‚¨κ²¨μ£Όμ„Έμš”.πŸ˜€

그럼, λ‹€μŒ μ†Œμ‹μ§€μ—μ„œ 보닀 μ•Œμ°¨κ³  ν₯미둜운 λ‚΄μš©μœΌλ‘œ μ°Ύμ•„λ΅™κ² μŠ΅λ‹ˆλ‹€.

μ˜€λŠ˜λ„ κ°μ‚¬ν•©λ‹ˆλ‹€, κ΅¬λ…μžλ‹˜ 😺

 

πŸ”—References

 

λ‹€κ°€μ˜¬ λ‰΄μŠ€λ ˆν„°κ°€ κΆκΈˆν•˜μ‹ κ°€μš”?

μ§€κΈˆ κ΅¬λ…ν•΄μ„œ μƒˆλ‘œμš΄ λ ˆν„°λ₯Ό λ°›μ•„λ³΄μ„Έμš”

βœ‰οΈ

이번 λ‰΄μŠ€λ ˆν„° μ–΄λ– μ…¨λ‚˜μš”?

DevOps 여행을 μœ„ν•œ μ†Œμ‹μ§€ λ‹˜μ—κ²Œ β˜•οΈ 컀피와 βœ‰οΈ μͺ½μ§€λ₯Ό λ³΄λ‚΄λ³΄μ„Έμš”!

λŒ“κΈ€

μ˜κ²¬μ„ λ‚¨κ²¨μ£Όμ„Έμš”

확인
의견이 μžˆμœΌμ‹ κ°€μš”? 제일 λ¨Όμ € λŒ“κΈ€μ„ λ‹¬μ•„λ³΄μ„Έμš” !

λ‹€λ₯Έ λ‰΄μŠ€λ ˆν„°

Β© 2024 DevOps 여행을 μœ„ν•œ μ†Œμ‹μ§€

DevOps, ν΄λΌμš°λ“œ, IT 기술 κ΄€λ ¨ μ΅œμ‹  μ†Œμ‹κ³Ό 정보λ₯Ό μ •λ¦¬ν•΄μ„œ μ£Ό 1회 μ΄λ©”μΌλ‘œ μ „ν•΄λ“œλ¦½λ‹ˆλ‹€πŸ˜Ί

λ‰΄μŠ€λ ˆν„° 문의eduukulelekim@gmail.com

메일리 둜고

자주 λ¬»λŠ” 질문 μ„œλΉ„μŠ€ μ†Œκ°œμ„œ 였λ₯˜ 및 κΈ°λŠ₯ κ΄€λ ¨ 제보

μ„œλΉ„μŠ€ 이용 문의admin@team.maily.so

메일리 μ‚¬μ—…μž 정보

메일리 (λŒ€ν‘œμž: μ΄ν•œκ²°) | μ‚¬μ—…μžλ²ˆν˜Έ: 717-47-00705 | μ„œμšΈ μ„œμ΄ˆκ΅¬ κ°•λ‚¨λŒ€λ‘œ53κΈΈ 8, 8μΈ΅ 11-7호

μ΄μš©μ•½κ΄€ | κ°œμΈμ •λ³΄μ²˜λ¦¬λ°©μΉ¨ | μ •κΈ°κ²°μ œ μ΄μš©μ•½κ΄€