일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- php
- Machine Learning
- Backbone.js
- React
- webpack
- NCP
- docker
- nginx
- Redis
- linux
- laravel
- Node
- Go
- CentOS
- deep learning
- rabbitmq
- nodejs
- fastapi
- For
- python
- phpredis
- mariadb
- 기초 수학
- javascript
- AWS
- 블레이드 템플릿
- Babel
- Redux
- SQL
- Switch
- Today
- Total
개발일기
NCP(Naver Cloud Platform) - Architecture 정리 본문
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
https://guide.ncloud-docs.com/docs/sourcecommit-overview
'자격증 > NCP' 카테고리의 다른 글
NCP(Naver Cloud Platform) - Management 정리 (0) | 2022.12.24 |
---|---|
NCP(Naver Cloud Platform) - Analytics 정리 (0) | 2022.12.24 |
NCP(Naver Cloud Platform) - Containers 정리 (0) | 2022.11.30 |
NCP(Naver Cloud Platform) - Media 정리 (0) | 2022.11.23 |
NCP(Naver Cloud Platform) - AI / Application 정리 (0) | 2022.11.18 |