이 섹션에서는 이노그리드(Innogrid)의 SecloudIt과 개방형 클라우드 플랫폼인 K-PaaS의 주요 특징 및 구성 요소를 다룬다.
두 플랫폼 모두 쿠버네티스를 기반으로 클라우드 네이티브 애플리케이션의 개발과 운영을 지원하는 데 중점을 둔다.
1. SECloudit
- SECloudit은 Innogrid에서 만든 클라우드 네이티브 애플리케이션의 개발과 운영을 위해 PaaS 플랫폼임이다.
- 쿠버네티스 및 오픈시프트 환경을 기반으로 한다.
- 기반 인프라에 종속되지 않고 다양한 환경에서 애플리케이션 개발을 지원함.
- 사용자 편의성을 극대화한 GUI 기반의 웹 콘솔을 통해 CLI 조작 없이도 통합 빌드 및 배포 관리가 가능하다.
2. K-PaaS
K-PaaS는 클라우드 인프라 위에서 소프트웨어나 서비스를 개발, 실행, 운영, 관리할 수 있는 기반 SW 환경
- 클라우드 네이티브 애플리케이션을 위한 플랫폼 서비스의 핵심 기능을 제공하며, 다양한 상용 PaaS 간의 호환성 보장을 위해 공통 기능들을 오픈소스로 개발하여 개방한다.
- 쿠버네티스(Kubernetes) 기반의 단독 배포, 서비스형 배포 및 Edge 배포 기능을 구현하고, 운영에 필요한 다양한 부가 서비스를 지원하는 오픈소스 PaaS 플랫폼이다.
<aside>
💡
SECloudIt, K-PaaS가 무엇인지 정확하게 아는 것보다는 실습을 통해서 어떻게 Cloud-Native 애플리케이션을 배포할 수 있는 것이 더 중요함!
</aside>
3. 아키텍처 및 서비스 구성 오픈소스
클라우드 네이티브 환경을 구축하기 위해 두 플랫폼이 사용하고 있는 핵심 오픈소스 기술 스택
- 인프라 및 오케스트레이션
컨테이너화된 애플리케이션의 배포와 실행을 자동화하는 핵심 엔진
- Kubernetes / OpenShift: 컨테이너 오케스트레이션 도구
- Kubespray: 앤서블 기반의 쿠버네티스 클러스터 자동 설치 도구
- CRI-O / Podman / Docker: 컨테이너 실행을 위한 런타임 및 관리 도구
- OpenTofu: 테라폼 기반의 오픈소스 코드형 인프라(IaC) 솔루션
- DevOps & CI/CD
코드 작성부터 운영 환경 배포까지의 파이프라인을 구축
- GitLab: 소스 코드 관리 및 이슈 추적을 위한 협업 플랫폼
- Tekton: 쿠버네티스 네이티브 방식의 CI/CD 파이프라인
- ArgoCD: GitOps 기반의 선언적 CD 도구
- Helm / ChartMuseum: 패키지 관리 및 차트 저장소
- 네트워크 및 서비스 메시
서비스 간 통신 제어, 트래픽 관리 및 보안을 담당
- Istio & Kiali: 마이크로서비스 간 통신 관리(Service Mesh) 및 시각화
- Calico: L3 기반 네트워크 정책 및 CNI 플러그인
- NGINX Ingress Controller: 외부 트래픽을 내부 서비스로 라우팅하는 관문
- MetalLB: 베어메탈 환경을 위한 로드밸런서 지원
- CoreDNS: 클러스터 내부 도메인 이름 해석 서비스