Cloud Computing - AWS (1) Basic

Alex of the year 2020 & 2021·2020년 9월 18일
0

AWS, Cloud

목록 보기
1/5
post-thumbnail

Cloud Computing

서로 다른 물리적인 위치에 존재하는 컴퓨터들의 리소스를 가상화 기술로 통합해 제공하는 기술
IT 리소스를 인터넷을 통해 On-Demand로 제공하고 사용한 만큼만 비용을 지불하는 것
기존의 On-Premise(온프라미스) 방식과 반대되는 개념

X: 물리적 데이터 센터와 서버를 구입, 소유 및 유지 관리
O: Amazon Web Services(AWS)와 같은 클라우드 공급자로부터 필요에 따라 컴퓨팅 파워, 스토리지, 데이터베이스와 같은 기술 서비스에 액세스

개발자와 IT 부서가 가장 중요한 문제에 집중하고
구매, 유지 관리 및 용량 계획과 같은 획일적인 작업은 피할 수 있는 역량을 제공

For Whom

모든 유형, 규모 및 산업의 조직이 사용

For What

데이터 백업, 재해 복구, 이메일, 가상 데스크톱, 소프트웨어 개발 및 테스트, 빅 데이터 분석, 고객 대상 웹 애플리케이션 등 다양한 사용 사례
ex.
의료 회사: 클라우드를 사용하여 환자를 위한 좀 더 개인화된 치료법을 개발
금융 서비스 회사: 클라우드를 사용하여 실시간 부정 행위 탐지 및 예방
비디오 게임 제작자: 클라우드를 사용하여 전 세계 수백만 명의 플레이어에게 온라인 게임을 제공

Pros

🍎 민첩성

  • 컴퓨팅, 스토리지 및 데이터베이스와 같은 인프라 서비스부터 사물 인터넷, 기계 학습, 데이터 레이크 및 분석 등에 이르기까지 필요에 따라 리소스를 빠르게 구동
  • 단 몇 분 만에 기술 서비스를 배포할 수 있으며 이전보다 몇 백배나 더 빠르게 아이디어 구현 가능.
  • 자유로운 실험, 새로운 아이디어를 테스트 --> 고객 경험 차별화, 비즈니스 혁신

🍎 탄력성

  • 사전에 리소스 오버 프로비저닝 필요 X (실제로 필요한 만큼만 리소스를 프로비저닝)
  • 비즈니스 요구가 변화함에 따라 리소스를 확장 or 축소하여 용량을 즉시 늘리거나 줄일 수 있음

🍎 비용 절감

  • 자본 비용(데이터 센터, 물리적 서버 등)을 가변 비용으로 전환
  • 사용한 만큼만 IT 비용을 지불
  • 규모의 경제로 인해 직접 운영할 때보다 가변 비용이 훨씬 더 저렴

🍎 빠른 배포 및 UX 향상

  • 몇 분 만에 새로운 지리적 리전으로 확장 및 전 세계에 배포 가능
    ex. AWS는 전 세계에 인프라 산재 --> 클릭 몇 번으로 여러 물리적 위치에 애플리케이션을 배포
  • 애플리케이션을 최종 사용자와 근접하게 배치 시 지연 시간 단축 및 사용자 경험 향상

Types - IaaS, PaaS, SaaS

클라우드 컴퓨팅의 인기가 올라가면서 사용자의 각자 다른 필요를 충족시키기 위한 몇 가지 모델 및 배포 전략이 생겨남
클라우드 서비스와 배포 방법은 유형별로 각기 다른 수준의 제어, 유연성 및 관리를 제공
--> 서비스로서의 인프라(IaaS), 서비스로서의 플랫폼(PaaS), 서비스로서의 소프트웨어(SaaS) 각각의 차이를 이해하여 어떤 배포 전략을 사용할 수 있는지 파악하는 것이 중요

