클라우드응용SW개발

[Cloud] 6주차-1. 클라우드 기반의 웹 서비스 플랫폼

tryinto_gmlt 2026. 4. 17. 23:28

⭐ Azure App Service

Azure App Service는 클라우드 환경에서 웹 애플리케이션을 쉽고 빠르게 개발, 배포, 운영할 수 있도록 지원하는 완전 관리형 PaaS(Platform as a Service)이다. 개발자는 서버나 운영체제 같은 인프라를 직접 관리하지 않고, 애플리케이션 코드와 서비스 로직 개발에 집중할 수 있다.

Azure App Service를 사용하면 웹 애플리케이션, 모바일 백엔드, RESTful API 등을 손쉽게 실행할 수 있으며, 배포부터 확장, 보안, 모니터링까지 다양한 기능을 통합적으로 제공받을 수 있다.

주요 특징

1. 다양한 언어 및 프레임워크 지원

  • .NET, Java, Node.js, Python, PHP 등
  • 개발자는 자신이 익숙한 기술 스택을 활용하여 웹 서비스 구축 가능
  • 특정 언어에 종속되지 않기 때문에 다양한 프로젝트 환경에 유연하게 적용 가능

2. 자동 확장 기능 제공

  • 트래픽 증가하면 인스턴스 자동 증가
  • 트래픽 감소하면 자원 자동 축소

3. 로드 밸런싱 기능 제공

  • 여러 서버에 트래픽 분산시켜 특정 서버 과부하 방지
  • 서비스 성능과 안정성 향상

4. CI/CD 파이프라인 구성

  • CI(지속적 통합, Continuous Integration): 개발자가 작성한 코드를 지속적으로 통합하고 테스트하는 과정
  • CD(지속적 배포, Continuous Deployment): 검증된 코드를 자동으로 배포하는 과정
  • 개발 생산성과 배포 효율 향상

5. 배포 슬롯 지원

  • 실제 운영 중인 애플리케이션과 별도로 스테이징, 테스트 환경을 만들어 배포를 미리 검증할 수 있는 기능
  • 테스트가 완료되면 슬롯을 서로 교체하여 무중단 배포 가능

6. SSL 인증서 적용 및 도메인 관리 기능 제공

  • HTTP가 아닌 HTTPS 기반의 보안 통신 환경 구축 가능
  • 사용자 지정 도메인 연결 지원
  • * SSL 인증서: 웹 서버의 신원을 인증하고, 클라이언트와 서버 간의 데이터를 암호화하기 위한 디지털 인증서
  • * HTTPS: SSL 인증서를 기반으로 데이터를 암호화하여 안전한 통신을 제공하는 프로토콜

 

⭐ Azure Static Web Apps

Azure Static Web Apps는 정적 웹 애플리케이션을 쉽고 빠르게 배포하고 운영할 수 있도록 지원하는 관리형 서비스로, 프론트엔드 프레임워크와 라이브러리를 사용하여 빌드된 정적 웹앱을 호스팅한다.

정적 웹 애플리케이션이란
- 서버에서 별도의 로직 없이 미리 만들어진 파일을 그대로 제공하는 웹 사이트
- 매번 데이터 처리가 필요한 동적 웹과 달리 서버 연산 없이 콘텐츠를 그대로 전달하는 구조
ex. HTML 페이지, CSS 스타일, JavaScript

주요 특징

1. GitHub / Azure DevOps 연동 자동 배포

  • 코드 변경 시 자동으로 빌드 및 배포 (CI/CD)
  • 별도의 배포 과정 없이 최신 상태 유지 가능

2. 서버리스 API 통합 (Azure Functions)

  • Azure Functions를 통해 API 구성 가능
  • 별도의 서버 구축 없이 백엔드 기능 구현
  • 프론트엔드 + 백엔드 통합 구조 지원

3. 글로벌 CDN 기반 콘텐츠 제공

  • CDN(Content Delivery Network): 전 세계에 분산된 서버 네트워크
  • 전 세계 CDN을 통해 콘텐츠 배포
  • 사용자와 가까운 서버에서 응답하여 빠른 로딩 속도 제공
  • 서비스 성능 및 사용자 경험 향상

4. 무료 SSL 인증서 제공

  • 기본적으로 HTTPS 적용 가능
  • 안전한 웹 서비스 제공

 

⭐ Azure Container Apps

Azure Container Apps는 컨테이너화된 애플리케이션을 실행하기 위한 서버리스 플랫폼으로, 인프라 관리 없이 컨테이너 기반 애플리케이션을 쉽게 배포하고 운영할 수 있도록 지원한다.

컨테이너란?
- 애플리케이션을 실행하는 데 필요한 모든 환경(코드, 라이브러리, 실행 환경 등)을 하나로 묶어 놓은 실행 단위
- 다양한 환경에서도 동일하게 실행되어 일관된 결과를 보장

 

주요 특징

1. Kubernetes 기반 오케스트레이션

  • Kubernetes 기술을 기반으로 컨테이너를 관리
  • 컨테이너 자동 배포, 자동 스케일링, 장애 복구, 트래픽 분산(로드 밸런싱)

2. 마이크로서비스 아키텍처에 적합

  • 여러 개의 컨테이너를 독립적으로 배포 및 관리 가능
  • 서비스를 작은 단위로 나누어 개발 및 운영 가능

3. 이벤트 기반 애플리케이션 지원

  • HTTP 요청, 메시지 큐 등 이벤트 기반으로 실행 가능
  • 필요할 때만 실행되는 구조

 

⭐ Azure Virtual Machines

Azure Virtual Machines는 IaaS(Infrastructure as a Service) 기반의 서비스로, 사용자가 가상 머신을 직접 생성하고 운영체제 및 환경을 구성하여 애플리케이션을 실행할 수 있도록 지원한다.

 

주요 특징

1. 완전한 제어 및 높은 유연성

  • 운영체제, 네트워크, 보안 설정 등을 직접 구성 가능
  • 서버 환경을 자유롭게 커스터마이징 가능

2. 다양한 운영체제 및 구성 지원

  • Windows, Linux 등 다양한 OS 선택 가능
  • 사용 목적에 맞는 사양(CPU, 메모리 등) 설정 가능

3. 복잡한 애플리케이션 및 레거시 시스템에 적합

  • 특정 환경이나 설정이 필요한 애플리케이션 실행 가능
  • 기존 온프레미스 시스템을 클라우드로 이전 가능

4. 수동 관리 및 유지보수 필요

  • OS 업데이트, 보안 패치, 서버 관리 등을 직접 수행