AWS 개념, AWS 정의 클라우드 컴퓨팅

 

오늘은 아마존 웹 서비스인 AWS를 알아보겠습니다!

 

Amazon Web Servicee 의 약자인데요, 아마존 웹서비스는 매출이 가장 큰 클라우드 공급 업체입니다.

클라우드의 핵심적인 아이디어는, 인터넷으로 또 다른 컴퓨터(크고, 복잡하고, 성능이 좋은)를 연결해 사용할 수 있는 것입니다. 아마존 웹서비스는 아마존이 제공하는 클라우드 서비스(줄여서 AWS)를 이용해서 컴퓨터 작업을 진행할 수 있습니다.

 

AWS는 클라우드 컴퓨팅이라고 할 수 있는데요, 클라우드 컴퓨팅을 설명하기 앞서 간략하게 클라우드 개념을 정의해보면, 각각 고유의 기능을 가진 서버의 글로벌 네트워크라고 할수 있습니다. 클라우드 컴퓨팅은 이러한 글로벌 네트워크를 통해 제공되는 서버, 데이터베이스, 스토리지, 소프트웨어 등 필요한 IT 자원을 받아서 사용하는 기술을 의미합니다. 
간단히 말해 인터넷을 통해 제공되는 하드웨어나 소프트웨어와 같은 컴퓨터 자산을 빌려 쓰고, 사용한 만큼만 비용을 지불하는 것을 말합니다. 클라우드 컴퓨팅에는 일반적으로 어떠한 서비스를 제공하느냐(빌려쓰느냐)에 따라 다음과 같이 세 가지 유형으로 구분합니다.

1. SaaS (Software as a Service) : 서비스로서의 소프트웨어

2. PaaS (Platform as a Service) : 서비스로서의 플랫폼

3. IaaS (Infrastructure as a Service) : 서비스로서의 인프라

 

클라우드 컴퓨팅의 장점을 보시면

비용 및 시간 절감
웹서비스를 하기 위해선 인프라 구축이 필수입니다. 이를 위해 IDC센터 선택, 서버 및 네트워크 장비 구매 등 많은 시간과 비용을 투자해야만 합니다. 즉, 초기투자 비용이 크고, 그만큼 리스크도 크게 됩니다. 서비스가 성공하면 성공한 대로, 실패하면 실패한 대로 추가 비용에 대한 이슈가 발생하기 마련인데 클라우드의 경우 초기 투자비용이 작기 때문에 진입장벽이 낮고, 상황에 따라 유연한 대처가 가능합니다.

사용 편의성
IDC센터에 방문하지 않고, 사무실에서 클릭 몇 번만으로 서버 및 네트워크 작업을 마칠 수 있다는 점은 아주 큰 매력이 아닐 수 없습니다. 또한 HW에 대한 전문지식이 부족하더라도 구축 및 운영하는데 큰 무리가 없다는 점도 큰 장점이라고 할 수 있습니다. 

유연성(탄력성, 확장성)
필요에 따라 탄력적으로 확장 및 축소가 가능하다는 점은 정말 큰 장점이 아닐 수 없습니다.
보통 웹서비스는 사용량이 많고 적은 기간(시간대)가 존재합니다. 예를 들어 게임의 경우, 퇴근(혹은 하교)시간 이후에 사용량이 급증하다가 새벽무렵에 급감하게 됩니다. 사용자가 몰리는 몇시간을 위해 서버(인프라)를 확충하는 것은 운영사 입장에선 아주 큰 부담이 아닐 수 없습니다. 사용량에 따라 탄력적(자동)으로 인프라를 증설 및 축소 할 수 있다는 점은 클라우드 서비스가 가지는 가장 큰 장점으로 보여집니다.

 

AWS는 기능면에서나 뛰어난 서버리스(ServerLess) 제품입니다. 다른 서비스 공급업체의 옵션을 선택할 수 있는데요,

구글 클라우드 엔진(Google Cloud Engine)의 구글 클라우드 기능을 사용하면 Node.js로 서버리스 코드를 실행하고 구글 클라우드 데이터스토어를 서버리스 데이터베이스로 사용할 수 있습니다. 구글은 스토리지, 인증, 메시징을 지원하는 모바일, 웹 애플리케이션을 위한 많은 도구를 제공하고 서버리스 서비스를 제공하는 파이어베이스 플랫폼을 통합했습니다.

마이크로소프트 애저(Azure)가 있는데요, C#, Nodes.js, 파이썬, PHP를 지원하는 서버리스 코드실행을 위한 애저 함수를 제공합니다.

IBM 클라우는 C#, Node.js, Java, Swift를 지원하는 서버리스 코드 실행을 위한 IBM 블루믹스 오픈위스크를 제공합니다.

 

AWS 계정을 만들게 되면 모든 권한을 가진 루트 사용자가 됩니다. 루트 사용자는 모든 서비스를 생성, 삭제하고 시작, 정지할 수 있습니다. AWS는 사용자 활동, API 사용 추적을 위해 클라우드트레일(CloudTrail) 도구를 제공하고 있습니다.

ID와 액세스관리(IAM)를 사용해 접근제어가 가능한 사용자 계정과 애플리케이션 키를 생성하는 방법을 알아야 합니다. 

 

아마존 코그니토(Cognito)

 -  다양한 플랫폼 기반에서의 앱 연동 방식에 대한 사용자의 기대가 변화하는 상황에서 나왔는데요, 문제를 해결하려는 아마존 솔루션 중 하나입니다. 다양한 플랫폼상에서 사용자 데이터를 손쉽게 호환시킬 수 있습니다. 계정을 인증한는 방법을 제공하는 것과 그 이상으로 여러 장치 간에 데이터를 쉽게 동기화 하는 기능도 제공합니다. 코그니트 계정으로 로그인 하면 환경설정, 사용자 프로필, 저장된 게임 데이터와 같이 사용자별 데이터를 저장하고 검색하는데 사용되는 임시 AWS 토근을 받게 됩니다.

 

 

 

반응형