개인공부/BE

[Server] 클라우드 네이티브란?

파뱁 2025. 1. 24. 16:03
728x90

용어의 정의

클라우드 제공 모델에서 제공하는 분산 컴퓨팅을 활용하기 위해 애플리케이션을 구축 및 실행하는 개념

기본적으로 클라우드 네이티브 앱은 클라우드가 제공하는 확장성, 탄력성, 복원성, 유연성을 활용하도록 설계, 구축 

 

클라우드 네이티브의 관건은 민첩성을 유지하면서 빠르게 움직이는 것으로

쿠버네티스, 도커, 카프카와 같은 기술을 사용하여 최신 애플리케이션 개발을 지원하고

클라우드 네이티브 애플리케이션을 구축, 배포, 관리할 수 있는 종합적인 표준 기반 플랫폼을 제공.

 

클라우드 네이티브 애플리케이션의 이점

  1. 독립성
    • 각각의 애플리케이션을 개별적으로 관리하고 배치가능 (서로 독립적 구축)
  2. 복원성
    • 설계에 따라 인프라스트럭쳐가 중단되어도 온라인상태 유지가능
  3. 표준 기반
    • 오픈소스 및 표준 기술에 기반하는 경우가 많아 벤더 종속성이 줄고 이동성이 향상됨
  4. 비즈니스 민첩성
    • 네트워크에서 유연한 배포 옵션을 제공하며, 기존 앱보다 작은 마이크로 서비스를 주로 진행하기 때문에 보다 쉽게 개발, 배포, 반복 작업을 진행할 수 있음
  5. 자동화
    • 데브옵스(DevOps) 자동화 기능을 사용하여, 정기적으로 릴리즈 되는 소프트웨어 변경사항을 지속적으로 전달 및 배포가 가능.
    • blue-green 및 카나리아 배포* 와 같은 방법을 사용해 ux를 방해하지 않고 앱 개선이 가능
  6. 작동 중지 시간 없음
    • 쿠버네티스 와 같은 컨테이너 통합관리자 툴을 이용해 기본적으로 다운타임 없이 소프트웨어 업데이트를 배포할 수 있음.

* blue-green 와 카나리아 배포

- blue-green: 이전버전이 blue, 새버전이 green. 한번에 하나의 버전만 개시되며 동일한 서버를 미리 구축한 뒤, 라우팅을 순간적으로 전환해 새로운 버전을 배포하는 방식. 빠른 롤백이 가능하며 운영환경을 유지하며 새로 배포될 버전의 테스트도 가능하지만 그만큼 자원이 두배로 필요함

- 카나리아 배포: 구버전의 서버와 신버전의 서버를 구성하고 로드밸런싱을 통해 일부만 새버전 서버로 트래픽을 분산하여 오류여부를 판단. 서서히 전체를 다 신버전으로 교체해 최종적으로는 전체 신버전 서버로 보냄. 오류 및 성능 모니터링에 유용

 

기술이 클라우드 네이티브가 된다는 것

클라우드 네이티브 애플리케이션은 자체 내장형 경량 컨테이너로 패키징된 독립서비스로의 이동이 가능하며, 필요에 따라 빠르게 크기를 확장 또는 축소가 가능함.

모든 항목을 도커와 같은 컨테이너에 캡슐화 하면 애플리케이션과 종속성을 기본 인프라와 분리가능, 이를 통해 컨테이너 런타임 엔진이 있는 모든 환경에서 컨테이너화 된 애플리케이션 배포가 가능.

특히 쿠버네티스(컨테이너 통합관리)는 컨테이너의 수명 주기를 관리한다는 점에서 중요한 부분.

클라우드 네이티브 앱은 CI/CD 툴 체인이 포함된 데브옵스 파이프라인을 통해 제공되기도 하는데, 이 파이프라인은 앱의 구축, 테스트, 배포를 자동화해주기 때문에 중요한 역할을 함.

 

 

참고 : https://www.oracle.com/kr/cloud/cloud-native/what-is-cloud-native/

 

What is cloud native?

Learn the definition of cloud native and how it can benefit your organization to build resilient, manageable, and scalable modern cloud apps quickly and easily.

www.oracle.com

 

 

728x90
반응형