온프레미스와 클라우드
- 기업이, 자체적으로 보유한 전산실 서버에, 직접 설치해서 운영하는 방식입니다.
- 클라우드 컴퓨팅 기술이 나오기 전까지, 기업 인프라 구축의 일반적인 방식 이었습니다.
- 장점은, 정보의 보안성이 높다는 것이고
- 단점은, 시스템을 증설하거나 구축하는데 시간과 비용이 많이 듭니다.
- 가장 기본적인 서버의 구조
- 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)
'백엔드' 카테고리의 다른 글
백엔드 : CI/CD를 위한 깃허브 생성 및 연결 / serverless 깃허브 연결하기 (0) | 2022.01.11 |
---|---|
백엔드 : AWS Lambda 서버 구축하기 (IAM) (0) | 2022.01.11 |
백엔드 : Postman을 사용하는 이유/Postman으로 확인 하는 이유 (0) | 2022.01.08 |
백엔드 : quert string 사용하기 (0) | 2022.01.06 |
백엔드 : flask JWT (JSON Web Token) 회원가입 (0) | 2022.01.05 |