[IT 인프라 배포 방식 및 운영 환경] 소프트웨어 제공 방식 용어

2025. 3. 12. 16:47개발 배경지식/용어

소프트웨어 제공 방식

소프트웨어 제공 방식은 클라우드 기술을 활용하여 서비스 형태로 제공되며, 기업이나 개인이 IT 인프라를 직접 구축하지 않고도 필요한 기능을 사용할 수 있도록 해줍니다. 아래는 대표적인 클라우드 기반 서비스 모델과 그 특징을 정리한 내용입니다.


1. SaaS (Software as a Service)

  • 개념: 인터넷을 통해 소프트웨어를 제공하는 서비스로, 사용자는 별도의 설치 없이 웹 브라우저나 앱을 통해 이용할 수 있음.
  • 특징:
    • 애플리케이션과 데이터가 클라우드 제공업체의 서버에 저장됨.
    • 사용자는 소프트웨어를 다운로드하거나 설치할 필요 없이 웹이나 앱을 통해 접속.
    • 사용량 기반 과금(pay-as-you-go) 또는 구독(subscription) 방식 적용.
  • 예제:
    • Google Docs: 온라인 문서 편집 및 협업 도구.
    • Dropbox: 클라우드 기반 파일 저장 및 공유 서비스.
    • Microsoft 365: 웹 기반 문서, 이메일, 협업 툴 제공.
    • Salesforce: CRM(고객 관계 관리) 소프트웨어.
  • 장점:
    • 사용 편의성: 별도 설치 없이 인터넷이 연결된 곳이면 어디서든 사용 가능.
    • 유지보수 불필요: 업데이트, 보안 패치, 서버 관리를 서비스 제공업체가 담당.
    • 비용 절감: 초기 투자 없이 월 또는 연 단위 구독료만 지불하면 사용 가능.
  • 단점:
    • 인터넷 의존성: 인터넷이 끊기면 사용 불가능.
    • 보안 우려: 데이터가 클라우드 서버에 저장되므로 보안 정책이 중요함.
    • 커스터마이징 제한: 제공되는 기능 내에서만 사용 가능, 맞춤형 기능 추가가 어려울 수 있음.

2. PaaS (Platform as a Service)

  • 개념: 애플리케이션 개발을 위한 플랫폼을 제공하는 서비스로, 개발자가 인프라 관리 없이 앱을 개발하고 배포할 수 있도록 지원.
  • 특징:
    • 개발자가 직접 서버, 네트워크, 스토리지를 관리할 필요 없음.
    • 애플리케이션 개발, 테스트, 배포, 확장 기능이 포함된 환경 제공.
    • 클라우드 기반의 개발 도구, 데이터베이스, 런타임 환경을 포함.
  • 예제:
    • Google App Engine: 개발자가 애플리케이션을 배포하면 자동으로 확장되는 서버리스 PaaS 플랫폼.
    • AWS Elastic Beanstalk: AWS에서 자동으로 애플리케이션을 배포, 로드 밸런싱, 확장 등을 지원.
    • Microsoft Azure App Service: 웹 및 모바일 애플리케이션을 손쉽게 배포할 수 있는 플랫폼.
  • 장점:
    • 개발 생산성 향상: 인프라를 직접 구축할 필요 없이 개발에 집중할 수 있음.
    • 자동 확장 지원: 트래픽 증가 시 자동으로 리소스를 확장하여 관리 부담 감소.
    • 빠른 배포: 애플리케이션을 신속하게 개발하고 배포 가능.
  • 단점:
    • 벤더 종속(Vendor Lock-in): 특정 클라우드 서비스 제공업체에 종속될 가능성이 있음.
    • 비용 예측 어려움: 사용량에 따라 비용이 달라질 수 있음.
    • 제한된 커스터마이징: 제공되는 플랫폼 환경 내에서만 개발이 가능.

