서비스
서비스(Service)는 사용자가 특정 기능이나 가치를 제공받기 위해 사용하는 일련의 소프트웨어 또는 기술 기반 기능 단위를 말합니다. 애플리케이션 내부의 모듈부터 API, SaaS, 클라우드 인프라에 이르기까지 다양한 수준에서 제공되며, 클라이언트와 상호작용하며 기능을 실행하거나 데이터를 주고받는 구조로 운영됩니다.
주요 특징
- 명확한 기능 단위: 특정 목적을 수행하는 기능 중심 구조.
- 네트워크 기반 호출: 대부분 API 형태로 호출되어 동작.
- 독립적 운영 가능: 자체적으로 배포·운영·스케일링 가능.
- 유지보수 용이: 기능별로 분리되어 있어 관리 효율성 높음.
- 서비스 간 연결성: 다른 서비스와 유기적으로 연계되어 동작 가능.
장점
- 확장성: 필요한 것만 독립적으로 확장 가능.
- 유연성: 변경 또는 업데이트 시 전체 시스템에 영향 최소화.
- 재사용성: 공통 기능을 여러 시스템이나 앱에서 재사용 가능.
- 운영 효율화: 문제 발생 시 서비스 단위로 진단·복구 가능.
관련 용어
- Microservices: 기능을 세분화해 각각 독립 운영하는 아키텍처.
- API: 서비스 간 통신을 위한 인터페이스.
- SaaS (Software as a Service): 클라우드를 통해 제공되는 소프트웨어
- 서비스 디스커버리: 동적으로 위치를 찾는 기술.
- Service Mesh: 통신을 추적·관리하는 인프라 계층.
주요 솔루션 및 사용 사례
- 주요 솔루션
- AWS Lambda: 서버리스 환경에서 개별 기능을 서비스 단위로 실행.
- Kubernetes Service: 클러스터 내 통신을 추상화.
- Istio: 연결, 보안, 트래픽 제어를 위한 서비스 메시 플랫폼.
- Azure App Service: 웹 애플리케이션 및 API 서비스를 호스팅하는 플랫폼.
- Google Cloud Run: 컨테이너 기반 서비스를 이벤트 중심으로 실행.
- 사용 사례
- 웹 API 제공: 사용자 요청에 따라 데이터 처리 또는 기능 수행.
- 마이크로서비스 운영: 각 기능을 개별로 나눠 독립 배포.
- 서버리스 아키텍처 구성: 이벤트 기반 실행으로 비용 효율화.
- 트래픽 제어: 인증, 로깅, 모니터링 등 네트워크 관리를 통합.
- CI/CD 연동: 코드 배포 및 버전 롤백 수행.