728x90
전통적인 애플리케이션 vs 모던 애플리케이션
전통적인 애플리케이션이란?
모놀리식 구조로 수동 배포하는 구조의 애플리케이션
모던 애플리케이션이란?
빠르게 변화하는 기술 환경과 비즈니스 요구에 맞춰 설계된 애플리케이션
- 특징: 클라우드 네이티브 (cloud-native)
전통적 애플리케이션 | 모던 애플리케이션 |
모놀리식 구조 | 마이크로서비스 아키텍처 MSA |
수동 배포 | CI/CD 자동화 배포 |
물리 서버 기반 | 클라우드 및 컨테이너 기반 |
낮은 확장성 | 높은 확장성(scale- in, out) |
다운타임 발생 가능 | 고가용성 및 무중단 배포 |

클라우드 네이티브
애플리케이션을 클라우드 환경에서 효과적으로 개발, 배포, 운영할 수 있도록 설계하는 방법
클라우드 환경에서 애플리케이션이 더 잘 동작하도록 만들어진 것
- 특징
- 유연한 확장성
- 빠른 배포 및 업데이트
- 자동화: 인프라 관리 및 배포 자동화
- 참고사례
- 넷플릭스: 수백 개의 서비스를 클라우드 환경에서 운영하여 매일 수천번의 배포를 자동화함
- spotify: 음악 스트리밍 서비스의 트래픽 급증에도 빠르게 서버를 확장하여 대응함
마이크로서비스 아키텍처 (MSA, Microservice Architecture)
MSA는 애플리케이션을 작고 독립적인 서비스로 나누어 개발하는 방법.
즉 하나의 큰 프로그램을 여러 개의 작은 프로그램(서비스)로 나누어서 관리하는 것이다.
- 특징
- 독립적인 개발 및 배포
- 유지보수 용이
- 하나의 서비스만 수정하면 된다.
- 확장성
- e.g. 장바구니 기능이 인기가 많으면 그것만 확장
- 실제사례
- Amazon: 쇼핑몰의 결제, 배송, 추천 시스템을 독립된 마이크로서비스로 관리
- Netflix: 영화 추천, 사용자 인증, 스트리밍 서비스 등이 모두 독립적으로 운영됨
DevOps 및 자동화된 배포 파이프라인
배포 파이프라인
새로운 기능이나 버그 수정을 사용자에게 제공하기 위해 거치는 자동화된 단계
1.코드작성 : 개발자가 새로운 기능 개발
2.빌드: 코드를 컴퓨터가 실행 가능한 형태로 변환
3.테스트: 자동화된 테스트를 통해 오류 확인
4.배포: 코드가 production (real server)에 배포됨
- 중요성
- 빠른 배포
- 오류 감소
- 효율성
- 실제사례
- Github Actions: 코드 변경사항이 있으면 자동으로 테스트와 배포 진행
- Jenkins: sw 빌드/테스트/배포 자동으로 관리하는 도구
핵심 요약

모던 애플리케이션 개발은 더 빠르고 안정적인 소프트웨어 개발과 운영을 가능하게해준다~
모던 애플리케이션의 핵심 특성
자동화된 CI/CD pipeline과 컨테이너 기술
CI/CD란?
- CI (Continuous Integration): 코드 변경 사항을 자동으로 통합하고 테스트
- CD (Continuous Deployment) : 검증된 코드를 자동으로 배포
컨테이너 기술
- Docker: 일관된 환경에서 애플리케이션 실행
- Kubernetes: 컨테이너 오케스트레이션을 통한 자동화된 배포, 확장, 관리
분산처리 핵심 개념
- 데이터 샤딩: 데이터를 여러 노드에 분산 저장하여 읽기/쓰기 성능 향상
- 분산 컴퓨팅 : 작업을 여러 서버에 나누어 병렬 처리
- 데이터 일관성 관리: 분산된 환경에서도 데이터 정확성 유지 (e.g. CAP 이론)
728x90
'스터디 > Cloud & k8s' 카테고리의 다른 글
[쿠버네티스 스터디.1-3] CI/CD, Docker, Container (0) | 2025.03.27 |
---|---|
[쿠버네티스 스터디.1-2] 확장성, 고가용성, 안정성 (0) | 2025.03.25 |
[k8s] Container 환경에서 JVM GC (Garbage Collection) 확인하기 (0) | 2023.08.25 |
[k8s] Helm과 Chart 란? (쿠버네티스 패키지 매니저) (0) | 2022.11.01 |
[k8s] 컨테이너 실행 명령어 종류 (1) | 2022.10.28 |
댓글