클라우드 컴퓨팅

기술노트

☁️ 클라우드 컴퓨팅 (Cloud Computing)

클라우드 컴퓨팅은 인터넷을 통해 서버, 스토리지, 데이터베이스, 네트워킹, 소프트웨어 등 IT 리소스를 빌려 쓰는 서비스를 말합니다. 물리적인 서버나 데이터 센터를 직접 구축하고 관리할 필요 없이, 필요할 때마다 필요한 만큼의 리소스를 사용하고 비용을 지불하는 방식입니다.


💡 핵심 특징

  • 주문형 셀프 서비스 (On-demand self-service) : 사용자가 원할 때 관리자 없이 직접 리소스를 할당받아 사용할 수 있습니다.
  • 광범위한 네트워크 접근 (Broad network access) : 인터넷만 되면 어디서든 다양한 기기로 접근할 수 있습니다.
  • 리소스 공동 이용 (Resource pooling) : 여러 사용자가 하나의 물리적 리소스를 논리적으로 분할하여 함께 사용합니다.
  • 신속한 탄력성 (Rapid elasticity) : 필요에 따라 리소스 양을 빠르게 늘리거나 줄일 수 있습니다.
  • 측정된 서비스 (Measured service) : 사용한 만큼만 비용을 지불하는 합리적인 과금 체계를 가집니다.

📚 서비스 모델: IaaS, PaaS, SaaS

구분 IaaS (Infrastructure) PaaS (Platform) SaaS (Software)
설명 IT 인프라(서버, 스토리지)를 빌려 씀 개발에 필요한 플랫폼(OS, 미들웨어)을 빌려 씀 이미 완성된 소프트웨어를 빌려 씀
예시 AWS EC2, Google Compute Engine Heroku, Google App Engine Google Workspace, Slack
관리 범위 OS, 애플리케이션 애플리케이션 없음 (서비스 이용만)

💡 개발자 핵심 Point

  • 더 이상 비싼 물리 서버를 직접 사거나 관리할 필요가 없습니다.
  • 트래픽이 급증할 때 자동으로 서버를 늘리는 오토 스케일링(Auto-Scaling)이 가능하여 안정적인 서비스 운영에 필수적입니다.
  • 초기 인프라 구축 비용 없이 저렴하게 서비스를 시작하고, 서비스가 성장함에 따라 유연하게 확장할 수 있습니다.
  • 대부분의 현대적인 서비스는 클라우드 환경을 기반으로 구축되고 배포됩니다.