클라우드 컴퓨팅의 진화

완료됨

클라우드 컴퓨팅의 진화에 대해 살펴보겠습니다.

이벤트 및 혁신

클라우드 컴퓨팅의 개념은 Herb Grosch, John McCarthy, Douglas Parkhill을 비롯한 여러 학자들이 컴퓨팅을 전력과 유사한 유틸리티로 구상한 1950년대 초에 처음 등장했습니다.1, 2 다음 수십 년에 걸쳐서 몇 가지 새로운 기술이 클라우드 컴퓨팅의 기반을 마련했습니다. 보다 최근에는 World Wide Web의 급속한 증가와 Google, Amazon과 같은 인터넷 대기업의 출현으로 마침내 클라우드 컴퓨팅 모델이 번창할 수 있는 경제 및 비즈니스 환경이 조성되었습니다.

Evolution of cloud computing.

그림 5: 클라우드 컴퓨팅의 진화

클라우드 컴퓨팅의 진화

1960년대 이후 조직에서 사용된 컴퓨터의 가장 초기 형태 중 일부는 메인프레임 컴퓨터였습니다. 여러 사용자가 기본 직렬 연결을 통해 메인프레임에 연결하고 터미널을 사용하여 공유할 수 있었습니다. 메인프레임은 모든 논리, 스토리지 및 데이터 처리를 담당했으며, 여기에 연결된 터미널은 연산 능력(있는 경우)이 제한적이었습니다. 이러한 시스템은 30년 넘게 광범위하게 사용되었고, 오늘날에도 어느 정도는 계속 존재하고 있습니다.

한편, 퍼스널 컴퓨팅의 등장으로 더 저렴하고 더 작으면서 더 강력한 프로세서 및 메모리를 통해 사용자는 로컬에서 자신의 소프트웨어를 실행하고 데이터를 저장했습니다. 이 상황은 조직의 IT 환경 내에서 질서를 유지하기 위한 규칙과 비효율적인 데이터 공유라는 문제를 초래했습니다.

점진적으로 고속 네트워크 기술이 발전하면서 LAN(Local Area Network)이 탄생하여 컴퓨터가 서로 연결하고 통신할 수 있게 되었습니다. 따라서 공급업체는 개인용 컴퓨터와 메인프레임의 이점을 모두 캡슐화할 수 있는 시스템을 설계하여 클라이언트 서버 애플리케이션이 LAN을 통해 인기를 끌게 되었습니다. 클라이언트는 일반적으로 클라이언트 소프트웨어(및 일부 데이터 처리) 또는 서버에 연결된 터미널(레거시 애플리케이션의 경우)을 실행했습니다. 클라이언트 서버 모델에서 서버는 애플리케이션, 스토리지 및 데이터 논리를 소유했습니다.

마침내 1990년대에는 인터넷이 빠르게 채택되면서 글로벌 정보화 시대가 열렸습니다. 일반적인 전화 접속 액세스에서 현재의 전용 파이버 연결에 이르기까지 네트워크 대역폭이 수십 배 향상되었습니다. 또한 더 저렴하고 더 강력한 하드웨어가 등장했습니다. 게다가 World Wide Web 및 동적 웹 사이트의 진화는 다중 계층 아키텍처를 요구했습니다.

다중 계층 아키텍처는 애플리케이션 프레젠테이션, 애플리케이션 논리 및 스토리지를 개별 엔터티로 분리하여 소프트웨어 모듈화를 지원했습니다. 이 모듈화 및 분리로 오래지 않아 개별 소프트웨어 엔터티가 개별 물리적 서버에서 실행되기 시작했습니다(일반적으로 하드웨어 및 소프트웨어 요구 사항의 차이로 인해). 이는 조직에서 개별 서버가 증가한 원인이 되었습니다. 그러나 이로 인해 서버 하드웨어의 평균 사용률도 저하되었습니다. 2009년 IDC(International Data Corporation)는 평균 x86 서버의 사용률이 약 5~10%라고 추정했습니다.3

가상 머신 기술은 2000년대에 상용 소프트웨어로 사용할 수 있을 만큼 충분히 성숙했습니다. 가상화를 사용하면 전체 서버를 이미지로 캡슐화하여 하드웨어에서 원활하게 실행할 수 있고, 여러 가상 서버를 동시에 실행할 수 있으며 하드웨어 리소스를 공유할 수 있습니다. 따라서 가상화를 사용하면 서버를 통합하여 시스템 사용률을 향상시킬 수 있습니다.

동시에 그리드 컴퓨팅은 분산 방식으로 대규모 문제를 해결하기 위한 노력으로 과학계에서 추진력을 얻었습니다. 그리드 컴퓨팅을 사용하면 여러 관리 도메인의 컴퓨터 리소스가 공통의 목표를 달성하기 위해 동시에 작동합니다. 그리드 컴퓨팅 덕분에 대규모 컴퓨팅 리소스를 관리하기 위한 다양한 리소스 관리 도구(예: 스케줄러 및 부하 분산 장치)가 개발되었습니다.

