클라우드 컴퓨팅의 개념과 활용 예

728x90

클라우드 컴퓨팅이란?

클라우드 컴퓨팅은 인터넷을 통해 IT 리소스를 제공하는 서비스 모델이다. 기업이나 개인은 서버, 데이터베이스, 스토리지, 네트워크 등 필요한 리소스를 구축하거나 소유할 필요 없이 클라우드 제공업체의 인프라를 임대하여 사용한다.

 

클라우드 컴퓨팅의 주요 사용 사례

  1. 서버 구축 및 배포
    • 물리적 서버 대신 클라우드 환경에서 서버를 생성하고 네트워크를 구성한다.
    • 클라우드 플랫폼 위에 애플리케이션을 빌드 및 배포하여 서비스를 제공한다.
  2. DNS 설정 및 도메인 관리
    • 도메인명을 구매하고 클라우드 서버의 IP 주소와 연결하여 사용자가 서비스를 접속할 수 있도록 설정한다.

 

클라우드 컴퓨팅을 선택하는 이유

1. 비용 절감 (Cost Efficiency)

클라우드 컴퓨팅은 온디맨드(on-demand) 모델을 통해 사용한 만큼만 비용을 지불하도록 설계되어 있다.

  • 초기 투자 비용 감소: 서버, 데이터센터 구축 등 물리적 자산 구입이 불필요하다.
  • 운영 비용 최적화: 사용량 기반 과금 모델로 유휴 자원에 대한 불필요한 비용을 줄인다.
  • 유연한 확장: 필요 시 자원을 확장하거나 축소해 불필요한 고정 비용을 제거한다.

 

2. 탄력성 (Scalability)

클라우드 컴퓨팅은 수평적 확장(Horizontal Scaling)과 수직적 확장(Vertical Scaling)을 통해 트래픽 증가나 사용량 변화에 대응할 수 있는 환경을 제공한다.

  • 자동 스케일링: 트래픽 증가 시 자원을 자동으로 추가하고, 트래픽 감소 시 자원을 줄여 최적화된 성능을 유지한다.
  • 글로벌 확장: 클라우드 서비스 제공자는 전 세계 데이터 센터를 통해 빠르게 글로벌 서비스를 확장할 수 있다.
  • 높은 가용성: 클라우드 서비스는 중단 없는 서비스를 위해 중복성과 고가용성 인프라를 기본 제공하는 경우가 많다.

예시: 대규모 프로모션을 진행하는 전자상거래 사이트는 클라우드의 탄력성을 활용해 짧은 시간 동안 서버를 확장하고 이벤트 종료 후 다시 축소하여 비용을 절감할 수 있다.

 

3. 민첩성 (Agility)

클라우드 컴퓨팅은 빠른 배포와 개발 환경의 유연성을 제공한다.

  • 빠른 서비스 배포: 물리적 서버를 준비하는 대신, 몇 분 내에 필요한 컴퓨팅 자원을 생성할 수 있다.
  • 개발 및 테스트 환경 지원: 필요한 리소스를 빠르게 생성하고, 테스트 후 제거하여 개발 시간을 단축한다.
  • DevOps와의 시너지: 클라우드는 CI/CD 파이프라인 및 자동화 도구와 통합이 용이해 지속적인 배포를 가능하게 힌다.

예시: 스타트업이 새로운 애플리케이션을 개발할 때 클라우드 환경을 활용하면 서버 준비 시간을 줄이고, 빠르게 시장에 출시할 수 있다.


클라우드 컴퓨팅의 또 다른 혁신: 서버리스(Serverless)

서버리스는 물리적 서버를 관리하지 않고도 애플리케이션을 실행할 수 있는 클라우드 컴퓨팅 모델이다.
서버의 구동 시간에 따른 과금이 아닌 요청 횟수에 기반한 과금이 이루어지는 방식이다.

 

서버리스의 작동 방식

  1. 요청이 있을 때만 서버 생성
    • 서버리스 환경에서는 요청이 들어올 때만 서버가 실행되고 요청 처리가 끝나면 서버가 종료된다.
  2. 비용 최적화
    • 서버리스는 요청이 없는 동안 비용이 발생하지 않으며 특정 작업에 필요한 리소스를 독립적으로 설정할 수 있다.

 

서버리스의 활용 사례

  • 프론트엔드 배포 플랫폼:
    • 예: Vercel은 Next.js 애플리케이션을 서버리스 방식으로 실행한다.
    • 배포 후 별도 설정 없이 트래픽에 따라 유동적으로 자원을 관리한다.
  • 특정 작업을 서버리스로 분리
    • 웹 애플리케이션의 일반적인 작업은 적은 메모리로 처리되지만 이미지 변환 작업처럼 높은 메모리가 필요한 경우 서버리스 함수로 해당 작업만 분리하여 실행한다.

클라우드 컴퓨팅이 가져온 변화

클라우드 컴퓨팅은 스타트업과 개인 개발자에게 쉽고 빠른 서비스 출시를 가능하게 한다.
AWS나 Azure와 같은 클라우드 플랫폼을 통해 다음과 같은 이점을 누릴 수 있다.

  1. 빠른 서비스 출시
    • 리소스를 몇 분 내로 설정하고, 전 세계 유저에게 즉시 서비스를 제공할 수 있다.
  2. 접근성 향상
    • 네트워크와 서버 관리 지식 없이도 클릭 몇 번으로 서비스를 배포할 수 있다.
  3. 비용 효율성
    • 초기 투자비용이 없으며 소규모 프로젝트의 경우 클라우드 프리티어를 활용해 무료로 시작할 수 있다.

물리 서버와 클라우드 서버의 비교

특징 물리 서버 (On-premise) 클라우드 서버
초기 비용 고비용 (서버, 네트워크, 유지보수 비용) 저비용 (필요한 만큼만 사용)
유지 관리 전용 인력 필요 (업데이트, 하드웨어 교체 등) 제공자 관리 (업데이트 자동화)
확장성 느림 (하드웨어 추가 및 설정 시간 소요) 빠름 (즉시 확장 가능)
유연성 제한적 (구축 이후 변경 어려움) 높음 (리소스 변경이 간단)
비유 단독 주택 (건축, 유지비 고정) 오피스텔 (필요 공간만 임대)

 

참고 문헌

 

https://cloud.google.com/learn/what-is-cloud-computing?hl=ko

 

cloud.google.com

 

클라우드 컴퓨팅이란 | 클라우드 컴퓨팅 소개 | Amazon Web Services

모든 유형, 규모 및 산업의 조직이 데이터 백업, 재해 복구, 이메일, 가상 데스크톱, 소프트웨어 개발 및 테스트, 빅 데이터 분석, 고객 대상 웹 애플리케이션 등 다양한 사용 사례에 클라우드를

aws.amazon.com

 

728x90

'DevOps' 카테고리의 다른 글

Github Actions로 간단하게 CI 구축하고 Docker로 배포하기  (7) 2024.10.18
Github Actions 동작 원리  (0) 2024.10.18
CI/CD 란 무엇인가?  (2) 2024.10.15
Docker의 개념  (3) 2024.10.15