Cloud Native Application
클라우드 네이티브 애플리케이션(Cloud Native Application)은 클라우드 환경에서 최적의 성능과 확장성을 발휘할 수 있도록 설계된 소프트웨어입니다. 빠른 배포, 유연한 확장, 자동 복구가 특징입니다. 예를 들어, 기존 전통적인 방식(On-Premise, 전산실 서버 운영)과 다르게 클라우드 네이티브는 AWS, Azure 같은 퍼블릭 클라우드 환경에서 구축됩니다. 이러한 특성 덕분에 대규모 트래픽 변화에도 빠르게 대응할 수 있습니다.
- 마이크로서비스(MSA) 기반
- 컨테이너(Container) 사용
- DevOps 문화 적용
- 자동화된 CI/CD 파이프라인 구축
Micro Service Architecture (MSA)
마이크로서비스 아키텍처(MSA)는 애플리케이션을 작은 독립적인 서비스 단위로 분리하여 개발하고 운영하는 구조입니다. 각 서비스는 독립적으로 배포, 확장할 수 있으며, 다른 서비스들과 API로 통신합니다. 예시로, 대형 쇼핑몰 사이트는 상품, 주문, 결제, 배송 등을 각각 별도의 마이크로서비스로 관리할 수 있습니다. 덕분에 한 서비스에 문제가 생겨도 전체 시스템에 영향을 최소화할 수 있습니다.
Container
컨테이너(Container)는 애플리케이션과 그 실행환경을 하나의 패키지로 묶은 가벼운 가상화 기술입니다. Docker(도커)가 대표적인 컨테이너 플랫폼입니다. 컨테이너를 사용하면 개발 환경과 운영 환경의 차이를 줄일 수 있어, "내 PC에서는 잘 되는데?" 문제를 해결할 수 있습니다. 또한, 컨테이너는 빠르게 생성하고 삭제할 수 있어 민첩한 서비스 운영이 가능합니다.
DevOps
DevOps는 개발(Development)과 운영(Operations)을 하나로 통합하는 문화와 프로세스입니다. 목표는 소프트웨어를 더 빠르고 안정적으로 제공하는 것입니다. DevOps를 도입하면 개발자와 운영자가 협력하여 자동화된 테스트, 배포 파이프라인을 구축하고, 시스템 모니터링을 강화할 수 있습니다.
- CI/CD 도입
- 지속적인 모니터링
- 인프라 자동화(Infrastructure as Code)
CI/CD
CI(Continuous Integration, 지속적 통합)와 CD(Continuous Delivery/Deployment, 지속적 제공/배포)는 개발된 코드를 자동으로 빌드, 테스트, 배포하는 프로세스입니다. CI는 개발자가 코드를 자주 통합하여 버그를 조기에 발견하고, CD는 이를 운영 환경까지 빠르게 배포할 수 있도록 지원합니다. 이 과정을 자동화하면 제품 출시 속도가 빨라지고 품질도 향상됩니다. 예시로, GitHub에 코드를 푸시하면 Jenkins(젠킨스) 같은 CI/CD 도구가 자동으로 테스트 후 프로덕션 서버에 배포하는 구조를 만들 수 있습니다.
REST API
REST API는 웹 기반 시스템 간에 통신할 수 있도록 하는 규칙(아키텍처 스타일)입니다. HTTP 프로토콜을 기반으로 하고, URL을 통해 자원을 식별합니다. 예를 들어, 쇼핑몰에서 "/products" URL을 호출하면 상품 목록을 받을 수 있습니다. REST API는 간결하고 표준화되어 다양한 시스템과의 연동이 편리합니다.
- GET: 데이터 조회
- POST: 데이터 생성
- PUT: 데이터 수정
- DELETE: 데이터 삭제
'Cloud' 카테고리의 다른 글
클라우드 컴퓨팅, 클라우드 서비스 모델 (0) | 2025.05.29 |
---|---|
Containers, Orchestration (0) | 2025.05.13 |
클라우드 관리 및 운영 방식 (0) | 2025.05.13 |
가상화와 실행 환경 (0) | 2025.05.13 |
Cloud Model 및 특징 이해 (0) | 2025.04.29 |
Cloud의 이해 (0) | 2025.04.29 |