╱╱╭╮╱╱╱╱╱╱╭━━━╮╱╱╱╭╮╱╭╮╱╱╱╱╱╱ ╱╱┃┃╱╱╱╱╱╱┃╭━╮┃╱╱╱┃┃╱┃┃╱╱╱╱╱╱ ╱╱┃┣━━┳━━╮┃┃╱┃┣━╮╱┃╰━╯┣━━┳━╮╱ ╭╮┃┃╭╮┃┃━┫┃╰━╯┃╭╮╮┃╭━╮┃╭╮┃╭╮╮ ┃╰╯┃╭╮┃┃━┫┃╭━╮┃┃┃┃┃┃╱┃┃╭╮┃┃┃┃ ╰━━┻╯╰┻━━╯╰╯╱╰┻╯╰╯╰╯╱╰┻╯╰┻╯╰╯

CS/클라우드 컴퓨팅

[클라우드 컴퓨팅] 클라우드 컴퓨팅 개요, 소개, 5가지 특성 (1, 2, 3)

재안안 2024. 6. 20. 17:19

[1] 개요

[2] 소개

[3] 5가지 특성

 


[1] 개요


Simple SNS (시스템 디자인/확장)
가입 / 등록
- 친구요청 / 수락
- 글쓰기

모듈 (컴포넌트)
- WWW + WAS 서버 하나에
- DB

디자인
1. WWW + DB 컴퓨터 하나에
- 사용자 수가 늘어나면 서비스 품질 저하

2. WWW DB 서버 분리
- 사용자 수가 더 증가면 서비스 품질 저하

3. 웹 서버를 하나 더 추가해서 부하를 반으로 줄이기
-  load balancer 사용 (round-robin도 결국 좋다)
-  lb는 heartbeat 메세지를 통해 각 웹서버 상태를 확인
-  DNS는 웹서버의 주소가 아닌 lb의 주소를 반환
-  DB에서 병목 현상 발생

@vertical scaling : 시스템 장비/부품을 고사양으로 교체 (Scale Up)
- 교체시 서비스가 중단됨
- 성능면에서 장비 또는 기술의 한계 존재
- 새로운 부품의 비용도 비싸고 기존의 부품은 낭비됨 (사용 목적이 같아 다른 용도로 활용이 어려움)

@horizontal scaling : 더 많은 장비를 추가 (Scale Out)
- 서비스 중단x
- 장비 추가시 비용의 부담이 덜하다
- 부하를 분산 시킬 수 있다 (병렬처리)
- 성능 감소시 회수한 장비를 다른 목적으로 사용 가능

4. 디비 서버 추가
-  서버는 이중화 됐지만 데이터 타입에 따라 역할을 분리
- single point of failiure 존재 (lb)

5. Load Balancer 추가
-  lb이중화로 안정성 높아짐
-  high availability 보장을 위해 여분의 장비를 대기시킨다.
-  lb cluster를 사용 
-  lb끼리도 heartbeat 확인

@High Availability
-  서버와 네트워크, 프로그램 등의 정보 시스템이 상당히 오랜기간 동안 지속적으로 정상 운영이 가능한 성질

@HA 클러스터
- 서비스를 제공하는 다수의 장비로 구성된 그룹
- fail over : 하나가 고장나면 클러스터 내의 장비로 대체
- 각 장비의 상태는 active-active 또는 active-standby
- 고정된 가상 IP를 사용하고 해당 IP는 active 장비에 연결됨

6. 사용자 폭발적으로 증가하면?
웹서버 hs + HA clustering
-  각 웹서버는 물리적으로 가깝거나 부하량이 적은 DB를 사용

7. DB 병목현상 생기면?
디비서버 hs + HA clustering
-  HA 클러스터로 묶인 장비들 간에는 주기적으로 heartbeat 체코 및 데이터 동기화 필요
- 같은 역할을 하는 DB는 동기화 필요

