[Cloud] Cloud Computing 기초

TToII·2022년 2월 8일

최근에 Cloud Computing과 관련해 관심이 생겼고, DevOps라는 새로운 개발 문화에 대해 흥미가 있어 Cloud 관련 공부를 시작해보려 한다 !!

더 나아가서 🗓AWS Certified Solutions Architect – Associate(SAA) 자격증 취득까지 염두에 두고 있어 차근히 기초 개념부터 정리해 볼 것 :)

Cloud Computing이란 ?!

물리적으로 서로 다른 위치에 존재하는 다양한 정보들을 웹 기반 애플리케이션을 활용, 대용량 데이터베이스를 가상화 기술로 통합해 제공하는 기술 및 환경을 말한다.

Cloud Computing의 장점

☑️ 유연한 인프라 관리
IT 인프라를 실시간으로 유연하게 조정할 수 있어 인프라 부족, 과도한 인프라 문제가 발생하지 않는다.

☑️ 신속한 인프라 도입
서비스에 가입 후 몇 분 내로 인프라를 도입해서 서비스 구축을 시작할 수 있다.

☑️ 간편한 글로벌 서비스
전 세계 주요 대륙에 데이터 센터를 보유하고 있다. 어디에서나 빠른 서비스를 제공하는 것이 가능해졌다.

☑️ 예상치 못한 트래픽 폭주에 대응
트래픽이 폭주하면 '오토 스케일링' 기술을 통해 재빨리 인프라를 늘릴 수 있다.

☑️ 빅데이터, 인공지능 서비스 확장
기계학습에 필요한 데이터를 쉽게 모을 수 있고, 인공지능 기술을 고도화하기 유리하다.

기존의 서비스 유형들

☑️ 웹 호스팅
클라우드 서비스 이전에 보편적으로 사용되던 유형
하나의 서버에 여러 사용자들을 수용할 수 있고, 사용자간 상호 접근은 격리되며, 코드를 올려 사용자가 원하는 애플리케이션을 작동할 수 있다는 점에서 클라우드 서비스의 PaaS 서비스와 유사하다.

☑️ 온프레미스(On-premise)
기업 시스템에서 지금까지 채택해온 전통적인 IT 서비스 방식
기업이 자체적으로 데이터 센터를 보유하고 시스템 구축부터 운영까지, 모두 수행하는 형태
초기 시스템 투자에 드는 비용 부담이 크고, 시스템 가동 후 운영에 드는 비용도 시스템 사용량과 상관없이 일정 금액을 부담해야 함

클라우드 서비스 운용 형태

☑️ Public 클라우드

  • 인터넷을 통해 서버 및 저장소와 같은 컴퓨팅 리소스를 제공하는 타사 클라우드 서비스 공급자가 소유하고 운영한다. 모든 SW, HW 및 기타 지원 인프라를 공급자(AWS, Azure)가 소유하고 관리

☑️ Private 클라우드

  • 단일 비즈니스 또는 조직에서 독점적으로 사용되는 클라우드 컴퓨팅 리소스를 의미한다. 서비스와 인프라가 개인 네트워크 환경에서 유지 및 관리되는 클라우드이다.

☑️ Hybrid 클라우드

  • 함께 연결된 public 클라우드와 private 클라우드를 결합하는 구조를 의미한다. 데이터 및 응용 프로그램을 public과 private 간에 이동할 수 있도록 만들어져 높은 유연성과 개발 옵션을 제공한다.

클라우드 컴퓨팅 서비스 유형

어떤 자원을 제공하느냐에 따라 크게 3가지로 구분이 된다.
중앙 컴퓨팅 활용도에 따라 IaaS, Paas, SaaS로 나누어진다.
서비스로 제공되는 영역이 더 많아지는 순서이다.

☑️ IaaS(Infrastructure as a Service)

  • 일반적으로 네트워킹 기능, 컴퓨터(가상 또는 전용 하드웨어) 및 데이터 스토리지 공간을 제공한다.
  • IT 리소스에 대해 가장 높은 수준의 유연성과 관리 제어를 제공하며, 기존 IT 리소스와 가장 흡사하다.

✅ 장점

  • 비용
    물리적 자원을 서비 형태로 사용하기 때문에 고정비가 들지 않는다.
  • 속도
    물리적 자원을 즉시 소비할 수 있다.
  • 관리
    물리적 자원에 대한 관리를 논리적인 영역으로 대체할 수 있다.
    물리적 자원에 대한 자동화된 배포가 가능하다.
    물리적 자원에 대한 안정적인 운영을 벤더에 맡길 수 있다.
    물리적 자원에 대한 규모의 확장 또는 축소가 자유롭다.

✅ 단점

🖍 언제 사용해야 하나 ?
빠른 변화를 원할 때

☑️ PaaS(Platform as a Service)

  • 소프트웨어 서비스를 개발할 때 필요한 플랫폼을 제공하는 서비스
  • 사용자는 PaaS에서 필요한 서비스를 선택해 애플리케이션을 개발하고, PaaS 운영 업체는 개발자가 소프트웨어를 개발할 때 필요한 API를 제공해 개발자가 좀 더 편하게 앱을 개발할 수 있게 지원한다. ex) 레고 블록
  • 조직은 기본 인프라(일반적으로 HW, OS)를 관리할 필요가 없어 애플리케이션 개발과 관리에 집중할 수 있다.

✅ 장점

  • 비용
    필요한 플랫폼만 소비 형태로 사용하기 때문에 비용 부담을 덜 수 있습니다.
  • 속도
    개발 및 배포 프로세스를 빠르게 확보할 수 있습니다.
  • 관리
    소프트웨어 유지 관리가 쉬워집니다.
    가상화 기술을 기반으로 구축되어 비즈니스가 변함에 따라 리소스를 쉽게 확장 또는 축소할 수 있습니다.
    응용 프로그램 개발, 테스트 및 배포를 지원하는 다양한 서비스를 제공합니다.
    수많은 사용자가 동일한 개발 응용 프로그램에 액세스 할 수 있습니다.

✅ 단점
특정 플랫폼 서비스에 종속될 수 있다.

🖍 언제 사용해야 하나 ?
신속한 개발을 원할 때 !

☑️ SaaS(Software as a Service)

  • 클라우드 환경에서 운영되는 애플리케이션 서비스를 의미한다.
  • 모든 서비스가 클라우드에서 이루어지는데, 소프트웨어를 구입해서 PC에 설치하지 않아도 웹에서 소프트웨어를 빌려쓸 수 있는 환경을 말한다.
  • 일반적으로 최종 사용자 애플리케이션을 말한다.
  • 서비스의 유지 관리, 기본 인프라 관리를 생각할 필요 없이 해당 소프트웨어의 사용 방법에 대해서만 생각하면 된다.

✅ 장점
비용
소프트웨어를 소비 형태로 사용하기 때문에 비용 부담을 덜 수 있습니다.
속도
즉시 사용이 가능합니다.
관리
소프트웨어를 설치한 물리적 자원이 필요하지 않습니다.
언제 어디서든 접근 가능합니다.

✅ 단점
커스터마이징이 어렵다.

🖍 언제 사용해야 하나 ?
비즈니스에 집중하고 싶을 때

profile
Hello World!

0개의 댓글