서비스 기획 : 클라우드 서비스 (Iaas /PaaS / SaaS) 특징과 장단점
1.클라우드 서비스란
2.클라우드 서비스 유형
3.클라우드 서비스 종류와 특징 및 서비스의 장단점
4.각 서비스의 활용
1. 클라우드 서비스란
클라우드 (Cloud) - IT 환경 데이터를 인터넷과연결된 중앙컴퓨터에 저장해서 인터넷에 접속하기만 하면 언제 어디서든 데이터를 이용할 수 있는 것.
클라우드(Cloud) 는 내가 작업한 공간을 중앙 컴퓨터(클라우드)에 저장할 경우, 인터넷만 연결되면 디바이스에 상관없이 언제 어디서든 자료에 접근이 가능하며 이런 현상을 마치 여러 장소에서 같은동일한 구름을 관찰할 수 있다는 의미에서 Cloud(구름) 이라 불린다.
클라우드 서비스란
클라우드 컴퓨팅 서비스를 말하며, 인터넷으로 가상화된 IT 리소스를 서비스로 제공하는 것으로 사용자는 소프트웨어를 다운로드 하지 않고 인터넷 엑세스를 통해 서비스 이용이 가능하다.
이 때 클라우드 컴퓨팅이 가상화 하여 서비스로 제공하는 대상은 서버(인프라) , 플랫폼, 소프트웨어이다. 사용자가 주로 인터넷을 통해 엑세스하는 소프트웨어를 클라우드 애플리케이션이라 부른다
클라우드 서비스는 프론트엔드 클라이언트(ex, 사용자의 서버와 사용자의 모든 하드웨어)의 사용자 데이터 흐름을 원활하게 해준다. 사용자는 서비스에 접근하기 위한 하드웨어, 운영체제 및 인터넷 연결 또는 가상 프라이빗 네트워크(VPN) 만 있으면 언제 어디서든 이용이 가능하다.
2.클라우드 서비스 유형
클라우드 서비스 유형
IaaS PaaS SaaS 그리고 FaaS
클라우드 서비스는 서버, 플랫폼 ,소프트웨어를 가상하여 제공한다. 각각의 유형은 서비스로서 제공하는 내역에 따라 구분된다.
서비스로서의 인프라 _ IaaS ( Infrastructure -as -a -Service)
물리적 자원을 가상화하여 제공하고 관리
클라우드 인프라 구성 요소
- 하드웨어 : 클라우드 네트워크는 여러 지리적 위치에 존재하기 떄문에 다양한 물리적 하드웨어로 구성 하드웨어어는 스위치, 라우더, 방화면, 서버 등의 네트워트 장비가 포함된다. 가상화는 서버를
서버를 서로 연결하며 리소스를 나누고 추상화 하여, 사용자가 엑세스 할 수 있도록 함 - 가상화 : 가상화는 하드웨어에서 IT 서비스 및 기능을 분리하는 기술
- 스토리지 : 컴퓨터에서 데이터를 저장하는 공간 또는 그런 공간이 마련된 장치로서 데이터 저정소이다. 가상화는 하드웨어 시스템의 스토리지 공간을 추상화하여 사용자가 클라우드 스토리지에 엑세스 할 수 있도록 함
- 네트워크 : 물리유션, 스위치, 라우터 등의 물리적 리소스를 기반으로 가상 네트워크 생성. 클라우드 리소는 인터넷 또는 인트라넷과 같은 네트워크를 통해 사용자에게 제공되어 온디맨드로 클라우드 서비스나 애플리케이션에 원격으로 엑세스 가능
IaaS는 물리적 자산을 UI 형태의 대시보드 또는 API로 제공한다. IaaS 는 기존의 데이터 센터에서 제공받는 물리적 자산을 가상화하여 제공받기 때문에 서버 사양의 변경등의 물리적 자산의 수정이 필요한 경우 기존의 방식에 비해 훨씬 빠르게 대응이 가능하다. IaaS의 클라이언트는 OS,미들웨어, 애플리케이션 및 데이터와 같은 자원들의 관리가 필요하다.
서비스로서의 플랫폼_ PaaS( Platforms - as-a - Service)
플랫폼 자체 인프라를 통해 하드웨어와 소프트웨어를 호스팅하고 이러한 플랫폼을 사용자에게 솔루션 또는 인터넷을 통해 필요한 IT 인프라를 제공 _ 소프트웨어 개발을 돕는 플랫폼 제공
클라우드 플랫폼 구성 요소
- OS(Operating System) _운영체제 : 컴퓨터 하드웨어를 제어하고 응용 소프트웨어를 위한 기반 환경을 제공하여 사용자가 컴퓨터를 사용할 수 있도록 중재 역할을 하는 프로그램
- 미들웨어 : 분산컴퓨터 환경에서 서로 다른 기종 간의 서버와 클라이언트들을 연결해 주는 중계 소프트웨어 _ 시스템 소프트웨어와 응용 소프트웨어 사이 또는 두 가지 다른 종료의 응용 프로그램 사이에서 조정 및 중계 역할을 하는 프로그램
- 런타임 ( 런타임 라이브러리) : 컴퓨터 프로그램이 실행되고 있는 동안의 동작을 말하며, 개발한 프로그램 코드를 실행하는 도구.
+클라우드 인프라
PaaS는 응용 프로그램 (애플리케이션/ 소프트웨어) 개발을 위해 필요한 하드웨어/ 소프트웨어 사용을 위한 플랫폼을 가상화하여 제공하고 관리한다. 개발자는 PaaS 를 통해 코드 실행에 필요한 인프라의 걱정없이 개발에만 집중할 수 있다.
서비스로서의 소프트웨어 _ SaaS(Software - as-a-Service)
클라우드 애플리케이션(소프트웨어)과 해당 애플리케이션을 실행하는 플랫폼, 플랫폼의 기반 인프라를 제공함으로써, 사용자는 자신의 로컬 디바이스에 애플리케이션을 다운로드 또는 설치할 필요 없이 클라우드 애플리케이션을 브라우저를 통해 웹에 접속하거나 API 로 엑세스 하는 원격 클라우드 네트워크를 통해 이용이 가능하다.
클라우드 소프트웨어 구성 요소
- 애플리케이션 : 응용 프로그램 (서비스)
- 데이터
- : 애플리케이션 등의 서비스를 제공하기 위해 축적하고 활용되는 데이터
+클라우드 플랫폼 구성 요소
SaaS 는 클라이어트를 대신하여 소프트웨어와 데이터 그리고 미들웨어, 서버 등의 모든 잠재적인 기술적 문제를 관리하기 떄문에 고객은 유지 보수 및 자원을 간소화하며 비즈니스에 집중 할 수 있다. SaaS 공급업체 대부분은 구독 모델을 통해 서비스를 제공.SaaS는 특히, 자본 비용(CAPEX) 투자가 아닌 운영 비용 (OPEX) 를 통해 비용 관리를 간소화하고자 하는 기업 또는 개인에게 적합한 솔루션이다.
+추가 / 서비스로서의 기능 _ FaaS(Function -as-a-Service)
서버리 스 컴퓨팅을 구현하는 방식으로 개발자가 자체 인프라를 유지 관리할 필요 없이 애플리케이션 패키지를 기능으로 빌드, 실행, 관리할 수 있도록 제공
서버리스( serverless)란, 개발자가 서버를 관리할 필요 없이 애플리케이션을 비들하고 실행할수 있는 개발 모델로서 두 종류의 서비스를 제공한다.
- 일반적인 서비스로서의 백엔드 _BaaS
: 개발자가 다양한 제3사 서비스와 애플리케이션에 액세스할 수 있게 허용 - 서비스로서의 기능 _ FaaS : 개발자가 서버리스를 언급하는 경우에는 FaaS 모델을 가리키는 경우가 더욱 일반적이다. FaaS의 경우 개발자는 사용자 정의 서버 측 로직을 작성할 수 있지만, 이러한 로직은 클라우드 서비스 제공업체가 전체를 관리하는 컨테이너에서 구동된다.
FaaS 솔루션은 애플리케이션 개발을 위해 엔터프라이즈 IT에 새로운 기능을 대폭 추가하여, 주요 퍼블릭 클라우드에 이용할 수 있다. 일반적으로는 클라우드 컴퓨팅 플랫폼 (PaaS) 형태지만 확장을 통해 온프레미스(소프트웨어를 서버에 직접 설치해 쓰는 방식) 및 하이브리드 배포까지 포괄하고 있다. 최근 PaaS 솔루션은 일반적인 워클플로우의 일부로 서버리스 기능을 제공하여 PaaS와 FaaS 간의 구분이 모호해졌다.
3. 각 서비스의 장단점
IaaS
장점
- 비용 : 물리적 자원을 서버 형태로 사용하기 때문에 고정비가 들지 않는다.
- 속도 : 물리적 자원을 즉시 소비 가능하다.
- 관리 : 1)물리적 자원에 대한 관리를 가상화 영역으로 대체 할 수 있다. 2)물리적 자원에 대한 자동화 배포가 가능하다. 3)물리적 자원에 대한 안정적 운영을 밴더에게 맡길 수 있다. 4)물리적 자원에 대한 규모의 유연성이 높다.
PaaS
장점
- 비용 : 필요한 플랫폼만 소비 형태로 사용하기 떄문에 비용 절감이 가능하다.
- 속도 : 개발 및 배포 프로세스를 빠르게 확보 가능
- 관리 : 1)소프트웨어 유지 관리가 쉬워진다. 2)가상화 기술을 기반으로 구축되어 비즈니스의 방향에 따라 리소스를 쉽게 확장 또는 축소가 가능하다. 3)응용 프로그램 개발, 테스트 및 배포를 지원하는 다양한 서비스 제공 4)수 많은 사용자가 동일한 개발 응용 프로그램에 엑세스 할 수 있다.
단점
- 특정 플랫폼 서비스에 종속 될 수 있다. (개발에 필요한 도구들의 서비스를 제공 받기 때문에 쉽게 다른 플랫폼 서비스 갈아타기 힘들다 )
SaaS
장점
- 비용 : 소프트웨어를 소비 형태로 사용하기 때문에 비용 절감이 가능하다.
- 속도 : 즉시 사용 가능
- 관리 : 1)소프트웨어를 설치한 물리적 자원이 필요하지 않다. 2)장소와 시간에 구애 받지 않고 접근이 가능하다
단점
- 커스터마이징이 어렵다.
4.각 서비스의 활용
IaaS : 빠른 변화를 원한다면
스타트업이나 중소기업처럼 빠르게 성장하는 기업의 경우, IaaS의 요구 사항이 변화하고 발전함에 따라 특정 하드웨어나 소프트웨어에 전념할 필요가 없기 떄문에 시간과 비용을 낭비할 필요가 없다. 또한 필요에 따라 규모의 확장 또는 축소에 대한 유연성이 있기 때문에 새로운 응용 프로그램에 어떤 요구가 필요한지 확실하지 않을 경우 도움이 된다.
PaaS : 신속한 개발을 원한다면
동일한 개발 프로젝트를 수행할 때, 여러 개발자가 있거나 다른 공급업체도 포함해야 하는 경우 PaaS는 전체 프로세스에서 뛰어난 속도와 유연성을 제공하기 떼문에 신속한 개발이 이뤄질 수 있다. 개발과 배포 하는 경우에 발생하는 몇 가지 문제들을 단순화 할 수 있다.
SaaS : 비즈니스에 집중하고 싶다면
보안에 민감한 사항이 아니라면 모든 기업에게 SaaS는 훌륭한 옵션이다. 특히 협업이 필요한 단기 프로젝트라면 SaaS를 도입하는 것이 훨씬 유리하다. 일반적으로 온-프레미스 솔루션은 모바일 엑세스를 지원하지 않기 때문에 모바일 엑세스가 필요한 경우에도 SaaS를 사용하면 비용과 시간을 절약할 수 있다.