8. 캐시 도입
- 접근할 데이터가 캐시 시스템에 있는지 먼저 확인후 db 요청

@Cache
빈번하게 access 되는 데이터를 사전에 캐시 시스템에 저장
- db에서 읽어오는 것보다 응답시간이 빠르다
- 같은 정보를 두번 저장하는 것

9. 갑자기 90%의 사용자가 탈퇴하면?
-  over-provisioning (비용 낭비)
-  hs 방식으로 확장한 경우, 일부 장비를 다른 시스템에 전달

@Provisioning
-  IT인프라를 생성하고 설정하는 프로세스
-  it 자원을 사용할 수 있는 상태로 준비 + 제공까지

10. 이후 사용자가 100배 증가한다면?
서버의 성능을 줄여놓은 상태이므로 다시 확장해야함
- 서버 재배치, OS/SW 설치
- scale up 또는 out시 다 다시해야함
- 운영비 증가 (서버실 운영비, 관리자 인건비 등)

=> 그냥 클라우드 컴퓨팅 사용

 


[2] 클라우드 컴퓨팅 소개


인터넷을 통해, 가상화된 컴퓨터의 시스템 리소스를 요구하는 즉시 제공받아 사용하는 기술 (가상화 기술)
-  pay-as-you-go
-  on-demand resource provisioning
-  scalability
-  elasticity


-  인터넷
-  it 자원 풀링 & 재사용
-  퍼블릭 클라우드 vs 온-프레미스
-  가상화

Utility Computing
-  1961년 존 매카시가 MIT 100주년 기념연설에서 개념 발표
-  2000년대 네트워크의 발전, 가상화기술의 고도화에 의해 구현됨

기성 환경 매커니즘 (ready-made environment)
-  사전에 구성 및 설정이 완료된 IT 자원들로 구성
-  SDK를 제공해서 IT자원에 접근 방식을 지원
-  클라우드 사용자는 즉시 자신의 서비스를 개발 배포할 수 있음

역할에 따른 조직 부분
1. 클라우드 제공자
-  Service Level Agreement
-  클라우드 인프라 운영에 필요한 관리와 통제의 책임이 있음
-  자체 보유한 IT자원으로 서비스하거나 다른 클라우드 제공자의 자원을 재판매

2. 클라우드 소비자
-  클라우드 서비스를 사용하는 조직/개인

3. 클라우드 서비스 소유자
-  법적으로 서비스를 소유한 조직/개인

4. 클라우드 자원 관리자
-  감사관(평가), 중개자, 캐리어(네트워크)

경계
1. 조직적 경계 (물리적 경계)
2. 신뢰 경계 (논리적 경계)

논리 네트워크 경계 (경우들)
-  on-prmise
-  on-premise + 클라우드

 

 

[3] 5가지 특성 (복원력 HA 포함 하면 6가지)
1. 온디맨드 셀프 서비스 (주문형 사용)
-  사용자는 서비스 제공자의 직접적인 개입 없이, 언제 어디서든 원하는 만큼의 컴퓨팅 자원, 네트워크, 스토리지와 같은 자원을 자동으로 프로비저닝할 수 있다.

2. 광대역 네트워크 접근 (유비쿼터스 접근)
-  네트워크를 통해서 다양한 클라이언트 단말 플랫폼을 통해 클라우드 자원에 접근할 수 있다.

3. 리소스 풀링 (멀티테넌시)
-  서비스 제공자의 컴퓨팅 자원은 풀링되어서 다양한 사용자에게 제공 및 회수됨
-  Multi-tenant model : 하나의 자원을 다수의 사용자가 상호 간섭/인지 없이 공유하여 사용하는 것

4. 신속한 탄력성
-  클라우드 자원을 신속하게 프로비저닝하여 배포할 수 있고, 자원의 규모를 확장 또는 축소할 수 있음

5. 사용량 측정
-  자원 사용량을 측정 및 청구
-  pay-as-you-go