Grid Computing
Grid Computing이란?
네트워크로 연결된 컴퓨터들이 서로 정보를 처리하고 공유할 수 있다는 점을 이용한 컴퓨터의 자원들(CPU와 RAM의 연산/처리능력, 하드디스크의 저장공간, 유.무선 인터넷 망의 활용 등)을 서로 공유하여 컴퓨팅 능력을 향상시키기 위해 사용되는 병렬 분산 시스템의 한 종류
- 출처: 그리드 컴퓨팅
그리드 컴퓨팅이란 공통 목표를 달성하기 위해 서로 다른 지리적 위치에 분산된 컴퓨터 리소스를 결합하는 컴퓨팅 인프라이다.
다수의 컴퓨터에서 모든 미사용 리소스가 함께 풀링되어 단일 태스크를 위해 사용할 수 있게 되는데, 조직은 그리드 컴퓨팅을 사용해 단일 컴퓨터로는 작업하기 어려운 대량 태스크를 수행하거나 복잡한 문제를 해결할 수 있다.
Grid Computing 장.단점
장점
- 높은 성능과 확장성
- 여러 대의 컴퓨터를 결합해 슈퍼컴퓨터 수준의 계산 능력을 제공하고 필요에 따라 자원을 유연하게 추가하거나 제거할 수 있어 확장성이 뛰어난다.
- 안정성 및 신뢰성
- 특정 노드에 문제가 발생해도 다른 노드가 작업을 이어받아 진행할 수 있어 시스템의 신뢰성이 높고 분산 처리로 인해 일부 노드의 고장이 전체 시스템에 큰 영향을 미치지 않는다.
- 비용 효율성
- 기존에 있는 컴퓨터 자원을 활용해 추가적인 하드웨어 비용을 절감할 수 있다.
- 고성능 컴퓨터를 구입하는 대신 네트워크로 연결된 일반 컴퓨터의 자원을 결합하여 사용할 수 있다.
- 기존에 있는 컴퓨터 자원을 활용해 추가적인 하드웨어 비용을 절감할 수 있다.
단점
- 복잡한 관리
- 여러 대의 컴퓨터의 자원을 효율적으로 관리하고 조정해하고 각 노드의 성능, 네트워크 상태 등을 모니터링하고 최적화해야한다.
- 네트워크 의존성
- 네트워크 속도와 안전성에 크게 의존하며, 네트워크 병목현상이 발생할 수 있다. (네트워크 문제가 생기면 전체 시스템의 성능 저하나 장애가 발생할 수 있다)
- 보안 문제
- 분산된 자원을 사용하는 만큼 각 노드의 보안이 보장되지 않으면 젠체 그리드의 보안이 취약해질 수 있다.
Grid Computing 방법
동영상 서비스를 예시를 들자면 다음과 같다.
1. 사용자 A가 동영상을 재생한다.
2. 동영상의 내용이 사용자 A의 컴퓨터에 잠시 저장된다.
3. 사용자 B가 동영상을 재상한다.
4. 동영상의 내용이 사용자 B의 컴퓨터에 잠시 저장된다. 이때, 동영상의 내용은 서버가 아닌 사용자 A의 컴퓨터에서 가져온다.
5. 사용자 C가 동영상을 재생한다.
6. 동영상의 내용이 사용자 C의 컴퓨터에 잠시 저장된다. 이때, 동영상의 내용은 서버가 아닌 사용자 A와 사용자 B의 컴퓨터에서 가져온다.
간단하게 사용자에게 원 서버 관리자의 짐을 나누어 지게 하는 것과 같다. 원서버 관리자 입장에서 원 서버 관리 및 망 사용료의 지출을 줄이거나 사용자에 떠넘길 수 있다는 유리함이 있다.
하지만, 다른 사람의 컴퓨터 자원과 전기요금을 서버의 용도로 사용하는 것이기 때문에, 이를 약관 등으로 사전에 고지하지 않으면 불법이다.
최근 2024년 6월에 KT에서 웹하드 업체와 이용자들의 그리드 컴퓨팅을 막기 위해서 고객의 인터넷 사용내역을 감청하고 해킹하여 악성코드를 설치했던 것이 발각되는 사건이 있었다.
* 그리드 컴퓨팅은 서버를 거치지 않고 사용자간 데이터를 주고 받을 수 있게 하기 때문에 네이버, 아프리카tv 등 많은 곳에서 사용하고 있다. 하지만, 그리드 서비스가 없으면 통신사들(KT)는 연 매출 수백억(원) 이상의 매출을 올릴 수 있다.
Grid Computing 사용 사례
금융 서비스
- 주로 리스크 관리와 관련한 문제를 해결하는데 사용.
결합된 컴퓨팅 성능을 그리드에 활요함으로써 변동성이 큰 시장에서 포트폴리오 변화를 예측하는 시간을 단축할 수 있다.
게임
- 게임 개발자에게 추가 컴퓨팅 리소스를 제공하는 게 사용
인 게임 디자인 생성과 같은 많은 작업을 분할하여 여러 시스템에 할당한다. 따라서 게임 개발자의 턴어라운드 시간이 빨라진다.
엔터테인먼트
- 복잡한 특수 효과를 만들어내야 할 때 사용
특수 효과 디자이너는 그리드 컴퓨팅을 사용하여 제작 일정을 단축한다.
디자이너는 특수 효과 그래픽을 렌더링하기 위해 계산 리소스를 공유하는 그리드 지원 소프트웨어를 사용한다.
Cloud Computing
Cloud Computing란?
클라우드 컴퓨팅은 IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼만 비용을 지불하는 것을 말한다. 물리적 데이터 센터와 서버를 구입, 소유 및 유지 관리하는 대신, AWS와 같은 클라우드 공급자로부터 필요에 따라 컴퓨팅 파워, 스토리지, 데이터베이스와 같은 기술 서비스에 액세스 할 수 있다.
Cloud Computing 장.단점
장점
- 비용 절감
- 클라우드 컴퓨팅은 초기에 인프라 구축 비용을 줄이고, 사용한 만큼만 비용을 지불하여 하드웨어 구매, 유지보수, 업그레이드와 같은 비용을 절감할 수 있다.
- 유연성
- 언제 어디서나 인터넷에 접속할 수 있는 환경만 있다면 클라우드 서비스에 접근 할 수 있다. (PC, 스마트폰 태블릿 등 다양한 장치에서 동일한 서비스를 사용할 수 있다.)
- 협업 및 접근성
- 클라우드 기반 어플리케이션을 통해 여러 사용자가 동시에 협업할 수 있고, 파일 및 데이터를 클라우드에 저장하면 어디서든 쉽게 접근하고 공유 할 수 있다.
단점
- 보안 및 프라이버시 문제
- 데이터 유출, 해킹, 클라우드 서비스 제공자의 보안 실패와 같은 위험이 존재한다.
- 의존성
- 클라우드 서비스 중단, 가격 인상, 서비스 종료 등의 문제가 발생할 수 있다.
- 네트워크 의존성
- 클라우드 컴퓨팅은 인터넷 연결이 필수적이므로, 네트워크 장애나 대역폭 제한이 발생할 경우 서비스 접근에 어려움이 생길 수 있다.
Cloud Computing 방법
동영상 서비스를 예시를 들자면 다음과 같다.
1. 동영상 업로드 및 저장
- 콘텐츠 제작자 또는 서비스 운영자가 동영상을 클라우드 서버에 업로드합니다.
- 동영상 파일은 클라우드 서비스 제공자의 데이터 센터에 안전하게 저장됩니다. 이때 동영상은 여러 서버에 분산 저장될 수 있습니다(예: Amazon S3, Google Cloud Storage).
2. 사용자 A가 동영상을 재생한다
- 사용자 A가 동영상 플랫폼(예: YouTube, Netflix)에 접속하여 동영상을 선택합니다.
클라우드 서버에서 동영상 파일이 스트리밍되어 사용자 A의 장치에 재생됩니다. 동영상 파일은 클라우드 서버에서 사용자 A의 기기로 전달됩니다. - 사용자 A의 장치에는 동영상이 일시적으로 캐시될 수 있지만, 이 데이터는 일정 시간이 지나면 자동으로 삭제되거나 필요 시 다시 서버에서 다운로드됩니다.
3. 사용자 B가 동영상을 재생한다
- 사용자 B가 같은 동영상을 재생할 때, 클라우드 서버에서 다시 동영상이 스트리밍됩니다.
클라우드 서비스는 사용자 B가 있는 지역과 가장 가까운 서버에서 동영상을 제공하여 빠른 재생 속도를 보장합니다(CDN: Content Delivery Network 활용). - 이 과정에서 사용자 A의 장치와는 관계없이, 사용자 B도 동일한 클라우드 서버로부터 동영상을 받아봅니다.
4. 사용자 C가 동영상을 재생한다
- 사용자 C도 동일한 방식으로 클라우드 서버에서 동영상을 스트리밍 받습니다.
- 클라우드 컴퓨팅 환경에서는 모든 사용자가 동일한 중앙 서버 또는 CDN 노드로부터 데이터를 받기 때문에, 특정 사용자의 기기에 저장된 데이터를 활용하지 않습니다.
5. 데이터 분석 및 최적화
- 클라우드 서버는 모든 사용자 데이터를 분석하고, 사용 패턴을 파악하여 필요한 경우 동영상 품질을 자동으로 조절하거나, 트래픽이 높은 지역에 데이터 복제를 늘려 사용자 경험을 최적화할 수 있습니다.
- 이러한 분석 및 최적화 과정은 클라우드 컴퓨팅의 강력한 데이터 처리 능력 덕분에 실시간으로 이루어질 수 있습니다.
6. 백업 및 재해 복구
- 클라우드 서비스 제공자는 동영상 데이터를 여러 지리적 위치에 백업하여 데이터 손실을 방지합니다.
- 만약 특정 서버나 데이터 센터에 문제가 발생하더라도 다른 서버에서 데이터를 즉시 제공할 수 있습니다.
Cloud Computing 사용 사례
Netflix
- AWS를 활용해 인프라를 확장했고 이를 통해 전 세계 사용자에게 안정적이고 빠른 스트리밍을 제공할 수 있게 되었다. 또한, AWS의 분산 저장 및 컴퓨팅 기능을 통해 넷플릭스는 트래픽 폭증 시에도 유연하게 대응할 수 있게 되었다.
- 넷플릭스에서 제공되는 사용자 맞춤형 추천 서비스는 클라우드에서 처리됩니다.
Airbnb
- 에어비엔비는 AWS를 통해 빠르고 안정적인 서비스를 제공하며, 데이터베이스 관리, 스토리지, 콘텐츠 배포 등을 클라우드에서 처리하고 있다. 또한, 호스트와 게스트 매칭을 최적화하거나, 가격을 동적으로 조정하는 기능 등이 클라우드에서 운영되고 있다.
Spotify
- GCP 데이터베이스 서비스인 BigQuery를 사용해 대규모 데이터를 실시간으로 분석하고 있고, 사용자에게 더 정확하고 개인화된 음악 추천을 제공하고 있다.
Grid Computing vs Cloud Computing
Grid Computing과 Cloud Computing은 둘 다 컴퓨팅 자원을 분산해서 사용하는 기술이지만, 그 목적과 방식에서 차이가 있다.
Grid Computing
- 목적: 여러 분산된 컴퓨터 자원을 모아서 대규모 연산 작업을 수행하기 위해 사용됩니다.
- 특징: 여러 독립적인 컴퓨터들이 하나의 연산 문제를 해결하기 위해 협력합니다. 각 자원이 개별적으로 관리되며, 주로 과학 연구, 시뮬레이션, 데이터 분석 등의 고성능 연산 작업에 사용됩니다.
- 예시: SETI@home, CERN의 LHC 데이터 분석.
Cloud Computing
- 목적: 필요할 때마다 컴퓨팅 자원(서버, 스토리지, 네트워크, 소프트웨어 등)을 서비스로 제공받아 사용하는 방식입니다.
- 특징: 유연하고 확장 가능한 자원 제공을 목표로 하며, 사용자는 하드웨어를 직접 관리할 필요 없이 인터넷을 통해 자원을 요청하고 사용합니다. 다양한 IT 서비스(예: SaaS, PaaS, IaaS)가 제공되며, 비용 효율적입니다.
- 예시: Google Drive, Microsoft Azure, Amazon Web Services (AWS).
참고
'CS' 카테고리의 다른 글
[Python] 메모리 구조 및 메모리 할당 (1) | 2025.04.24 |
---|---|
docker 에 대해서 (Feat. 간단한 실습, 이미지 pull 부터 삭제까지) (0) | 2024.11.27 |
[Python] 메모리 구조 및 메모리 할당 (0) | 2024.11.19 |