3. IaaS (Infrastructure as a Service)

  • 개념: 가상 서버, 스토리지, 네트워크 등 IT 인프라를 제공하는 서비스로, 사용자는 필요한 만큼 리소스를 임대하여 운영.
  • 특징:
    • 물리적인 하드웨어를 구매하지 않고 가상화된 인프라를 사용.
    • 서버의 CPU, 메모리, 스토리지 용량을 사용자가 직접 설정하고 운영 가능.
    • 사용량에 따라 비용이 책정되며, 필요에 따라 확장/축소 가능.
  • 예제:
    • AWS EC2 (Elastic Compute Cloud): 가상 서버를 제공하는 대표적인 IaaS 서비스.
    • Google Compute Engine: 구글 클라우드에서 제공하는 가상 머신 서비스.
    • Microsoft Azure Virtual Machines: Azure에서 제공하는 가상 서버 서비스.
  • 장점:
    • 확장성: 필요한 만큼 인프라를 확장/축소할 수 있음.
    • 비용 효율성: 하드웨어를 직접 구매하는 것보다 비용 절감 가능.
    • 유연성: 사용자가 원하는 환경을 직접 설정하여 운영 가능.
  • 단점:
    • 운영 부담: 서버 설정, 보안 패치, 네트워크 구성 등을 직접 관리해야 함.
    • 복잡성: SaaS나 PaaS보다 사용자가 직접 관리해야 할 요소가 많음.
    • 비용 증가 가능성: 장기간 사용 시 비용이 증가할 수 있음.

4. FaaS (Function as a Service, 서버리스 컴퓨팅)

  • 개념: 애플리케이션을 함수 단위로 실행하는 서버리스(Serverless) 방식으로, 이벤트가 발생할 때만 실행되고 필요할 때만 리소스를 소비함.
  • 특징:
    • 사용자는 서버를 직접 관리할 필요 없이 코드만 작성하면 됨.
    • 이벤트 기반으로 작동하며, 실행된 만큼만 비용이 발생.
    • 특정 이벤트(예: 파일 업로드, HTTP 요청 등)가 발생하면 자동으로 함수 실행.
  • 예제:
    • AWS Lambda: 이벤트가 발생할 때만 실행되는 서버리스 컴퓨팅 서비스.
    • Google Cloud Functions: 구글 클라우드에서 제공하는 서버리스 함수 실행 환경.
    • Microsoft Azure Functions: 마이크로소프트의 서버리스 컴퓨팅 솔루션.
  • 장점:
    • 비용 절감: 실행한 만큼만 비용이 발생하여 비용 효율적.
    • 자동 확장: 요청량이 많아지면 자동으로 확장됨.
    • 빠른 개발: 코드에만 집중할 수 있어 개발 속도가 빨라짐.
  • 단점:
    • 실행 시간 제한: 일반적으로 한 번 실행되는 함수의 최대 실행 시간이 제한됨.
    • 복잡한 디버깅: 서버리스 환경에서는 로그 분석이 어려울 수 있음.
    • 벤더 종속: 특정 클라우드 서비스에 의존할 가능성이 높음.

5. DaaS (Desktop as a Service)

  • 개념: 클라우드를 통해 가상 데스크톱 환경을 제공하는 서비스로, 사용자는 원격에서 가상 데스크톱에 접속하여 사용할 수 있음.
  • 특징:
    • 사용자는 물리적인 컴퓨터가 아닌 가상 데스크톱을 사용.
    • 어디서든 인터넷을 통해 자신의 작업 환경에 접근 가능.
    • 중앙 집중식 관리가 가능하여 보안 및 유지보수가 용이함.
  • 예제:
    • AWS WorkSpaces: AWS에서 제공하는 가상 데스크톱 서비스.
    • Microsoft Azure Virtual Desktop: 마이크로소프트가 제공하는 클라우드 기반 가상 데스크톱.
    • Google Chrome OS & CloudReady: 클라우드 기반의 가벼운 OS 환경.
  • 장점:
    • 보안 강화: 데이터가 로컬 PC가 아니라 클라우드에 저장됨.
    • 유지보수 용이: IT 부서에서 모든 데스크톱을 중앙에서 관리 가능.
    • 유연성: 원격 근무나 여러 기기에서 동일한 환경을 사용할 수 있음.
  • 단점:
    • 인터넷 의존성: 네트워크가 없으면 사용 불가능.
    • 비용 부담: 대규모 조직에서 장기적으로 사용할 경우 비용이 증가할 수 있음.
    • 성능 이슈: 클라우드 기반이므로 로컬 환경보다 지연(latency)이 발생할 수 있음.