오토에버 클라우드 2기 27일차
클라우드를 활용하는 이유
1. 인프라 규모 산정의 용이성
단계적 확장 수용: 이전 데이터를 기반으로 분기별 수요량을 예측하여 단계적으로 IT 자원을 확장 가능
피크타임 확장: 트래픽 증가가 예상되는 시간에만 일시적으로 자원을 증설 (단, 비즈니스 안정성 저하 우려)
동적 확장 (Auto Scaling): 필요할 때 자원을 자동으로 확보하여 서비스에 실시간으로 할당
2. 비용 절감
자원을 필요할 때만 동적으로 사용하여 낭비 최소화
인력, 테스트 환경, 배포 인프라 등 구축 및 운용 비용 절감
3.탄력성 (Elasticity)
서비스 수요 변화에 따라 유연하게 확장 및 축소 가능
4. 가용성 (Availability)
시스템 유지보수 중인 시간도 고려하여 시스템의 실제 사용 가능 시간 측정
가용성 = 운영시간 / 전체시간, 신뢰도 = 운영시간 / (전체시간 - 예측된 중지시간)
예외 상황에서도 빠르게 복구 가능한 시스템 구조
5. 신속성
가변적인 IT 자원 요청에 즉시 대응 가능
신제품 테스트, 신규 서비스 배포 등에 적합
6. 투명한 사용량 측정
사용자에게 실시간 자원 사용량 제공 → 예측 가능한 과금 가능
7. 복원성 (Resiliency)
가상머신이나 컨테이너 기반 인프라를 사용하여 장애 발생 시 빠른 복구 가능
파일 또는 공유 스토리지를 통해 빠른 복원
☁ 클라우드 컴퓨팅에 영향을 준 기술
클러스터링
여러 자원을 묶어 하나의 큰 컴퓨팅 자원처럼 사용하는 기술
LAN을 통한 통신, 마스터 노드를 통한 제어
스토리지는 LAN 또는 SAN (Storage Area Network) 기반 접근
클러스터 관리 소프트웨어 예시: HTCondor, Sun Grid Engine, Univa
그리드 컴퓨팅
분산된 이기종 컴퓨팅 자원을 광대역 네트워크를 통해 연결
작업 제출 → 그리드 미들웨어가 가장 적절한 자원에 할당
클라우드 등장 이전, 대표적인 분산 컴퓨팅 방식
가상화 (Virtualization)
하드웨어 자원을 소프트웨어적으로 추상화하여 가상 머신(VM) 제공
자원 확장이 유연하고, 물리 장비 대비 높은 활용도
운영체제 레벨 가상화 (컨테이너화)
컨테이너 엔진(예: Docker)을 통해 OS 위에 경량화된 애플리케이션 환경 생성
하이퍼바이저와 달리 컨테이너는 호스트 OS를 공유 → 훨씬 가볍고 빠름
컨테이너 예시: Docker, Podman
클라우드 네이티브 기술
클라우드 환경에서 확장성, 회복성, 자동화를 갖춘 앱 개발과 실행을 가능케 하는 기술 패러다임
주요 구성 요소:
컨테이너(Container)
서비스 메시(Service Mesh)
마이크로서비스(Microservice Architecture)
불변 인프라(Immutable Infrastructure)
선언형 API(Declarative API)
🛠 IT 서비스 개발 및 구현 방식의 변화
| 항목 | 과거 | 현재/미래 |
|---|---|---|
| 개발 프로세스 | Waterfall | Agile → DevOps → DevSecOps |
| 아키텍처 | Monolithic | N-tier → Microservice |
| 배포/패키징 | 물리 서버 (Physical Server) | 가상 서버 (VM) → 컨테이너 (Container) |
| 인프라스트럭처 | 온프레미스 (Data Center) | 호스팅 → 클라우드 (Cloud) |