개발일기

NCP(Naver Cloud Platform) - Architecture 정리 본문

자격증/NCP

NCP(Naver Cloud Platform) - Architecture 정리

Flashback 2022. 12. 24. 11:22
728x90
반응형

3-Tier Architecture

3계층은 사용자 인터페이스, 기능 처리 로직, 데이터 스토리지와 접근을 뜻함

각각 독립된 모듈로 개발하고 유지하는 구조이며 일반적으로 각각 다른 플랫폼에서 구동

 

3-Tier 웹 서비스

Frontend : 웹 브라우저에서 렌더링되는 정적 웹 컨텐츠 제공

Web Application Server : 동적 컨텐츠 생성 및 비즈니스 로직 구현

Backend : 데이터 베이스나 스토리지 서비스에 필요한 데이터를 저장 및 관리하고 데이터 접근 제공

 

Serverless Architecture

애플리케이션 개발자가 서버를 프로비저닝하거나 애플리케이션 확장을 관리할 필요가 없는 클라우드 컴퓨팅 모델

사용자가 직접 프로덕션 환경으로 배포 가능

 

Design Principal

  • Availability
    • 서비스의 가용성 고려
    • 인프라, 시스템, 애플리케이션 레벨의 가용성 고려
  • Scalability
    • 시스템의 모든 컴포넌트가 확장 가능하도록 설계
  • Elasticity
    • 용량을 미리 계산하지 않고 탄력적으로 운영할 수 있도록 설계
  • Automated
    • 가능한 운영자의 개입없이 워크로드/트래픽 변화에 자동으로 반응할 수 있도록 설계
  • Security : 최소한의 접근, 보안 기능들 활용

 

Cloud 아키텍처 접근법

Lift And Shift

  • 어플리케이션을 그대로 클라우드 인프라에 설치 및 실행 가능
  • 데이터 이전 및 변환이 필요없음

Cloud-Optimized : 현재 어플리케이션을 클라우드로 전환하면서 Value를 더할 수 있음

Cloud Native Architecture : 클라우드 상품의 전체를 사용하여 구성

모놀리식 아키텍처 : 마이크로 서비스 아키텍처의 반대 되는 개념. 전통의 아키텍처를 지칭

마이크로 아키텍처 : 단일 응용프로그램을 소규모 서비스 단위로 개발하는 방법

 

Architecture

사용자 증가에 대한 장애와 장애 대처

  • SPoF(Single Points Of Failure) 제거
  • Multi AZ 이용
  • Load Balancing 이용
  • Cloud DB를 이용하여 DB 이중화 구성
  • Cloud Insight / Cloud Log Analytics 등을 이용한 모니터링 환경 구성

 

SourceCommit

소스 코드와 다양한 파일들을 안전하게 저장하기 위한 Private Git Repository

  • 클라우드 환경에 특화되어 완전 관리형 기능을 제공하며 서비스를 신청하는 즉시 사용이 가능
  • 확장성과 고가용성 서비스를 제공
  • 모든 Git 언어를 제공하며 다른 Git 클라이언트와의 연동이 가능
  • 리포지토리를 생성한 계정은 admin권한이 부여되고 서브 계정을 할당하고 권한을 부여 가능

 

SourceBuild

독립된 빌드 서버를 실시간으로 생성하여 다수의 빌드 요청을 동시에 처리

  • 사전에 빌드할 코드가 올라가있는 SourceCommit과 결과물을 저장할 Object Storage를 먼저 생성해야 원활하게 사용 가능
  • 현재 Ubuntu 16.0.4만 빌드용 서버 OS로 제공
  • Container Registry, Object Storage, CLA, File Safer 상품과 연동하여 활용 가능

 

SourceDeploy

서버 그룹에 대한 배포를 자동화해주는 서비스

  • 사용자가 미리 설정한 명령어들을 기반으로 소스 배포, 실행 및 검증 등을 자동화하여 배포 중 서비스 중단 시간을 최소화할 수 있음
  • 배포하고자 하는 타겟 서버에 SourceDeploy 에이전트가 필수로 설치되어 있어야함
  • SecureZone 내에 생성된 서버는 SourceDeploy를 통해 배포가 불가능
  • 타겟 서버에서 발생하는 로그들을 콘솔에서 실시간으로 확인 가능

 

SourcePipeline

프로세스를 자동화해주는 서비스

  • 리포지토리의 빌드, 배포 프로세스 등을 통합하여 제공
  • SourceCommit, SourceBuild, SourceDeploy 상품을 이용해야 SourcePipiline 서비스를 이용 가능
  • 파이프라인에 구성된 배포 작업을 병렬로 실행하여 작업속도를 높임
  • SourceBuild, SourceDeploy 프로젝트의 설정을 수정하지 않고 SourcePipeline 내의 설정을 변경하여 전체적으로 적용하요 실행 가능

 


참고 사이트 : 

https://guide.ncloud-docs.com/docs

 

Home

 

guide.ncloud-docs.com

 

https://guide.ncloud-docs.com/docs/sourcecommit-overview

 

SourceCommit 개요

 

guide.ncloud-docs.com

 

728x90
반응형
Comments