IaaS

  • 서비스로서의 인프라 (개발사에 제공되는 물리적 자원을 가상화)
  • 클라우드 IT의 기본 빌딩 블록을 포함
  • 일반적으로 네트워킹 기능, 컴퓨터(가상 또는 전용 하드웨어) 및 데이터 스토리지 공간을 제공
  • IT 리소스에 대해 가장 높은 수준의 유연성과 관리 제어를 제공
  • 가상 호스팅(VM Hosting)과 비슷하나 가상 호스팅은 사용자가 직접 장비를 사서 그 장비 안에서 자원을 할당하고 구성해야 하지만, IaaS는 기업이 준비해놓은 환경에서 사용자가 선택할 수 있다는 점에서 차이가 있음
  • 관리 측면에서 개발자와 인프라 관리자의 역할을 분담시킬 수 있음
  • 대표적인 예: AWS의 EC2, Microsoft Azure, Google Compute Engine(GCE)
    AWS의 EC2를 이용 시 물리적인 서버와 Network, Storage 등을 직접 구매하거나 준비하지 않아도 원하는 OS를 깔아 서버로 사용할 수 있음
    사용자가 원하는 OS를 고르고 그에 해당하는 스펙을 선택하기만 하면, 나머지는 모두 아마존에서 지원
    OS의 종류나 다양한 자원들을 사용자가 선택하므로 대표적인 IasS

PaaS

  • 서비스로서의 플랫폼 (개발사에 제공되는 플랫폼을 가상화)
  • 기본 인프라(일반적으로 하드웨어와 운영 체제)를 관리할 필요가 없어 애플리케이션 개발과 관리에만 집중 가능
  • 즉, 애플리케이션 실행과 관련된 리소스 구매, 용량 계획, 소프트웨어 유지 관리, 패치 또는 다른 모든 획일적인 작업에 대한 부담을 덜어 더욱 효율적
  • IaaS와 헷갈릴 수 있는데 아마존과 같은 서비스가 VM을 제공하는 IaaS라면, PaaS는 node.js, Java와 같은 런타임을 미리 깔아놓고, 거기에 소스코드를 넣어서 돌리는 구조. 즉 사용자는 소스코드만 적어서 빌드 하고 컴파일은 클라우드에서 하여 결과만 가져오는 거라고 생각하시면 됩니다.
  • PaaS는 기본적으로 어플리케이션과 플랫폼이 함께 제공: 어플리케이션이 플랫폼에 종속되어 개발되기 때문에 다른 플랫폼으로의 이동이 어려울 수도 있음
  • 대표적인 예: Heroku, Google App Engine, IBM Bluemix, OpenShift, Windows Azure

SaaS

  • 서비스로서의 소프트웨어 (고객에게 제공되는 소프트웨어를 가상화)
  • 서비스 제공자에 의해 실행되고 관리되는 완전한 제품을 고객에게 제공
  • 대부분의 경우 서비스로서의 소프트웨어라고 하면 최종 사용자 애플리케이션을 말함
  • SaaS 오퍼링을 사용하면 서비스가 어떻게 유지 관리되는지 또는 기본 인프라가 어떻게 관리되는지 생각할 필요 X --> 해당 특정 소프트웨어를 어떻게 사용할지만 생각하면 되므로 UX 매우 향상 (그냥 웹만 접속하면 됨)
  • 또한 최신 SW 업데이트를 빠르게 제공받을 수 있음 --> 사실상 기업 입장에서도 클라우드에 SW가 있기 때문에 따로 업데이트를 하지 않아도 접속한 사용자는 최신 SW를 사용하게 될 수 있는 것
  • 대표적인 예: 이메일 제품용 추가 기능을 관리할 필요가 없고 이메일 프로그램이 실행되는 서버 및 운영
    체제를 유지 관리하지 않고 이메일을 보내고 받을 수 있는 웹 기반 이메일, 구글 클라우드, 네이버 클라우드

다시 한 번 그림으로 정리



references:
https://aws.amazon.com/ko/types-of-cloud-computing/?WICC-N=tile&tile=types_of_cloud
https://wnsgml972.github.io/network/2018/08/14/network_cloud-computing/
https://www.whatap.io/ko/blog/9/

profile
Backend 개발 학습 아카이빙 블로그입니다. (현재는 작성하지 않습니다.)

0개의 댓글