클라우드 컴퓨팅 개요
클라우드
원격으로 IT 자원 및 서비스를 준비 해 확장과 측정이 가능한 방식으로 제공할 수 있도록 준비된 IT 환경을 말한다.
- 투자 및 비용 감소 IT자원의 통합과 공유를 통해 IT 자원의 활용도 증가, 초기 투자비용 대폭 경감
- 전력 비용 감소 서버 통합 및 가상화 기법을 통한 에너지 비용 감소 가능, CPU 이용률이 낮은 서버 통합 -> 소수의 서버로 운영
- 확장성 증가 동적으로 IT자원 즉시 할당
- 가용성 및 신뢰성 증가 고장에 따른 즉시 대체 가능, 서비스 중단의 가능성 희박
- 이동성 증가 사용자의 컴퓨터, 소프트웨어, 데이터가 클라우드에 존재할 경우, 인터넷을 통해 언제 어디서든 사용 가능
- 보안 강화 퍼블릭 클라우드 / 프라이빗 클라우드
- 보안 취약성 증가 데이터 보안에 대한 책임이 클라우드 제공자와 공유됨
- 운영 거버넌스 제어 감소 모든 클라우드 사용자들이 원하는대로 서비스 구성 불가
IT 자원
- 가상 서버, 고객 소프트웨어 프로그램과 같은 소프트웨어
- 물리적 서버, 스토리지 장비, 네트워크 장비와 같은 물리적 장비
클러스터링 (Clustering)
독립적인 IT자원들을 상호 연결하여 단일 시스템처럼 작동하도록 효과를 내는 것을 말한다.
- 중복(Redundancy)와 고장대응(Failover)을 기반으로 하므로 고장율이 감소 => 가용성 / 신뢰성 증가
- 하나의 장비가 고장 났을 때 다른 장비로 대체할 수 있도록 동종의 하드웨어와 운영체제를 가진 장비를 이용 해 구성한다.
가상화 (Virtualization)
IT 자원의 가상 인스턴스의 생성을 위해 가상화가 사용된다. 하나의 물리적 IT자원 위에 그 자체에 대한 다수의 가상 이미지를 만들어, 다수의 사용자가 기반이 되는 처리 기능을 공유할 수 있도록 한다.
가상 머신 (Virtual Machine)
하나의 물리적 서버에 있는 하이퍼바이저라고 하는 소프트웨어가 여러 개의 가상 머신(VM)을 생성하여 사용자에게 제공한다. 하나의 물리적 서버를 복수개의 논리적 서버로 운영할 때, 논리적 서버를 말한다.
하이퍼바이저 : 가상 머신(VM)을 생성하고 실행하는 프로세스
프로비저닝 (Provisioning)
서버의 CPU, 메모리, 디스크 등 물리적 자원을 적절히 할당하여 사용자가 원하는 형태의 가상머신을 만들어 사용자에게 제공할 준비를 수행하는 과정을 말한다.
- 수평 확장 (Scale In / Out)IT 자원의 수요 증가 / 감소를 처리할 수 있는 능력으로 동일한 유형의 IT자원 할당과 반납을 통해 확장 및 축소를 실행한다.
- 수직 확장 (Scale Up / Down)IT자원의 수요 증가 / 감소를 처리할 수 있는 능력으로 기존의 IT자원을 고 사양 또는 저 사양 자원으로 대체한다.수직 확장의 경우 자원 교체 시 다운타임이 발생한다.
빅데이터 개요
데이터마이닝
대용량 데이터에서 어떤 패턴을 찾기 위한 과정으로, 데이터의 의미를 찾아서 새로운 가치를 생성하는 과정이다.
빅데이터
서버 한 대로 처리할 수 없는 규모와, 기존의 소프트웨어로는 처리할 수 없는 규모의 데이터를 말한다.
3V로 정의한다.
- Volume : 대용량 데이터
- Velocity : 데이터가 빠르게 생성됨
- Variety : 데이터의 다양성 (구조화 / 비구조화)
빅데이터 처리 시스템
- 빅데이터 처리 과정
- 빅데이터를 수집하여 이를 하둡 클러스터에 저장한다.
- 하둡 클러스터에 저장된 빅데이터는 맵리듀스(MapReduce) 애플리케이션 또는 하이브(Hive) 분석도구를 이용하여 중간 데이터(Intermediat Data)를 생성한다.
- 생성된 중간 데이터는 하둡 클러스터의 분산파일 시스템에 저장하거나 데이터베이스에 저장하여 관리한다.
- 데이터베이스에 저장된 데이터는 웹 어플리케이션을 통해 사용자에게 서비스를 제공하거나 R등의 도구를 이용해 2차 분석하여 원하는 지표(indicator)들을 생성할 수 있다.
대부분 사용자는 보안상의 이유로 데이터센터에 있는 하둡 클러스터에 직접 접근이 불가하다.
Network Interface를 통해 하둡 클러스터에 접근한다
- 데이터 저장 및 처리 모듈
- Hadoop Distributed File System : HDFS 대용량 파일의 처리량을 높이기 위해 설계된 하둡의 분산 파일 시스템 높은 확장성, 결함 허용성 제공
- Name Node : 각 데이터들의 메타데이터, 직접적인 처리가 아닌 중개자 역할을 한다. 중요 데이터 이므로 이중화 한다. -> Secondary Name Node
- Data Node : 데이터를 저장하고 처리한다. 많은 시간이 소요되고 여러 개가 필요하다.
- MapReduce 구글이 제안한 java기반 분산 처리 프레임워크- 데이터 집합에 대한 쿼리를 입력받아 분할한 후 여러 개의 노드에서 병렬로 처리한다.
- Hadoop Distributed File System : HDFS 대용량 파일의 처리량을 높이기 위해 설계된 하둡의 분산 파일 시스템 높은 확장성, 결함 허용성 제공
- 처리 데이터 액세스 모듈
- 하둡은 기본적으로 대용량 데이터의 배치 프로세싱에 적합하다. 실시간 접근에는 적합하지 않다.
- 관계형 데이터베이스 테이블을 정의 후 테이블에 처리 결과 데이터 입력
- NoSQL 스키마가 고정되어 있지 않응 대용량 데이터를 접근할 때 사용. Habase, Cassandra, MongoDB등의 오픈 소스 솔루션 존재.
- 검색엔진 Lucene, Solr, ElasticSearch 등의 오픈 소스 솔루션 존재
[참조]
인하공업전문대학 컴퓨터정보과
'Study > clolud' 카테고리의 다른 글
[클라우드컴퓨팅] HDFS & MapReduce (0) | 2022.10.15 |
---|---|
[클라우드컴퓨팅] 클라우데라 하둡 싱글노드 설치 (2) | 2022.10.14 |