1. 분산시스템 개요
- 분산시스템은 공유하는 공동의 목표를 달성하기 위해 여러 개의 개별 컴퓨팅노드에서 컴퓨팅리소스를 활용하는 컴퓨터 프로그램의 모음.
- 분산시스템은 시스템에서 병목현상이나 중앙에 장애지점을 제거하는 것을 목표로함.
- 분산컴퓨팅 또는 분산데이터베이스 라고도하며, 별도의 노드가 공동의 네트워크를 통해 통신하고 동기화.
- 분산시스템은 시스템에서 병목현상이나 중앙에 장애지점을 제거하는 것을 목표로 함.
2. 분산컴퓨팅시스템의 특징
- 리소스공유 : 분산시스템은 하드웨어, 소프트웨어 또는 데이터를 공유할 수있음
- 동시처리 : 여러 시스템에서 동일한 기능을 동시에 처리할 수 있음.
- 확장성 : 컴퓨팅 및 처리 용량은 추가시스템으로 확장할 때 필요에 따라 확장할 수 있음.
- 오류감지 : 장애를 더 쉽게 감지할 수 있음.
- 투명성 : 노드는 시스템의 다른 노드에 액세스하고 통신할 수 있음.
3. 중앙집중식시스템과 분산시스템의 차이
- 중앙 집중식 컴퓨팅시스템에서는 하나의 컴퓨터가 모든 컴퓨팅을 한 곳에서 수행
- 중앙 집중식 시스템과 분산 시스템의 주요 차이점은 시스템 노드간의 통신패턴
* 중앙 집중식 시스템의 상태는 클라이언트가 맞춤형 방식으로 액세스 하는 중앙 노드내에 포함.
* 중앙 집중식 시스템의 노드는 모두 중앙노드에 액세스하므로 네트워크가 혼잡해지고 느려짐.
4. 하둡분산처리
- 하둡이란, 빅데이터를 수집/ 저장 / 처리 / 분석할 수 있는 오픈 소스 프레임워크
- 하나의 성능 좋은 컴퓨터를 이용하여 데이터를 처리하는대신, 적당한 성능의 범용 컴퓨터 여러대를 클러스터화 하고,
큰 크기의 데이터를 클러스터에서 병렬로 동시에 처리하여 처리 속도를 높이는 것이 목적임.
과정 | 개념 |
데이터 분할 | 데이터를 블록 단위로 나눔. |
분산 저장 | 나뉘어진 여러 블록들을 여러 대의 컴퓨터에 분산 저장 HDFS(Hadoop Distributed File System) |
분산 처리 | 각 컴퓨터에서 맵 단계 실행(입력 데이터를 읽어와 원하는 형태로 가공) 각 블록은 병렬 처리됨. |
결과 계산 | 리듀스 작업을 통해, 중간 결과들을 기반으로 최종 결과로 계산함. |
* 맵리듀스(MapReduce)
- 클라우드의 핵심으로, 큰파일을블록단위로나누고모든블럭은같은 Map 작업을 수행하고 이후Reduce 작업을 수행
- Distributed File System에서 수행되는 MapReduce 작업이 끝나면 HDFS 에파일이써지고, MapReduce 작업이 시작할때는 HDFS로 부터 파일을 가져오는작업이수행
5. 분산시스템의 장 • 단점
- 분산시스템은 시스템 안전성 및 성능을 개선하는 데 종종 도움이 됨
- 중앙 집중식 장애지점과 병목현상을 제거하여 안정성이 향상
- 분산시스템의 노드는 중복성을 제공하므로 노드장애가 발생할 경우 장애를 처리하고 교체하도록 다른 노드가 준비 되어있음
- 노드를 수평적으로 및 수직적으로 손쉽게 확장할 수 있으므로 성능이 향상
- 시스템에 과도한 부하가 걸리면 노드를 추가하여 부하를 처리할 수 있음
- 광범위한 부하를 처리하도록 개별 노드의 용량을 늘릴 수도 있음
- 시스템이 지나치게 복잡해지고 유지관리가 어려워지는 “개발에서 무분별한 확장” 이 발생할 수 있음
- 시스템이 복잡해짐에따라 팀은 이러한 시스템을 효과적으로 구성, 관리 및 개선하는데 어려움을 겪음
- 따라서 운영상태를 극대화하고 종속 구성 요소뿐만 아니라 고객에게 부정적인 영향을 미치지 않도록 구성요소를 변경하는 방법을 이해하기가 어려움
6. 분산시스템의 아키텍처
- 클라이언트서버
- 피어투피어(P2P)
- 서비스지향아키텍처(SOA)
- 마이크로서비스아키텍처(MSA)
- 클라우드컴퓨팅
- 엣지(edge)컴퓨팅
7. 클라우드컴퓨팅의 개념
클라우드 :
- 인터넷을 의미하고 컴퓨팅은 넓은의미로 컴퓨팅자원을 사용하는 모든활동
- 컴퓨터 네트워크 구성도에서 인터넷을 구름모양으로 나타내는데에서 유래
클라우드컴퓨팅 :
- 인터넷을 기반으로하는것으로 자신의 컴퓨터가 아닌 인터넷에 연결된 컴퓨팅자원을 이용하는 것을 의미
- 컴퓨팅자원:네트워크,데이터베이스,서버,스토리지,애플리케이션등
8. 클라우드컴퓨팅의 장 • 단점
- 클라우드컴퓨팅을 도입하면 사용자 컴퓨팅 자원의 유지보수, 확장, 관리의 부담을 줄일수있음
- 클라우드컴퓨팅자원은 인터넷에 연결되어있기 때문에 해킹으로 사용자 개인정보가 유출될수도있음
- 사용자데이터가 물리적으로 어디에 위치해있는지 특정짓기어려움
- 클라우드컴퓨팅의 특징은 개인정보는 반드시 자국내에 위치한 서버에 보관해야한다는 법과 충돌
9. 클라우드컴퓨팅의 역사
1960~70년대의 호스트-터미널구조는 모든 컴퓨팅자원을 데이터센터에서 중앙집중식으로 구성
사용자컴퓨터는 단순히 데이터센터에 연결하는 단말기 역할 수행
메임프레임 시대
- 메인프레임에 터미널이 접속해서 필요한 자원을 활용하는 방식
- 메인프레임 : 강력한 컴퓨팅자원을 갖춘 컴퓨터
- 터미널 : 적은 리소스의 단말, 콘솔화면에서 메인프레임에 접속해 키보드로 문자를 입력해 지시를 내리는 단순기기
- 메인프레임시대는 PC의 보급으로 종결
클라이언트-서버시대
- 1980년대에 PC가 등장하면서 메인프레임의 일부 역할을 PC에서 실행할 수 있게되면서 클라이언트와 서버구조로 분산
- 클라이언트 : 서비스를 사용하는 사용자 단말
- 서버 : 다수의 클라이언트를 지원하기위해 컴퓨팅자원을 모아둔 컴퓨터
- 역할분산 : 주로 데이터는 서버에 배치하고 애플리케이션은 클라이언트에서 실행하는 구조가 일반적
- 클라이언트와 서버사이의 통신은 인터넷을 이용
- 클라이언트가 필요한 기능을 요청하면 서버가 응답하는 방식으로 상호작용
클라우드컴퓨팅시대
- 초고속 인터넷의 보급으로 웹서비스가 폭발적으로증가하면서 서버의 수요도 증가
- 서비스사용자가 많아질수록 서버의 과부하를 줄이기 위해 컴퓨팅자원을 확장했으나 관리의 복잡도와 난이도는 증가
- 클라이언트-서버구조로는 이러한상황에 대처하기가 버거워지면서 여러가지 공유개념이 해결책으로 등장하기 시작
- 그리드컴퓨팅 : 대용량의 컴퓨팅자원을 언제든지 필요할때 제공한다는 개념, 후에 유틸리티컴퓨팅으로 발전
- 유틸리티컴퓨팅 : 사용한만큼 요금을 지불하는 전기나 수도처럼 종량제로 컴퓨팅자원을 제공
- 그리드컴퓨팅과 유틸리티컴퓨팅의 개념은 가상화 기술과 분산처리기술의 발전에 힘입어 클라우드컴퓨팅으로 발전
- 초기에는 소프트웨어 자체를 제공하는 SaaS에서시작해 PaaS, IaaS 형태의 모델로 성공적으로 안착.
10. 클라우드컴퓨팅 서비스 모델
IaaS :
- 서버의 CPU, 네트워크, 스토리지 등의 컴퓨팅 자원을 인터넷으로 제공하는 형태
- 구성된 서버에 어떤 소프트웨어를 설치하거나 인터넷으로 접근이 가능하도록 네트워크를 설정하는 것이 가능
- 클라우드컴퓨팅의 스토리지 서비스를 이용해 파일을 백업 및 복구하는 목적으로 사용하는 것도 IaaS 에 속함
PaaS :
- 애플리케이션을 구동하는 플랫폼을 서비스로 제공하는 형태
- IaaS 만큼 자유도가 높지는 않지만 PaaS 가 제공하는 서비스를 이용해 고객이 원하는 애플리케이션을 개발하거나 구동
- IaaS가 CPU, 네트워크, 스토리지등의 컴퓨팅 자원자체를 빌리는데초점을 맞추고 있다면 PaaS 는 컴퓨팅자원에 OS, 미들웨어와 같은 좀더 고도화된 기능을 함께 제공
SaaS :
- IaaS, PaaS와 달리 컴퓨팅자원이 아니라 소프트웨어를 서비스로 제공하는 형태
- SaaS는 IaaS, PaaS 보다 자유도는 떨어지지만 제공하는 기능은 가장 많음
FaaS :
- 서버 인프라를 제공하는 IaaS와 달리 애플리케이션을 실행하는 컴퓨팅 시간만큼만 과금하는 서비스모델
- 사용자가 함수만 만들어 올려두면 구동에 필요한 빌드, 실행, 모니터링 등의 나머지 과정을 자동화해 제공하는 방식
- 서버의 유휴 시간에는 별도의 과금이 없으며 최소한의 자원을 사용할 필요가 없음
- 애플리케이션 로직만 올리기 때문에 업데이트과정도 단순하고 빠름
- 사용자가 서버 세팅을 하지않고 애플리케이션만 등록하기 때문에 서버리스컴퓨팅 이라고도 부름
'[스터디] 정보보안' 카테고리의 다른 글
[스터디] 3. 클라우드 (퍼블릭 클라우드) (0) | 2025.02.26 |
---|---|
[스터디] 2. 클라우드 (0) | 2025.02.23 |
[스터디] MITRE ATT&CK (3) | 2024.12.23 |
[스터디] 악성 HWP, HWPX 문서 분석 (0) | 2024.12.21 |
[스터디] HA(High Availability, 고가용성) (1) | 2024.12.04 |