공부
[ASAC] 연속성, 동시성, 그리고 서버 선택
wjddnr0208
2024. 12. 24. 13:24
연속성 : Blocking vs Non-Blocking
연속성은 작업이 수행되는 동안 CPU가 멈추는지 여부를 중심으로 구분된다.
- Blocking
- 하나의 작업이 간간히 방해받으며 수행된다.
- 방해 : 작업 상태를 주기적으로 확인하거나 자원을 기다리기 위해 잠시 멈추는 경우가 된다.
- 하나의 작업이 간간히 방해받으며 수행된다.
- Non-Blocking
- 작업이 어떠한 방해도 받지 않고 수행된다.
- 자원을 기다리는 동안에도 다른 작업을 계속 진행할 수 있습니다.
동시성 : Synchronous vs Asynchronous
동시성은 작업의 병렬 처리 가능 여부를 중심으로 구분된다.
- Synchronous (동기)
- 앞선 작업이 완료된 후에 다음 작업을 수행한다
- 작업이 끝날 때까지 현재 작업이 대기 상태에 머문다.
- Asynchronous (비동기)
- 앞선 작업이 완료되지 않아도 다음 작업을 수행한다
- 작업이 끝나면 응답(CallBack)을 통해 결과를 알려준다.
서버 인프라의 구성 : 물리 서버 vs 클라우드 서버
서버를 구성하는 방식은 크게 물리 서버와 클라우드 서버로 나뉜다.
물리 서버 (On-Premise)
물리 서버는 직접 데이터센터를 구축하거나 호스팅 업체를 통해 서버를 임대받아 사용하는 방식이다.
- 특징
- 데이터센터 구축에 따른 고정 비용 발생.
- 서버의 직접 운영 및 관리가 필요.
- 단점
- 서버 조립, 배치 장소 확보, 네트워크 설정.
- 전기 공급, 냉방 시스템, 백업 시스템 구축.
- 한 번 구매하면, 사용량과 관계없이 계속 관리와 비용이 발생.
가상 서버 (클라우드 서버)
클라우드 서버는 데이터센터의 서버를 가상화하여 사용자가 필요에 따라 임대받는 방식이다.
- 특징
- 온디맨드 비용으로 운영 (필요한 만큼만 사용).
- AWS, Azure와 같은 클라우드 제공 업체가 대신 서버를 관리.
- 장점
- 몇 번의 클릭만으로 서버와 네트워크 구성 완료.
- 사용량에 따라 비용이 발생하므로 불필요한 자원 낭비가 없음.
- 트래픽이 증가하면 자동으로 서버를 확장하고 감소하면 서버를 축소하여 비용 절감.
서버리스(Serverless)란?
서버리스는 물리 서버나 클라우드 서버를 사용하는 것이 아니라 특정 작업을 수행할 때만 서버를 생성하고 이후에는 삭제하는 방식을 의미한다
- 특징
- 요청이 들어오면 서버를 생성 → 작업 처리 → 서버 종료.
- 서버가 계속 떠 있는 상태가 아니므로 시간이 아닌 요청 횟수에 따라 과금된다.
*서버리스는 "서버가 없는 것"이 아니라, 서버를 직접 소유하거나 계속 운영하지 않는 방식을 뜻한다.