클라우드 컴퓨팅이란
- 컴퓨팅 자원이 구름처럼 감춰져 있음을 의미
- 컴퓨팅 자원을 인터넷을 통해 비용을 지불하여 사용하는 주문형 서비스
- 사용자가 직접 컴퓨팅 자원을 구성 및 관리할 필요가 없음
- NIST 정의
- 정보자원을 직접 구매하지 않고 전기나 수도처럼 서비스 형태로 클라우드(데이터)센터로부터 유무선 네트워크를 통해 필요한 만큼만 공급받아 상요하고 사용료 기준으로 임차하는 방식
- 클라우드 컴퓨팅 서비스 제공 방식
- 공공시설을 쓰는 것과 같은 컴퓨팅 환경 : 필요할 때, 필요한 만큼만 사용함(개인이 자원을 소유하지 않음)
- 분산컴퓨팅 환경을 기반으로 노드의 컴퓨팅 자원을 가상화하여 제공 : cpu, 스토리지, 네트워크 등
Amanzon WEB Service(AWs)
- 아마존 클라우드 컴퓨팅사업부를 중심으로 2006년 서비스 런칭시작
- S3(스토리지) 서비스를 시작으로 다양한 서비스가 출시
클라우드 컴퓨팅 소개
1.컴퓨팅 환경의 흐름
컴퓨팅 환경 발전 개요
- 컴퓨팅 환경 핵심 기술의 발전 -> 전반적인 IT분야의 발전
- 존 폰 노이만의 '폰노이만아키텍쳐'를 기점으로 급속 발전
- 네트워크 기술의 발전 -> 인터넷, 모바일 환경의 발전
- 가상화, 분산처리기술의 발전 -> 클라우드 컴퓨팅의 등장
메인프레임(1970~80)
- 초대형 컴퓨터 '메인 프레임'을 중앙에 배치
- 메인프레임이 어플리케이션과 데이터를 집중 처리
- 클라이언트 단말기 '터미널'로 접속함 -> 오직 입출력만 담당
클라이언트서버(1990년대)
- 메인프레임환경 -> pc기반 운영체제 클라이언트/서버 환경
- 서버의 기능 일부를 클라이언트에서 처리
웹기반 네트워크 컴퓨팅(2000년대)
- 고성능 pc와 초고속 네트워크 기반 인터넷이 등장
- 웹 브라우저를 통해 어플리케이션을 처리
- 아마존,구글,페이스북 등 다양한 ICT 기업들이 등장
클라우드 컴퓨팅(2010년대 이후)
- 서버를 소유하지않고 필요할 때마다 사용하는 클라우드 컴퓨팅 환경이 등장
- 80년대 메인프레임-터미널 환경으로 회귀
클라우드/엣지컴퓨팅(2020년대 이후)
- 모든 전자제품이 네트워크로 연결된 사물 인터넷(IoT)이 대세가 됨.
- 빅데이터, 인공지능 관련 매일 발생하는 데이터를 즉각적으로 처리함
- 데이터센서와 기기 사이에 발생하는 지연 시간문제를 해결해야 함
- IoT기기 혹은 가까운 미니 데이터센터를 통해 일부 작업을 분산 처리함 -> 데이터 부하량을 감소시키고 처리 시간을 단축
2. 클라우드 컴퓨팅이란?
- 컴퓨터의 각종 연산 및 처리를 개인 PC가 아닌 인터넷 공간, 즉 클라우드에서 처리하는 방식을 말함
- 인터넷을 구름으로 표현하는 데서 유래
컴퓨팅환경 구축방법
- 소유
- 모든 리소스를 기업 안에서 관리하는 방식
- 온프레미스(on-premise)라고도 함.
- 필요한 컴퓨터 리소스를 모두 구매 및 구축, 운영을 모두 기업에서 수행함.
- 임대
- (리소스를 가진)다른 기업과 계약을 맺고 리소스를 빌리는 형태
- 초기 구축 비용이 비교적 저렴
- 임대기간을 자율적으로 조율하기 어려움, 동적인 컴퓨터 리소스의 증감을 하기 어려움
- 클라우드
- 컴퓨터 리소스를 시간 단위 혹은 분 단위로 임대할 수 있음
- 브라우저 기반의 관리화면을 통해 조작만으로 직접 필요한 컴퓨터 리소스를 준비할 수 있음
- 장애가 발생하는 경우 직접해결하기 어려움
클라우드 요금 할당 방식
- Pay-Per-Use Pricing, 사용량을 기반한 과금 수행, 사용한 만큼만 비용 지불
클라우드 컴퓨팅 예시
- 드랍박스(클라우드스토리지서비스, MIT학부생, USB메모리불편함해결 )
- 구글스프레드시트(웹브라우저를 통해 데이터입력및출력, 구글서버에 저장)
3. 클라우드 컴퓨팅의 장점
- 유연한 IT인프라 관리 : IT인프라를 유동적으로 조정가능
- 비용의 절감 : 인프라구축비용절감
- 탄력성 : 요구량 변화에 따른 온디맨드 방식으로 IT자원 동적으로 확대 및 축소
- 가용성 : 예측되지 않은 서비스 중단을 최소화함, 서버가 죽는 경우 다른 서버로 이전, 서버가 혼잡한 경우 다른 서버로의 증설
- 신속성 : 신규서비스를 위한 테스트 등 가변적인 IT자원요청에 대한 신속한 대응 필요
- 복원성 : 가상머신을 통해 컴퓨팅 인프라 서비스가 제공
- 간편한 글로벌 서비스 : AWS, Azure, GCP 등 전세계 주요 대륙에 데이터센터를 보유(전세계어디서든빠른서비스제공)
- 투명한 사용량 측정 : 클라우드 컴퓨팅 인프라에 대한 사용량은 투명하게 사용자에게 공개
- 빅데이터,인공지능서비스제공
5. 클라우드 서비스 구축 형태
- 퍼블릭 클라우드(Public Cloud)
- 타사 클라우드 서비스 공급자가 소유하고 운영
- 모든 하드웨어,소프트웨어 및 기타 인프라를 클라우드 공급자가 소유하고 관리
- 인터넷을 통해 서버 및 저장소와 같은 컴퓨팅 자원을 제공 (AWS, Azure, GCP 등)
- 프라이빗 클라우드(Private Cloud)
- 단일 비지니스 또는 조직에서 독점적으로 사용되는 클라우드 컴퓨팅리소스를 의미
- 회사의 온사이트 데이터센터내에 배치할 수 있음
- 서비스와 인프라가 개인/기업 네트워크 환경에서 유지 및 관리되는 클라우드임
- 하이브리드 클라우드(Hyvrid Cloud)
- 혼합형 클라우드를 의미함.
- 퍼블릭 클라우드와 프라이빗 클라우드 사이 데이터와 응용을 공유할 수 있도록 함.
6. 클라우드 서비스 운용 형태
- IaaS(Infrastructure as a Service)
- 컴퓨터(가상,전용하드웨어), 데이터스토리지, 네트워킹 기능을 제공
- 높은 수준의 유연성과 관리 제어 수준을 제공
- 넷플릭스는 자체 데이터센터 구축 대신 AWS의 IaaS서비스를 이용
- 수분,수시간 이내에 IaaS로 꾸려 운영가능
- PaaS(Platform as a Service)
- 소프트웨어 서비스를 개발할 때 필요한 플렛폼을 제공하는 서비스
- 소프트웨어 개발 시 필요한 API를 제공
- 소프트웨어 인프라를 고민할 필요 없이 어플리케이션 개발과 관리에 집중
- SaaS(Software as a Service)
- 모든 서비스가 클라우드에서 이루어짐
- 소프트웨어를 구입할 필요 X
- 서비스의 유지관리, 인프라의 관리를 고려할 필요가 없음
- 소프트웨어를 사용하는 방식에 대해서만 고려하면 됨.
- FaaS(Function as a Service)
- 서버 인프라 및 소프트웨어 전반을 전혀 고려할 필요 x
- 함수를 실행하는 데 필요한 컴퓨팅 작동 시간만큼 비용을 지불하면 됨.(AWS Lambda, Azure Function, GCP Cloud Function)
7. 클라우드 핵심 기술
- 가상화(Virtualization)기술
- 하나의 장치를 여러 개로 나누거나(CPU, 메모리), 여러개의 장치를 묶어 하나의 장치인 것처럼 사용자에게 공유자원으로 제공
- 하이퍼바이저(Hypervisor)기술을 통해, 일괄 처리를 수행하는 컴퓨터에 여러 명의 사용자가 동시 엑세스할 수 있도록 함. (물리적인 하드웨어를 논리적으로 가상화하는것을 담당하는기술)
- 가상화기술 : 호스트 가상화(크게 제약사항이 없음, 오버헤드큼), 하이퍼바이저가상화(오버헤드가 적고 직접 하드웨어 접근해 효율적으로 리소스 사용, 콘솔필요), 컨테이너 가상화(오버헤드가적어 가볍고 빠름)
- 로드 밸런싱(Load Balancing)
- 컴퓨터 자원 분산 기술의 일종(부하를 분산하는 방식, 인스턴스로 들어오는 트래픽을 자동분산해 트래픽 병목 현상을 예방하고 네트워크가 효율적으로 동작하도록 하는 것)
- 둘 혹은 셋 이상의 중앙처리장치/저장장치와 같은 컴퓨터 자원들의 작업을 나누는 것을 의미
- 오토스케일링(Auto Scaling)
- 서비스가 집중되었을 때 서버 CPU 및 메모리를 사용량이 일정 사용량을 초과하면 자동으로 가상 서버 대수를 증감시키는 기능
- 접속량이 증가 -> 서버대수를 늘림
- 접속량이 감소 -> 서버대수를 줄임
- 스케일업(Scale-Up)
- 서버 자체의 성능을 업그레이드 해서 처리 능력을 향상
- 수직 스케일(Vertical Scaling)이라고도 함
- 고성능 CPU, 메모리 추가 혹은 가상 서버를 고성능 서버로 옮김
- 스케일아웃(Scale-Out)
- 물리적으로 서버를 늘려서 시스템을 확장
- 서버가 늘어나므로 보통 로드밸런싱과 같이 연계하여 사용
- 모든 서버가 동일한 데이터를 가지고 있어야 하므로 데이터 변화가 적은 서비스에 적합
8.AWS의 시작
- 아마존의 탄생 : 제프 베이조스(창업자)
- AWS, 아마존웹서비스 : 2006년 공식서비스 시작, 첫 서비스는 S3 클라우드 스토리지(3월), 8월에 EC2 서비스 출시
- 리전(Region) : 물리적으로 떨어진 지역에 여러개의 클라우드 인프라를 운영 , 해당 각 지역을 리전이라고 부름 , 물리적으로 멀리 떨어지면 경유 라우터 개수가 많아져서 네트워크 속도가 느려짐 , 가까운 리전에 접속후 클라우드 서비스를 제공해야 빠른속도를 보장
- 가용영역(Avaliability Zone, AZ)
- AWS 서비스 : 리전들의 집합
- 리전 : 가용영역들의 집합
- 데이터 센터(IDC)를 의미함
- 물리적으로는 서로 독립되어 있으나 aws 콘솔에서 구분하지는 않음
- 특정 AZ가 작동 불능이 되어도 다른 AZ가 대체가능함.
- 엣지 로케이션(Edge Location)
- 리전에 속한 '리전 에지 캐시'를 통해 데이터 속도를 개선
- AWS의 CDN서비스인 CloudFront를 위한 캐시서버들의 모음. .
- CDN(Content Delivery Network)
- 오리진서버 및 지리적으로 분산된 여러개의 캐시서버로 구성되어 end-user에게 콘텐츠를 제공하는 네트워크
- 컨텐츠를 서버와 사용자들이 빠르게 받을 수 있도록 전세계 곳곳에 위치한 캐시서버에 복제해주는 서비스
- 최초요청시에는 서버로부터 가져와 고객에게 전송하고 동시에 cdn캐싱장비에 저장 이후에는 cdn캐싱장비에 저장된 콘텐츠를 전송하는 방식
9. AWS 서비스
- EC 2 : 가상화 서버, 타입과 사양설정가능 사용한 만큼 비용 지불
- Auto Scaling : 특정조건에 따라 서버추가/삭제, 사용하지 않는 경우 서버 자동 삭제
- LightSail : 간단한 가상화 프라이빗 서버 제공, 웹 사이트 및 어플리케이션 배포 관리 기능 제공
- Route 53 : 클라우드 기반 DNS 웹 서비스, AWS 위의 다양한 인프라 및 외부 인프라에 연결 가능
- VPC(Virtual Private Cloud) : 가상사설네트워크 인프라를 클라우드 내에 구성, 리전(Region)간 VPC 피어링 구성
- ELB(Elastic Load Balancer) : 로드밸런싱서비스제공
- S3 : 범용적인 스토리지 서비스, 데이터보관및 웹 사이트 호스팅 제공(객체스토리지방식)
- Glacier : 사용빈도가높지않은 데이터 관리에 적합, 데이터를 저렴한 비용으로 장기 보관
- EBS(Elastic Block Storage) : 빠른 속도로 데이터 저장 및 보관 할 수 있는 서비스(블록스토리지방식)
- RDS(Relational Database Services) : 관계형 데이터베이스 서비스 제공
- DynamoDb : NoSQL용 서비스
- ElasticCache : In-memory 기반의 Cache 서비스
- Kinesis : 대량의 데이터를 저장 및 분류, 스트리밍 데이터 및 관련 도구 선택 제공
- Redshift : 데이터 웨어하우스 , 기계학습 ,병럴쿼리실행, 고속디스크 활용
- EMR : 저장된 대량의 데이터 분류, 분석 및 필요한 정보 추출
- CloudSearch : 검색서비스, 중요정보를 모바일로 전달
- SES(Simple Email Services) :외부로 대량의 메일 발송 서비스
- Elastic Transcoder: 동영상을 인코딩할 수 있는 서비스
'공부' 카테고리의 다른 글
내가 볼려고 만든 MYSQL문법 (0) | 2023.10.28 |
---|---|
클라우딩 컴퓨팅 2 (0) | 2023.10.25 |
웹프로그래밍기초 기말 (1) | 2023.06.11 |
소프트웨어공학 - 기말 (0) | 2023.06.06 |
소프트웨어 공학 - 4.객체지향 소프트웨어공학 5.동적모델링 (0) | 2023.04.23 |