클라우드 네이티브(Cloud Native) 애플리케이션 개념 차이 구성요소

mocaccino·2024년 10월 18일
0

클라우드 네이티브란?

클라우딩 컴퓨팅 모델의 이점을 최대한 활용하여 시스템을 구축하고 실행하는 환경

클라우드 네이티브 애플리케이션과 클라우드 기반 애플리케이션 차이

클라우드 네이티브 애플리케이션은 클라우드를 위해 특별히 설계된 애플리케이션이다.
클라우드 기반 애플리케이션은 클라우드에 호스팅되며 클라우드 인프라의 탄력성과 확장성을 활용할 수 있지만 클라우드 아키텍처의 내재적 설계를 완전히 활용하지는 못한다.

클라우드 네이티브 애플리케이션 구성요소

  1. 마이크로서비스 (Microservices)
    독립적으로 배포 및 운영이 가능한 작은 서비스들 애플리케이션을 분리해 각 서비스가 독립적으로 확장, 업데이트 및 유지보수 가능함
  2. 컨테이너 (Containers)
    애플리케이션과 그 환경을 패키징하여 일관된 실행 환경을 제공함, Docker와 같은 기술로 운영된다.
  3. API (Application Programming Interfaces)
    마이크로서비스 간의 통신을 가능하게 하는 인터페이스로 서비스 간 데이터 교환과 기능 제공을 원활하게 수행할 수 있도록 해줌
  4. 소프트웨어 정의 인프라 (Software-Defined Infrastructure)
    인프라를 코드로 관리하며, 필요에 따라 유연하게 인프라를 구성, 배포, 스케일링할 수 있는 기술
  5. 동적 오케스트레이션 (Dynamic Orchestration)
    Kubernetes와 같은 도구를 사용해 컨테이너의 배포, 관리, 스케일링을 자동화하여 효율성을 극대화하는 기술
  6. 서비스 메쉬 (Service Mesh)
    마이크로서비스 간의 통신을 제어하고 관찰하는 인프라 레이어로 서비스 간의 네트워크 호출을 안전하게 하고 모니터링을 강화.
  7. 백킹 서비스 (Backing Services)
    데이터베이스, 메시지 큐, 캐시와 같은 외부 서비스로, 클라우드 네이티브 애플리케이션이 필요로 하는 필수 인프라 서비스를 제공함
  8. 자동화 (Automation)
    DevOps와 CI/CD 파이프라인을 통한 자동화는 코드 배포, 테스트, 모니터링을 자동으로 수행해 애플리케이션의 신속한 배포를 지원.

출처

https://www.akamai.com/ko/glossary/what-are-cloud-native-applications

profile
레거시문서를 줄이자. 계속 업데이트해서 최신화한다.

0개의 댓글