AWS 1 - 클라우드 컴퓨팅
클라우드 컴퓨팅 시작하기
-
네트워크 성능이 향상됨에 따라 최근 각광받는 서비스 중 하나가 클라우드 컴퓨팅 서비스입니다.
-
클라우드 컴퓨팅이란 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 인터넷에 연결된 다른 컴퓨터로 작업을 처리하는 기술입니다.
-
클라우드 컴퓨팅을 서비스하는 대표적인 기업으로 Amazon AWS, Microsoft Azure, Google GCP 등이 있습니다.
-
이중 가장 대중적이고 많은 서비스를 제공하는 AWS를 실습을 통해 알아보도록 하겠습니다.
컴퓨팅 환경의 발전
-
메인프레임(1970~1980) : 초 대형 컴퓨터를 중앙에 배치하고 어플리케이션과 데이터를 모두 메인프레임에서 처리하는 중앙집중식 구조
-
클라이언트 서버(1990년대) : 메인프레임의 일부를 클라이언트 단말에서 처리하는 분산처리식 구조
-
웹기반 네트워크 컴퓨팅(2000년대) : 클라이언트 서버와 같이 분산처리하나 내부망이 아닌 인터넷 기반의 구조
-
클라우드 컴퓨팅 (2010년대) : 네트워크가 24시간 유지가능하게 되며 다시 메인프레임 구조 처럼 중앙집중식이지만 연결은 인터넷으로 구성.
-
분산 클라우드 컴퓨팅(엣지컴퓨팅) : IoT기기등 과 같이 저지연이 필요한 경우 데이터를 중앙데이터 센터까지 보내지 않고 지역 미니 데이터 센터에서 처리하는 방식(Edge)
클라우드 컴퓨팅의 유형
-
웹호스팅: 하나의 서버에 여러 사용자가 사용하는 Paas와 같은 서비스이나 서버, 런타임, 프레임워크 등의 제약이 있습니다.
- 온프래미스: 기존의 전통적인 IT서비스 방식으로 초기 투자비용, 유지 보수 비용이 많이 들며, 서비스 준비에 필요사항이 많습니다.
- (ex. 전산실 구성(H/W), 운영체제 구입, DB 선택, 네트워크 구축, 등등)
- 클라우드 서비스 : 서비스 별로 클라우드 제공자가 서비스를 제공해 주어 사용자는 필요한 부분만 빌려 곧바로 서비스 가능한 유형입니다.
클라우드 컴퓨팅 서비스 유형
-
클라우드 서비스는 어떤 자원을 서비스 제공자가 제공하느냐에 따라 크게 3가지로 구분됩니다.
-
클라우드 서비스 유형
-
On-Premises: 기존에 사용하고 있는 서비스로 전부 처음부터 구축하는 유형
-
IaaS(Infrastructure as a Service) : 네트워킹 기능 컴퓨터 및 데이터 스토리지 공간을 서비스 업체가 제공하는 유형으로 전 세계적으로 서비스하고 강력한 컴퓨팅 환경을 빠르게 구축 가능하다는 장점이있습니다. 대표적으로 NETFLEX가 IaaS를 사용해 서비스 합니다.
-
PaaS(Platform as a Service) : 하드웨어적 부분은 클라우드 제공자가 제공하고 사용자(개발자)는 S/W만 개발하는 방식으로 클라우드 제공자가 관련 리소스를 제공해 주어 효율적으로 작업이 가능한 유형입니다.
-
SaaS(Software as a Service) : 모든 서비스가 클라우드 제공자가 제공해주어 사용자는 인프라에 대한 고민을 할 필요 없이 S/W를 어떻게 사용할 것인지에만 대해서 고려하는 유형입니다.
-
FaaS(Fuction as a Service) : SaaS와 PaaS의 중간정도의 유형으로 클라우드 제공자의 플랫폼에서 완벽하게 실행되는 서버리스 코드로 구성되며 서버관리 할 필요 없이 함수의 설정만으로 구성하는 유형(ex. AWS Lambda)
-
CaaS(Container as a Service) : 경량의 가상 컨테이너를 제공하여 가상서버 + 모니터링 등의 서비스를 제공하는 유형(ex. AWS ECS)
-
클라우드의 핵심기술
-
가상화 기술: H/W에 가까운 S/W로 물리적인 하드웨어 장치를 논리적인 객체로 추상화 하는 기술로 호스트 가상화, 하이퍼바이저 가상화, 컨테이너 가상화 등의 방식이 있습니다.
-
분산처리 기술: 데이터를 여러 서버에 나누어 병렬처리해 효울적인 사용이 가능하고, 이처럼 대량의 데이터를 분산처리해 여러개의 서버를 하나의 서버처럼 보이게 해주는 기술을 클러스터링이라 합니다.
-
서버리스 : 클라우드 컴퓨팅의 실행도멜의 하나로, 클라우드 제공자가 동적으로 가상머신 자원을 항당, 관리해 미리 설정된 서버리스 코드로 실행하는 기술이며, 이벤트 기반의 클라우드 컴퓨팅 기술으로 언제 어디서든 네트워크로 접근이 가능하다는 장점이 있습니다.
-
로드밸런싱: 컴퓨터 자원 분산 기술의 일종으로 둘 이상의 중앙처리 장치 혹은 저장장치 같은 컴퓨팅 자원을 나누는 것으로 서버폭주 시 필요한 기능입니다.
-
스케일 업 : 서버의 성능을 향상시키는 방법으로 내부적으로 서버 자체의 성능을 업그래이드 하여 성능을 향상 시킵니다(수직스케일)
-
스케일 아웃 : 서버의 성능을 향상시키는 방법으로 물리적인 서버의 개수를 증가시켜 성능을 향상 시킵니다.
-
오토 스케일 : 자동으로 서버의 리소스를 나눠주는 기술로, 서버 사용량이 일정량 이상 중가 시 자동으로 가상서버의 대수를 증감하는 기술입니다.