티스토리 뷰

Data/Engineering

[DE] Cloud Computing (AWS/AZURE/GCP)

jeong_reneer 2022. 2. 11. 12:01

 

1. Cloud Computing

1) 클라우드 컴퓨팅

(1) 정의

- 컴퓨터의 각종 연산 및 처리를 개인 PC가 아닌 인터넷 공간(클라우드)에서 처리하는 방식

- 인터넷(클라우드)을 통해 Server, Storage, DB, Networking, SW, Analysis, Intelligence 등의 서비스 제공

- 즉, 인터넷(클라우드)을 통해 컴퓨터의 자원을 제공

 

(2) 등장 배경

- 과거 : 주로 서버를 직접 소유해 서버 관리에 대한 직접 권한을 갖고 서버의 모든 자원을 활용하며 독립적 사용

서버(Server) : 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템. 프로그램 또는 장치

- 대규모의 컴퓨팅 파워가 필요하다면, 집에 엄청 큰 서버를 들여야 하는걸까? (효율성, 확장성, 경제성의 문제)

이러한 문제점을 해결하고 효율성, 고성능, 비용 절감, 유연한 서비스로의 전환 등을 이루려는 시도에서 등장

 

2) 장단점

(1) 장점

- 사용자가 HW나 SW를 디바이스에 직접 설치할 필요 없이 필요에 따라 자원 사용 가능

- 모든 Data와 SW가 클라우드 컴퓨팅 네트워크에 집중되어 있기에 손쉽게 다른 장비로 이동 가능

- 사용자의 요구사항에 대해 유연하게 자원을 확장/축소 가능

- 사용한 만큼 비용 지불하는 on demand 방식 (돌발적으로 접속자 수가 늘어나는 경우에 훨씬 경제적)

 

(2) 단점

- 서버의 공격 및 서버 손상으로 인한 개인정보 유출 가능 (모든 서버 컴퓨팅의 단점)

- 제공 업체가 필요로 하는 어플리케이션을 지원해주지 않을 경우 제약 생김

 

 

2. AWS (Amazon Web Service)

: Amazon에서 제공하는 클라우드 컴퓨팅 서비스

1) 특징

다양한 종류의 Computing Server, Storage, DB, Networking, Analysis, Mobile, 개발자도구, 관리도구, IoT, 보안, Enterprise 어플리케이션 등 다양한 서비스 제공 어떤 서비스를 구축할 때 AWS 제공 서비스만으로도 필요한 기능 대부분 구축 가능

- Server : *EC2(Elastic Compute Cloud), Lambda, VPC(Virtual Private Cloud)

   * EC2 : 독립된 서버(인스턴스)를 임대해주는 서비스 → 서버에 필요한 여러 세트를 클라우드에서 대여 가능 

- Storage : S3, EBS (Elastic Block Storage)

- Database : RDS, DynamoDB, RedShift, AuroraDB

- Management : Cloud Watch

- Analysis : Kinesis

 

2) 실습

(1) VM 생성

 

 

(2) VM에서 python 실행

 

(3) VM 중지 혹은 삭제(종료)

인스턴스 사용이 끝났을 때는 반드시 중지 혹은 종료해야 함

그렇지 않으면 사용자가 인스턴스를 계속 사용하는 것으로 판단되어 요금 폭탄..!!

 

 

 

 

3. Azure (Microsoft Azure)

: Microsoft에서 제공하는 클라우드 컴퓨팅 서비스

특징

- 하이브리드 구성 가능 (Windows와 호환성이 높으며, 다른 OS 환경에 대해서도 유연)

- 오픈 플랫폼으로 다양한 OS, DB, 언어에 대응 가능

- 강력한 글로벌 데이터 센터를 가지고 있음

 

 

 

4. GCP (Google Cloud Platform)

: Google에서 제공하는 클라우드 컴퓨팅 서비스

특징

- 오픈 소스 커뮤니티에서 쌓은 높은 명성

- 분석 및 머신러닝에 대한 많은 투자 → 향후 GCP가 관리형 서비스로 자리매김 할 수도 있음

-Big data Application, ML Venture, *Cloud Native Application 을 위한 최적의 옵션

*Cloud Native Application : 어플리케이션 또는 서비스 시스템 관리를 컨테이너 기반 기술로 자동화한 환경 

- Project 단위로 관리 → 해당 Project에서는 자신의 계정이 최종적인 권한을 가지며 사용자 임의 추가 가능

- 각 Project 별 독립적 관리 가능 (다른 결제 계정 사용 가능 / API 사용 설정 다르게 할 수 있음)

'Data > Engineering' 카테고리의 다른 글

[DE] 크롤링  (0) 2022.02.05
[DE] Git  (0) 2022.01.11
[DE] Linux  (0) 2022.01.09
댓글
공지사항