클라우드 (Cloud) 컴퓨팅
- 인터넷을 통해 컴퓨터 리소스와 서비스를 제공하는 기술
- CPU, RAM, 네트워크 ,스토리지 등을 고객에게 임대해주고 고객이 사용한 만큼 돈을받는 서비스
클라우드 컴퓨팅의 특징
- 온디맨드 서비스 : 사용자는 필요에 따라 컴퓨팅 리소스를 즉시 사용할 수 있으며, 필요 없을 때 해지 할 수 있음 => 유연성, 리소스를 효율적으로 사용가능
- 자가 서비스 : 사용자는 IT관리자의 도움 없이도 자신의 요구에 따라 컴퓨팅 리소스를 관리하고 제어할 수 있음
- 네트워크 접근성 : 클라우드 서비스는 인터넷을 통해 언제 어디서나 접근할 수 있음, 사용자는 다양한 기기를 사용하여 데이터와 어플리케이션에 접속할 수 있음
- 리소스 공유 : 여러 사용자가 하나의 물리적 리소스를 공유함으로써 비용을 절감하고 , 리소스의 사용 효율성을 극대화
- 신축성과 확장성 : 필요에 따라 킴퓨팅 리소스를 확장하거나 축소 할 수 있음
- 측정 및 과금 : 사용자는 실제로 사용한 만큼의 리소스만 지불하며 사용량에 따라 비용지불 => 불필요한 비용을 절감
클라우드 컴퓨팅 모델
서비스 모델
- IaaS : 가상화된 컴퓨팅 리소스서버(서버, 스토리지, 네트워크 등)를 제공하여 사용자가 직접 운영체제와 애플리케이션을 설치, 관리, 운영
- PaaS : 개발자들이 애플리케이션을 개발, 실행하기 위한 플랫폼(개발 환경, 런타임, 데이터베이스 등 ) 을 제공
- SaaS : 클라우드 공급자가 애플리케이션을 호스팅하고 사용자는 웹브라우저를 통해 이를 이용함,사용자는 애플리케이션에 대한 관리를 수행하지 않음
배포 모델
- Public Cloud: 인터넷을 통해 누구나 접근할 수 있는 클라우드 서비스입니다.
- Private Cloud: 단일 조직이 사용하는 클라우드로 보통 내부 데이터 센터에 구축되며, 조직의 보안과 규정 준수를 유지하기 위해 사용됩니다.
- Hybrid Cloud: Public Cloud와 Private Cloud를 결합한 모델로, 중요한 데이터는 Private Cloud에서 보호하고 나머지는 Public Cloud에서 처리하는 방식입니다.
- Community Cloud: 여러 조직이 공동으로 사용하는 클라우드로, 비슷한 요구 사항과 목표를 가진 조직들이 함께 이용합니다.
클라우드 컴퓨팅의 장점
- 높은 확장성과 유연성
- 낮은 초기 비용과 비용 효율성
- 빠른 배포와 애플리케이션 업데이트
- 글로벌 접근성과 사용 편의성
- 높은 가용성과 안정성
멀티스레딩 (Multithreading)과 멀티프로세싱 (Multiprocessing)의 차이점
멀티스레딩
- 1개 이상의 프로세스 내에서 여러개의 실행단위로 나뉘어서 스레드가 실행 되는것
- 각 스레드는 프로스세가 가진 자원을 공유함 스택을 제외한 코드, 데이터 , 힙영역
- 컨텍스트 스위칭이 일어나지 않아 오버헤드를 줄일 수 있고 자원을 공유하기 때문에 빠른 처리가능
- 1개의 스레드에서 오류 발생시 다른 스레드에 영향을 줄 수 있음
- 여러 스레드가 공유된 자원에 접근할때 동기화 문제 발생 가능 => 데드락, 경합 상태 문제 발생가능 뮤텍스 세마포어 기법으로 해결
멀티프로세싱
- 1개이상의 프로세스를 실행하여 작업을 처리하는 것
- 자원을 공유하지 않고 각자 개별적인 자원을 가지고 작업을 처리하여 안전함
- 여러 프로세스가 동시에 실행되기 때문에 병렬적으로 작업처리
- 컨텍스트 스위칭시 오버헤드 발생
'CS' 카테고리의 다른 글
웹 서버, 웹 애플리케이션 서버 (0) | 2023.08.01 |
---|---|
정규표현식 (0) | 2023.07.31 |
데이터베이스 ORM (0) | 2023.07.24 |
HTTPS, RESTful (0) | 2023.07.22 |
동기,비동기 프로세스와 스레드 (0) | 2023.07.20 |