2010년 자료
서론
-인터넷 서비스를 새로 시작할 때 더 이상 hardware를 직접 사서 구비하거나 운영하는 데 인력을 고용할 필요가 없어짐.
-서비스가 생각했던 것보다 안되거나 더 잘되었을 때, 비용 낭비나 소비자 요구를 감당하지 못하는 문제에 대한 걱정도 하지 않아도 됨.
-이 기사는 Cloud Computing에 대한 정확한 정의와 간단한 자료들을 통해 기술적이거나 비기술적인 cloud computing의 장애물이나 기회들에 대해 알아볼 것
Defining Cloud Computing
-데이터센터의 하드웨어와 소프트웨어가 우리가 말하는 cloud이며, 이를 쓰고 싶은 만큼 쓰고 비용을 지불할 수 있으면 이를 public cloud라 하며 이것의 팔리는 형태를 utility computing이라고 함.
-private cloud은 대중적으로 이용되기 위한 목적이 아니라 내부적으로 어느 기업이나 단체가 이용하기 위해 데이터센터를 구축하는 것을 의미
hardware provisioning과 가격에 대한 관점에서의 3가지 새로운 요소
-원할때 원하는 만큼의 컴퓨팅 자원을 쉽고 빠르게 빌릴 수 있음
-up-front commitment, 즉 서비스하는 사람이 모든 컴퓨팅 자원들을 미리 계약해서 어느 기간동안 빌려야 하는 의무가 사라지고, 회사의 성장에 맞게 컴퓨팅 자원을 빌려나갈 수 있음.
-기존과 다르게 컴퓨팅 자원을 짧은 기간(1시간, 하루)정도만 빌리는 것이 가능해짐
-데이터 센터를 좋은 입지에 크고 효율적으로 운영되게끔 지어서 기존에 지었던 중간 사이즈의 데이터센터보다 싸게 제공하면서도 수익을 낼 수 있음.
-private cloud와 public cloud를 함께 혼용하는 surge computing or hybrid cloud computing
Classes of Utility Computing
-자동적인 컴퓨팅 자원의 할당과 관리가 이루어져야 함.
-Amazon은물리적인 하드웨어 수준만 제공하는 IaaS로 시작했기에 자동적인 관리를 하는 툴을 제공하기 어려웠음
-구글 AppEngine은 소프트웨어 수준까지 정해놓는 SaaS수준이기에 유저의 자유도는 떨어짐. 그러나 automatic scaling, high-availability의 장점이 존재
-Microsoft의 Azure는 PaaS수준으로 위 둘의 중간점에 있어 어느정도 자유도를 제공
Cloud Computing Economics
Utility Computing이 전통적인 hosting방식보다 좋은 예시 3가지
-서비스에 대한 수요가 시간에 따라 변화할 때
-서비스에 대한 미래의 수요를 예측할 수 없을 때
-한번에 몰아서 처리하는 batch 작업의 경우 컴퓨터 1대로 1000시간 처리하는 것보다 컴퓨터 1000대로 1시간 처리하는 것이 이득
-마치 이동통신에서 데이터를 쓴만큼 요금을 내는 것과 같이 클라우드 컴퓨팅에서도 사용한만큼만 지불할 수 있으며 이는 그때그때 사용하고 지불함.
-앞으로 사용해야 할 양에 대해 미리 지불해놔야 하는 up-front capital 방식과 대비하여 남는 금액을 다른 비즈니스적인 측면에 투자할 수 있음.
-서비스는 피크시간에 대해 버틸 수 있도록 서버를 구비해둬야함. 직접 사서 서버를 구비한다면 이 피크시간에 대응할 수 있는 수준으로 구비해둬야 하므로 비용이 비싸지만, utility computing을 활용한다면 그때그때 필요한 만큼만 빌리면 되기에 평균적으로 싸진 비용으로 서비스 할 수 있음.
(서비스 이용량이 적은 새벽 시간대에는 오히려 자원을 거의 빌리지 않는 다는 점을 기억하자 + 심지어 공휴일이나 크리스마스 등 특정 기간동안만 트래픽이 폭주하는 경우도 존재하므로 더더욱 차이는 벌어진다)
-Animoto라는 회사의 실제 트래픽 급증 예시를 들면서 원할때 필요한 만큼의 scale-up을 가능하게 하는 utility computing이 필요한 이유를 다시 한번 상기시킴
Top 10 Obstacles and Opportunities for Cloud Computing
- Business Continuity and Service Availability
-기존 Google의 SaaS 제품을 통해 높은 가용성은 이미 어느정도 입증되었지만, 새로운 서비스가 이 정도 수준으로 끌어올리기는 어려움이 존재
-한 바구니에 계란을 전부 담지 말라는 속담과 같이 하나의 기업에서 아무리 여러 데이터 센터를 다양한 지역에 지어놓은다 한들, 비슷한 소프트웨어 인프라로 지었을 것이라 문제가 동시다발적으로 터질 수도 있으며, 심지어는 회사가 망할 수도 있다.
-따라서 다양한 cloud computing provider가 존재하고, 둘 이상의 cloud computing provider에 걸쳐서 서비스를 해야하는 것이 그나마 가능한 방안 - Data Lock-In
-cloud computing을 서비스하기 위한 storage api들이나 어느정도의 표준화 작업은 존재하는데 이것이 cloud computing provider마다 다르므로 migration에 어려움이 존재한다는 문제점
-api의 표준화가 이루어져야 함 + hybrid cloud computing의 적용을 통해 어느정도 해소가능 - Data Confidentiality and Auditability
-민감한 정보를 외부의 다른 곳에 저장할 수 있는지의 문제
-cloud user는 application-level의 보안에 신경써야하고, cloud provider는 physical security와 external firewall쪽에 신경써야함
-virtualization software에는 결점, bug들이 존재하고, network virtualization에 문제가 생긴다면 cloud provider의 인프라쪽 민감한 코드나 다른 유저의 리소스를 옅볼 수 있게 되는 문제가 존재 - Data Transfer Bottlenecks
-데이터를 인터넷 상에서 옮기는 것보다, 그냥 데이터가 들어있는 물리적인 컴퓨터를 통째로 옮기는 방법이 오히려 효율적인 경우 존재 - Performance Unpredictability
-cpu,memory쪽에 비해 disk/network쪽의 가상화 적용에 어려움이 존재했음 - Scalable Storage
-computation에 cloud 기술이 적용되었을 때의 효과에 비해 storage쪽은 조금 애매한 상황 - Bugs in Large Distributed System
-large-scale distributed system에서 버그가 발생할 수 있는 문제 → VM을 통한 접근 - Scaling Quickly
-서비스 차원에서 문제가 되지 않는 선에서 scale up과 down을 빠르게 함으로써 비용 절감
-잘 활용한다면 전기와 같은 자원 사용에 대한 절감도 가능 - Reputation Fate Sharing
-한 사용자의 잘못된 행동이 같은 클라우드 상의 다른 사용자에게 피해가 갈 수 있음 - Software Licensing
-소프트웨어 라이센스와 관련된 고려사항들도 존재
'CS > 클라우드컴퓨팅' 카테고리의 다른 글
| The Antifragile Organization 리뷰 (0) | 2024.04.09 |
|---|---|
| Eventually Consistent 리뷰 (1) | 2024.03.27 |