다양한 컴퓨팅 기술이 발전함에 따라 컴퓨팅의 경제성도 향상되었습니다. 메인프레임 기반 컴퓨팅 초기에도 IBM과 같은 기업은 은행 및 항공사 같은 다양한 조직을 대상으로 컴퓨터 및 소프트웨어를 호스팅하고 실행하는 서비스를 제공했습니다. 인터넷 시대에는 타사 웹 호스팅도 인기를 끌고 있습니다. 그러나 가상화를 통해 공급자는 단일 서버에서 여러 클라이언트를 수용하고 클라이언트 간에 하드웨어와 리소스를 공유하는 뛰어난 유연성을 제공합니다.

이러한 기술의 개발이 유틸리티 컴퓨팅의 경제적 모델과 결합되어 궁극적으로 클라우드 컴퓨팅으로 진화한 것입니다.

구현 기술

클라우드 컴퓨팅에는 네트워킹, 가상화 및 리소스 관리, 유틸리티 컴퓨팅, 프로그래밍 모델, 병렬 및 분산 컴퓨팅, 스토리지 기술 등 다양한 구현 기술이 있습니다.

Enabling technologies in cloud computing.

그림 6: 클라우드 컴퓨팅의 구현 기술

고속 및 유비쿼터스 네트워크 기술의 등장은 가능한 패러다임으로서의 클라우드 컴퓨팅에 크게 기여했습니다. 최신 네트워크는 컴퓨터가 빠르고 신뢰할 수 있는 방식으로 통신할 수 있게 해주므로 클라우드 공급자의 서비스를 사용하려면 중요합니다. 이로써 원격 데이터 센터에서 실행되는 소프트웨어에 대한 사용자 환경을 개인용 컴퓨터에서 실행되는 소프트웨어의 환경과 견줄 수 있게 되었습니다. 웹 메일은 사무 생산성 소프트웨어와 마찬가지로 널리 사용되는 예입니다. 또한 가상화는 클라우드 컴퓨팅을 구현하기 위한 핵심입니다. 위에서 언급한 것처럼 가상화를 사용하면 추상화를 통해 클라우드의 복잡성을 관리하고 여러 가상 머신을 통해 사용자 간에 리소스를 공유할 수 있습니다. 각 가상 머신은 자체 운영 체제 및 관련 애플리케이션을 실행할 수 있습니다. 클라우드 컴퓨팅에 대한 가상화는 이후 모듈에서 다룹니다.

대규모 스토리지 시스템, 분산 파일 시스템, 새로운 데이터베이스 아키텍처와 같은 기술은 클라우드에서 데이터를 관리하고 저장하는 데 중요합니다. 클라우드 스토리지 기술은 이후 모듈에서 다룹니다.

유틸리티 컴퓨팅은 컴퓨팅 리소스 임대에 대한 다양한 요금 부과 구조를 제공합니다. 예를 들어 리소스 시간당 요금, 보장된 처리량당 요금 및 월별 저장된 데이터당 요금 등이 있습니다.

병렬 및 분산 컴퓨팅은 병렬 프로그램으로 표시되는 특정 문제를 해결하기 위해 네트워크로 연결된 컴퓨터에 있는 분산된 엔터티를 사용하여 작업을 전달하고 조정할 수 있습니다. 분산 클러스터용 병렬 프로그램을 작성하는 것은 근본적으로 어렵습니다. 클라우드에서 프로그래밍 효율성과 유연성을 높이려면 프로그래밍 모델이 필요합니다.

클라우드용 프로그래밍 모델을 통해 사용자는 병렬 프로그램을 순차적 계산 단위로 표현할 수 있습니다(예: MapReduce의 함수, GraphLab의 꼭짓점). 이러한 프로그래밍 모델의 런타임 시스템은 일반적으로 계산 단위를 병렬 처리, 배포 및 예약하고 단위 간 통신을 관리하며 내결함성을 제공합니다. 클라우드 프로그래밍 모델은 이후 모듈에서 다룹니다.


참고자료

  1. Simson L. Garfinkel(1999). Architects of the Information Society: Thirty-Five Years of the Laboratory for Computer Science at MIT Press
  2. Douglas J. Parkhill (1966). The Challenge of the Computer Utility Addison-Wesley Publishing Company, Reading, MA
  3. Michelle Bailey (2009). The Economics of Virtualization: Moving Toward an Application-Based Cost Model VMware Sponsored IDC Whitepaper

지식 점검

1.

클라우드 컴퓨팅 및 유틸리티 컴퓨팅에 대한 일반적인 개념은 언제 등장했나요?

2.

여러 서버를 동일한 물리적 서버로 통합할 수 있는 기술은 무엇인가요?

3.

클라우드 컴퓨팅의 세 가지 구현 기술은 무엇인가요?

4.

인터넷을 통해 원격 데이터 센터에서 컴퓨팅 리소스를 임대하는 클라우드 컴퓨팅 모델을 사용 가능하게 하는 통신 속도가 빨라진 영역은 어디인가요?