Technical Architecture/시스템 아키텍처

아키텍처 개요

seongduck 2022. 12. 27. 23:10

시스템 Liife-Cycle과 기술아키텍처 프로세스 관계

시스템 Life-Cycle

구축을 더욱 살펴보면 아래 5단계와 같다!!

 

기술아키텍처 프로세스

 


ICT 인프라 환경의 변화

비즈니스 환경이 데이터가 많아지고 신속성을 중시, 비용절감 등 요구사항에 따라 제공자 관점에서 - 이용자 관점 등등 바뀐다!!

 

컴퓨팅 패러다임의 변화


아키텍처 고려사항 개요

아키텍처 고려사항

항목 고려사항
이중화 단일 장비의 Single Point of Faulure
서버 이중화, 스토리지 이중화, 회순 이중화, 분산 배치
확장성 Scale-up, Scale-out
데이터 분산 처리
Open Source Software
가상화 서버 가상화, 컨테이너
스토리지 가상화
SDx
백업 RTO, RPO
백업 장비, 백업 방식, 백업 정책
Disaster Recovery
보안 보안 취약점 조치
용량 산정 자원(CPU, Memory, 스토리지) 사용량
테스트 시스템 테스트
성능 테스트
가용성 테스트

 

아키텍처 패턴 (On-Premise)

3 Tier 기본 구조 (Basic Pattern)

  • DMZ에 웹서버
    • 사용자와의 통신, 브라우저의 프리젠테이션은 웹서버 담당
  • 내부망에는 어플리케이션 서버와 DB가 있다.
    • 실제 비지니스 영역은 어플리케이션 영역에서 구성한다.

 

  • Basic Pattern을 이중화 구성하고, 웹서버를 위한 Load Balancer를 설치한다.
  • 한 대 서버가 다운되도 유지될 수 있도록 이중화하여 가용성을 높였다!!

 

  • Application server의 비즈니스 로직을 성격에 맞게 분리하여 기능별로 세분화한 Variation Pattern 2
  • 프리젠테이션 서버가 추가됐다.

 

아키텍처 패턴 (Cloud)

클라우드에서의 3 Tier 구조 (AWS)

  • 클라우드에서 설계한 패턴이다.
  • 가용영역을 분리했고 ELB를 통해 로드벨런싱
  • 오토 스케일링을 사용했다.
  • DB서버는 DBMS대신 RDB를 사용했다.

 

  • 배치 프로세싱을 위한 설계이다.
  • S3에 필요한 정보에 들어있고
  • SQS를 통해 전달한다!!
  • 워커로드는 EC2인데 오토스케일링으로 인, 아웃을 하고 RDS에 저장한다!!

 

서버리스 아키텍처(AWS)

  • 흔히 말하는 VM서버 EC2없이 클라우드 서비스에 서버리스 아키텍처 구현하는거 !!!
  • S3, API 게이트웨이에서 제공!!
  • 실제 작업은 API 게이트웨이에서 트리거 받고 람다에서 실행!! 내용들은 DynamoDB에 저장
  • Polly가 작업이 완료되면 컨텐츠는 S3에 저장

 

클라우드에서의 3 Tier 구조 (Azure)

  • 가용성 향상을 위해 가용성 집합 등을 사용한다. (AWS랑은 조금 다르다~)

 

Hybrid Cloud 아키텍처

  • 3 Tier시스템에서 웹서버만 Public 클라우드에 넣었다. (오토스케일링 사용하려고)

 

  • 백업 용도를 클라우드에!!
  • 자주 접근하는 건 데이터센터, 나머지는 클라우드에 저장하여 스토리지를 효율적으로 사용!!

 

Cloud Bursting

  • 일부 클라우드의 강력한 장점만 골라 사용하는 것!
  • 컴퓨팅 파워를 사용해서 배치는 클라우드에서 사용하는 구조!!

분산컴퓨팅

  • 여러 대의 서버를 연결해서 컴퓨팅의 효율과 속도를 올리는 것!!

 

Hadoop

  • JopTracker가 TastTracker에게 작업을 할당
  • MapReduce는 데이터처리
  • HDFS는 데이터 저장담당

 

 

HDFS

  • 여러대의 컴퓨터에 대량의 데이터를 분산해서 안정적으로 저장한다!!
  • 큰 파일을 일정 크기로 쪼개서 분산 저장하는 거!!
  • 저렴한 컴퓨터를 병렬로 처리하는 것!!

  • 서비스가 유지되도록 카피를 3개를 해서 분산 저장한다!!
  • 마스터역할의 NameNode
  • Slave의 DataNode가 있고 마스터역할은 분산저장이 가능하다.

 

이원화도 잘 되고 있다~~

 

분산파일시스템

HDFS 및 다른 분산 파일 시스템

 


GPU (Graphic Porcessing Unit)

  • 병렬컴퓨팅으로 데이터를 처리하려면 컴퓨팅 파워가 필요한데 이를 얻기위해 사용하는 수천개의 코어를 가진 그래픽 장치!!

 

샤딩 (Sharding)

  • 데이터가 무지 많아지니 관리하기 위해 여러개의 디비에 쪼개서 담는 것!!
  • 분산해서 병렬처리하기 때문에 I/O성능 등등 당연히~~ 올라가겠쥬?
  • 지속적인 관리 필요...

 

N드라이브 

전부 오픈소스이며 하드웨어들은 스케일 아웃이 가능한 구조로 되어있다!!

DB와 웹사이에 분산으로 캐시서버 구성이 되어있다.

DB앞단에서 부하를 막기위해 데이터 캐시역할을 하고 있으며 DB도 스케일 아웃이 가능한 분산 DB사용중

DB들은 모두 샤딩이 되어있고 이중화하는 과정에 있어서 OS에 HDFS클러스터는 전혀 이용하지 않는다!!

 


비즈니스 구현사례 - 제조부분

제조

  • MES (Manufacturing Execution System) : 생산공정에 대한 계획, 실행, 제어 기능을 제공

 

금융

 

 

빅데이터

  • 하둡 클러스터로 백앤드가 이루어져 있다.

 

 

'Technical Architecture > 시스템 아키텍처' 카테고리의 다른 글

데스크탑 가상화란?(4)  (0) 2022.12.27
가상화(3) 쿠버네틱스란?(Kubernetes)  (0) 2022.12.27
가상화란?  (0) 2022.12.27
확장성  (0) 2022.12.27
가용성  (2) 2022.12.27