기억 저장소

클라우드 기반 인공지능 개발과 DevOps 실무

백엔드

백엔드 : On-Premise 와 Cloud Services 온프레미스 클라우드

하늘.98 2022. 1. 10. 18:04

온프레미스와 클라우드

  • 기업이, 자체적으로 보유한 전산실 서버에, 직접 설치해서 운영하는 방식입니다.
  • 클라우드 컴퓨팅 기술이 나오기 전까지, 기업 인프라 구축의 일반적인 방식 이었습니다.
  • 장점은, 정보의 보안성이 높다는 것이고
  • 단점은, 시스템을 증설하거나 구축하는데 시간과 비용이 많이 듭니다.
  • 가장 기본적인 서버의 구조 
    • API 서버와 데이터베이스로 구축합니다.
    • API 서버에는, 웹 프레임워크를 설치합니다. 
    • 데이터베이스는 RDBMS를 설치합니다.  

1,스토리지서버 (Storage Server) 는 왜 필요합니까?

  • 스토리지 서버는 파일을 처리하는데 사용합니다.
  • 데이터베이스(RDBMS) 에는 파일을 저장하지 않고, 파일의 경로(주소, 이름, URI, Path)를 저장합니다.

2,NoSQL은 왜 사용합니까?

  • 기존의 데이터베이스는 데이터의 수가 늘어남에 따라 확장이 어려웠습니다.
  • 페이스북이나 인스타그램처럼, 데이터가 무제한으로 발생하는 경우, 데이터를 저장하기 위해서는 확장성이 중요한데,
  • NoSQL은 확장성을 고려한 데이터베이스 이기 때문에 NoSQL을 사용합니다.
  • NoSQL은 샤드(Shard) 라는 기법으로 확장합니다. 

 

3.캐시 (Cache) 서버는 무엇입니까?

  • 예를들면, 프로필 사진처럼, 자주 이용되는 데이터이면서, 변경이 잘 안이루어지는 데이터인 경우
  • 데이터베이스나 스토리지서버에서 억세스하면 속도가 느립니다.
  • 데이터베이스나 스토리지서버는 파일이기 때문입니다.
  • 따라서 이 데이터를 메모리에 올려놓으면, 클라이언트가 요청할때마다 빠르게 응답할 수 있습니다.
  • 이러한 메모리 서버를 캐시서버라고 합니다.
  • 메모리 서버로는 Redis를 많이 사용합니다. ( AWS 의 경우, ElastiCache )

 

4. 메세지 큐 (Message Queue) 는 무엇입니까?

  • 사진의 썸네일을 만드는 것처럼, 오래 걸리는 일이 있으면, 유저가 기다리게 됩니다.
  • 따라서 유저가 기다리지 않도록, 오래 걸리는 일은 따로 리시버에게 일을 시킬 수 있게 하는 것이 메세지큐 입니다.
  • 메세지 큐는, 먼저 들어온 메세지(일)를 먼저 처리해주는 큐 자료구조를 사용합니다.
  • (아래 그림의 파란색 두꺼운 선 부분 : 메세지 큐)

 

5. 로드밸런서(Load Balancer)는 어떤 역할을 합니까?

  • 유저가 늘어날 수록, 서버가 감당할 수 있는 CPU와 메모리는 제한되어 있습니다.
  • 따라서 유저가 늘어나면, API 서버를 증설해야 합니다.
  • 늘어난 API 서버에 유저의 요청을 분배해 주는 것이 로드밸런서 입니다.
  • 즉, 부하를 분산 시켜주는 역할을 합니다.

6. 온프레미스(On Premise) 와 AWS 클라우드에서의 서비스 구성 방법

  • API Server - EC2
  • Load Blancer - ELB
  • 데이터베이스 - RDS
  • NoSQL - DynamoDB
  • Storage Server - S3
  • Cache Server - ElastiCache
  • Message Queue - SQS (Simple Queue Service)