AWS Cloud

박기원·2022년 5월 25일
0

AWS

목록 보기
1/11
post-thumbnail

클라우드 컴퓨팅 기술

클라우드 컴퓨팅은 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 인터넷에 연결된 다른 컴퓨터로 처리하는 기술을 의미한다.

컴퓨터 처리 자원을 공유하고 데이터를 컴퓨터오 다른 장치들에 요청 시 제공한다.

구성 가능한 컴퓨팅 자원
ex) 컴퓨터 네트워크, 서버, 스토리지, 애플리케이션, 서비스
에 대해 어디서나 접근이 가능한, 주문형 접근을 가능케하는 모델이며 최소한의 관리 노력으로 빠르게 예비 및 릴리스를 가능케 한다.

클라우드 종류

  • 프라이빗 클라우드

폐쇄형 클라우드(Private Cloud, 프라이빗 클라우드)는 오직 하나의 회사 또는 단체를 위해서만 운영되는 클라우드 인프라스트럭처의 하나로, 내부적으로나 서드파티에 의해 관리를 받거나 내외부적으로 호스팅된다.

  • 퍼블릭 클라우드
    공개형 클라우드(Public Cloud, 퍼블릭 클라우드)는 공개적 이용을 위해 열린 네트워크를 통해 렌더링되는 클라우드이다. AWS, 마이크로소프트, 구글과 같은 공개형 클라우드 서비스 제공자들은 자신들의 데이터 센터를 소유, 운영하고 있으며 접근 방법은 일반적으로 인터넷을 이용한다. AWS와 마이크로소프트는 각각 "AWS Direct Connect"와 "Azure ExpressRoute"라는 직접 연결 서비스들을 제공하며, 이러한 연결은 클라우드 제공자가 제공하는 피어링 포인트에 대한 폐쇄형 연결의 구매나 임대를 고객에게 요구한다.

  • 멀티 클라우드
    멀티 클라우드는 여러 퍼블릭 클라우드, 하이브리드, 온프레미스 및 엣지의 상위 세트이다. 멀티 클라우드 배포 모델은 다른 프라이빗 클라우드 또는 온프레미스 인프라의 사용과 관계없이, 컴퓨팅 또는 스토리지 리소스에 대해 둘 이상의 퍼블린 클라우드 서비스 공급업체를 사용한다. 프라이빗 클라우드 또는 온프레미스 인프라를 포함하는 멀티 클라우드 구축은 하이브리드 멀티 클라우드로 간주된다. 멀티 클라우드 전략은 기업이 사용하기로 선택한 클라우드 서비스에 대해 더 많은 유연성을 제공할 뿐만 아니라 단일 클라우드 호스팅 공급업체에 대한 의존도를 줄인다.

  • 하이브리드 클라우드
    혼합형 클라우드(Hybrid Cloud, 하이브리드 클라우드)는 뚜렷한 실체는 유지하지만 함께 묶여있는 둘 이상의 클라우드(폐쇄형, 커뮤니티, 또는 공개형)의 조합으로, 여러 개의 배치 모델들의 이점을 제공한다. 혼합형 클라우드는 병설(Collocation), 매니지드 및 데디케이티드 서비스를 클라우드 자원과 연결하는 기능을 의미할 수도 있다. 가트너는 혼합형 클라우드를 다른 서비스 제공자들로부터 제공되는 폐쇄형, 공개형, 커뮤니티 클라우드 서비스들이 어느 정도 복합된 하나의 클라우드 컴퓨팅 서비스로 정의하고 있다.

Public Cloud

미국 국립표준기술협회 공식 정의
"관리 노력과 서비스 공급자의 상호 작용을 최소화하면서 신속하게 제공하거나 해제할 수 있는 구성 가능한 컴퓨팅 리소스의 공유 풀에 어디서나 편리하게 필요한 시점에 네트워크로 접근할 수 있게 하는 모델이다."

  • 퍼블릭 클라우드 서비스 마켓 쉐어

퍼블릭클라우드를 사용하는 이유

  • 용이한 IT인프라 자원 관리
  • 빠른 인프라 구축 속도
  • 신속한 글로벌 서비스 전개
  • 급중하는 과폭주 트래픽에 대한 자동 확대 조정
  • 다양한 서비스로의 확장성 제공

서비스로서의 퍼블릭 클라우드 유형

- IaaS [ Infrastructure as a Service ]

서비스로서의 인프라 또는 IaaS는 온프레미스 인프라에서 한층 발전한 유형입니다. 이는 종량제 서비스로, 필요한 경우 제3사가 스토리지와 가상화와 같은 인프라 서비스를 인터넷을 통해 클라우드로 제공합니다.

사용자는 운영 체제 및 데이터, 애플리케이션, 미들웨어 및 런타임을 담당하고 제공업체는 사용자가 필요로 하는 네트워크, 서버, 가상화 및 스토리지의 관리와 액세스를 담당합니다.

제공업체가 사용자를 대신해 온사이트 데이터센터를 유지관리하거나 업데이트합니다. 대신, 사용자는 애플리케이션 프로그래밍 인터페이스(API) 또는 대시보드를 통해 인프라에 액세스하고 이를 제어합니다.

