[Network] Cloud Computing
Updated:
클라우드 컴퓨팅 기술이 나오기 전까지 기업들은 자신들의 서버를 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 On-premise
방식을 사용해 왔습니다.
온프레미스 방식의 장점은 기업의 비즈니스 정보를 보안성 높게 관리할 수 있다는 점이 었지만 시스템 구축에 많은 시간과 비용이 들어간다는 단점 또한 존재했습니다.
이러한 단점을 보완하기 위해 Off-premise, 또는 클라우드 컴퓨팅
기술이 제시되었습니다.
Cloud computing이란?
클라우드 컴퓨팅이란 필요할때 필요한 만큼만 네트워크를 통해서 사용자가 컴퓨팅 리소스를 사용할 수 있게끔 만들어진 모델을 말합니다.
Computing resource $($e.g. 네트워크, 서버, 저장공간, 어플리케이션 등)
사용자들은 공유 풀$($shared pool)에 접속하여 필요에 맞게끔 컴퓨팅 리소스의 설정을 달리 할 수 있으며 리소스에 대한 접속 환경을 빠르게 구성해서 제공할 수 있습니다. 또한 클라우드 컴퓨팅을 통해 수많은 컴퓨팅 리소스를 쉽게 관리하는 것도 가능 합니다.
예를 들어 할인 행사를 진행하는 온라인 쇼핑 서비스가 있다고 가정해 봅시다. 한꺼번에 많은 트래픽이 몰릴것을 대비해 서버를 늘리고자 한다면 on-premise 방식에서는 사람을 직접 만나서 결제를 올리고 하는등의 복잡하고 시간이 오래걸리는 절차를 밟아야 합니다.
반면 클라우드 컴퓨팅의 경우, 필요한 자원만큼 공유 풀에서 더 할당받고 할당 받은 만큼 더 비용을 내면 됩니다. 또한 on-demand 서비스 이기 때문에 사람을 만나는 등의 복잡한 절차없이 빠르게 자원을 늘리는 것이 가능합니다.
Cloud computing의 특징
1. Resouce pooling
CSP $($Cloud Service Provider)는 multi-tenant 모델의 도움으로 컴퓨팅 리소스를 활용하여 여러 사용자에게 서비스를 제공한다는 것을 의미합니다. 사용자의 요구에 따라 각기 다른 물리적 리소스와 가상 리소스가 할당되고 재할당됩니다.
2. On-Demand
사용자는 서버 가동 시간, 기능 및 할당된 네트워크 스토리지를 지속적으로 모니터링할 수 있습니다. 이 기능을 통해 사용자는 컴퓨팅 기능도 모니터링할 수 있습니다.
3. Easy Maintenace $($간편한 유지관리)
서버를 쉽게 유지관리하고 다운타임이 매우 적으며 경우에 따라 다운타임이 없는 경우도 있습니다. 클라우드 컴퓨팅은 점차 개선되어 매번 업데이트를 제공합니다.
4. Large Network Access
사용자는 장치와 인터넷 연결만으로 어디서든 클라우드의 데이터에 액세스하거나 클라우드에 데이터를 업로드할 수 있습니다. 이러한 기능은 네트워크 전체에서 가능하며 인터넷의 도움을 받아 액세스할 수 있습니다.
5. Availability
클라우드의 기능은 용도에 따라 수정, 확장할 수 있습니다. 스토리지 사용량을 분석하고 필요한 경우 추가 클라우드 스토리지를 구입할 수 있습니다.
6. Automatic System
클라우드 컴퓨팅은 필요한 데이터를 자동으로 분석하고 일정 수준의 서비스에서 측정 기능을 지원합니다.
7. Economical
호스트는 일회성 투자로 스토리지를 구매하고 그중 일부분을 다른 기업들에게 제공하여 연간비용을 절약할 수 있습니다.
8. Security
클라우드 컴퓨팅은 서버중 하나가 손상되더라도 데이터가 손실되지 않도록 저장된 데이터의 스냅샷을 생성합니다.
데이터는 저장 장치 내에 저장되므로 다른 사람이 해킹하여 활용할 수 없습니다.
9. Pays as you go
클라우드 컴퓨팅에서 사용자는 자신이 사용한 서비스나 공간에만 비용을 지불하면 됩니다.
10. Measured Service
클라우드에서 실행 중인 가상 서버 인스턴스 중 하나일 수 있는 리소스 사용량이 서비스 공급자에 의해 측정 및 보고됩니다. 모델 급여는 제조 조직의 실제 소비량에 따라 변동됩니다.
SPI 모델 $($Cloud computing services)
- SaaS $($Software as a Service)
서비스 제공자가 관리하는 어플리케이션을 제공하고 여러 사용자가 하나의 소프트웨어를 네트워크를 통해 접근하여 사용합니다.
multi-tenancy 어플리케이션이며 네트워크 기반으로 동작합니다.
Multi-tenancy : 다수의 사용자가 동일한 소프트웨어를 공유하는 것
SaaS의 단점으로는 CSP의 정책에 의존할 수 밖에 없으며 네트워크 기반이기 때문에 사용자의 bandwidth가 낮은 환경에서는 성능이 저하될 수 있습니다. 또한 사용자의 데이터가 CSP에 노출되어 원치않는 2차 가용이 될 수 있습니다.
- PaaS $($Platform as a Service)
PaaS는 애플리케이션의 구축, 테스트, 배포, 관리 및 수정등의 개발환경을 사용자에게 제공하도록 제작되었습니다.
개발속도가 빠르고 초기 스타트업 자금이 적게 든다는 장점이 있습니다. 하지만 사용자는 제공측에서 어떤 개발 툴을 제공해 주느냐에 의존할 수 밖에 없다는 단점 또한 존재합니다.
- IaaS $($Infrastructure as a Service)
사용자는 가상화된 하드웨어만을 제공받고 어떤 운영체제를 사욜할지, 디스크의 partition은 어떻게 쓸지등을 직접 선택할 수 있습니다. 따라서 서버증설이 쉽다고 싸다는 장점이 있습니다.
참고자료
- https://www.ibm.com/cloud/learn/cloud-computing
- https://data-flair.training/blogs/platform-as-a-service-paas/
Leave a comment