IaaS는 필요한 구성 요소만 구매하고 필요에 따라 확장 또는 축소할 수 있는 유연성을 제공합니다. IaaS는 간접비가 낮고 유지관리 비용이 들지 않는 매우 경제적인 옵션입니다.

IaaS는 개발 및 테스트 환경의 구축 및 제거가 빠르고 유연하다는 장점이 있습니다. 사용자는 개발 환경에서 구축해야 할 인프라만 사용하고 필요에 따라 확장 또는 축소하며, 개발이 완료되면 사용을 중단하고 사용량에 대한 비용만 지불합니다.

IaaS의 주요 단점은 제공업체의 보안 문제 가능성, 제공업체가 여러 클라이언트와 인프라 리소스를 공유해야 하는 멀티 테넌트 시스템 및 서비스 신뢰성입니다. 탄탄한 업력과 평판을 보유한 신뢰할 수 있는 제공업체를 선택하면 이러한 단점을 방지할 수 있습니다.

AWS, Microsoft Azure, Google Cloud와 같은 퍼블릭 클라우드 공급업체가 IaaS의 예시입니다.

- PaaS [ Platform as a Service ]

서비스로서의 플랫폼(PaaS)은 전체 온프레미스 인프라 관리가 조금 더 발전한 형태입니다. PaaS에서는 제공업체가 자체 인프라에서 하드웨어와 소프트웨어를 호스팅하고 이러한 플랫폼을 사용자에게 통합 솔루션, 솔루션 스택 또는 인터넷을 통한 서비스로 제공합니다.

주로 개발자와 프로그래머에게 유용한 PaaS는 보통 해당 프로세스와 관련된 인프라 또는 플랫폼을 구축하고 유지관리할 필요 없이 사용자가 자체 애플리케이션을 개발, 실행 및 관리할 수 있도록 해줍니다.

사용자는 애플리케이션 코드를 작성, 빌드, 관리하지만 소프트웨어 업데이트 또는 하드웨어 유지관리와 같은 번거로움이 사라집니다. 빌드 및 배포를 위한 환경이 사용자에게 제공됩니다.

PaaS는 개발자가 프레임워크를 개발하여 지속적으로 웹 기반 애플리케이션을 빌드 및 커스터마이징할 수 있는 방법입니다. 개발자는 기본 소프트웨어 구성 요소를 활용하여 자체 애플리케이션을 개발할 수 있으므로 자체적으로 작성해야 하는 코드의 양을 줄일 수 있습니다.

PaaS의 몇 가지 예로는 AWS Elastic Beanstalk, Heroku 및 Red Hat OpenShift가 있습니다.

- SaaS [ Software as a Service ]

서비스로서의 소프트웨어(SaaS) 또는 클라우드 애플리케이션 서비스는 가장 포괄적인 형식의 클라우드 컴퓨팅 서비스로, 모든 애플리케이션은 제공업체가 관리하며 웹 브라우저를 통해 제공됩니다.

제공업체가 소프트웨어 업데이트, 버그 수정 및 기타 일반 소프트웨어 유지관리 작업을 처리하며, 사용자는 대시보드 또는 API를 통해 애플리케이션에 연결합니다. 개별 시스템에 소프트웨어를 설치할 필요가 없으며 프로그램에 대한 그룹 액세스가 더욱 원활하고 안정적입니다.

Outlook이나 Gmail과 같은 웹 기반 서비스가 지원되는 이메일 계정이 있다면 어디서든 컴퓨터에서 계정에 로그인하고 이메일을 수신할 수 있다는 점에서 SaaS라는 형태가 이미 익숙할 것입니다.

SaaS는 소프트웨어 설치 및 업데이트를 처리할 인력이나 대역폭이 없으며 최적화가 그다지 필요하지 않거나 주기적으로 사용되는 애플리케이션이 있는 소기업에 매우 유용한 옵션입니다.

SaaS로 시간과 유지관리를 줄일 수 있지만 제어, 보안 및 성능과 관련한 비용이 소요되므로 신뢰할 수 있는 제공업체를 선택하는 것이 중요합니다.

Scale Up 과 Scale Out

  • Scale Up

쉽게 말하면 기존의 서버를 보다 높은 사양으로 업그레이드하는 것을 말한다. 하드웨어적인 예를 들면, 성능이나 용량 증강을 목적으로 하나의 서버에 디스크를 추가하거나 CPU나 메모리를 업그레이드시키는 것을 말한다.

이처럼 하나의 서버의 능력을 증강하기 때문에 수직 스케일링(vertical scaling)이라고도 한다.

소프트웨어적인 예로는 AWS의 EC2 인스턴스 사양을 micro에서 small, small에서 medium 등으로 높이는 것으로 생각하면 된다.

  • Scale Out

스케일 아웃(Scale-out)은 장비를 추가해서 확장하는 방식을 말한다.

기존 서버만으로 용량이나 성능의 한계에 도달했을 때, 비슷한 사양의 서버를 추가로 연결해 처리할 수 있는 데이터 용량이 증가할 뿐만 아니라 기존 서버의 부하를 분담해 성능 향상의 효과를 기대할 수 있다.

서버를 추가로 확장하기 때문에 수평 스케일링(horizontal scaling)이라고도 불린다.

클라우드 서비스에서는 자원 사용량을 모니터링하여 자동으로 서버를 증설(Scale Out)하는 Auto Scaling 기능도 있다.

0개의 댓글