가상화는 컴퓨트와 스토리지, 네트워크 같은 물리적 리소스를 추상화하는 기술로 이런 리소스를 논리적인 리소스로 보이게 한다. 가상화는 IT 산업에서 수년간 여러 가지 형태로 존재해왔다. 가상화의 가장 흔한 예는 컴퓨트 시스템의 가상 메모리와 로(raw) 디스크의 파티셔닝이다.
가상화는 여러 개의 물리적 리소스를 모아 하나로 합친 형태로 제공할 수 있다. 예를 들어 스토리지 가상화는 여러 스토리지 디바이스를 하나의 큰 스토리지로 보이게 할 수 있다. 비슷하게 컴퓨트 가상화를 사용하면 물리적 서버의 CPU를 하나로 합쳐 보이게 할 수 있다. 가상화는 또한 리소스를 중앙에서 관리할 수 있게 해준다.
여러 개의 물리적 리소스를 모아 풀(pool)을 구성한 후, 여기서 가상 디스크를 만들어 공급할 수 있다. 예를 들어 스토리지 풀에서 지정한 크기의 가상 디스크를 만들 수 있고, 특정 CPU 파워와 메모리를 가진 가상 서버를 컴픁 풀에서 만들 수 있다. 이런 가상 리소스는 풀안의 물리적 리소스를 공유하며, 이는 물리적 리소스의 활용도를 높여준다. 비즈니스 요구사항에 맞춰 가상 리소스의 용량을 애플리케이션과 사용자에 대한 중단 없이 늘리거나 줄일 수 있다. IT 자산의 활용도를 높임으로써 조직은 새로운 물리적 리소스를 공급하고 관리하는 비용을 줄일 수 있다. 또한 물리적 리소스를 덜 사용하는 것은 공간과 에너지를 아낄 수 있음을 의미하고, 이는 좀 더 나은 경제적인 상황과 그런 컴퓨팅을 가능케 한다.
오늘날과 같은 빠른 경쟁 시대에 조직은 시장의 요구사항을 만족시키기 위해 기민하고 유연해야 한다. 이를 위해서는 감소하거나 정제된 IT 예산으로도 리소스를 확장하고 업그레이드해야 한다. 클라우드 컴퓨팅(cloud computing)은 이런 도전 과제를 효율적으로 해결할 수 있는 방안이다. 클라우드 컴퓨팅은 네트워크를 통해 IT 리소스를 서비스로 사용할 수 있게 해준다. 매우 높은 확장성과 유연한 컴퓨팅을 제공하며, 필요시 리소스를 공급받을 수 있다. 사용자는 최소한의 관리와 서비스 공급자와의 상호작용만으로도 스토리지 용량을 포함한 컴퓨팅 리소스를 늘이거나 줄일 수 있다. 클라우드 컴퓨팅은 완전히 자동화된 요청-공급 프로세스를 통해 셀프서비스로 필요한 것을 요청할 수 있게 했다. 또한 클라우드 컴퓨팅에서는 사용량 기반의 비용 청구가 가능하다. 사용자는 CPU 사용 기간과 데이터 전송량, 저장한 데이터의 용량 등 자신이 사용한 리소스에 대한 비용만 지불하면 된다.
클라우드 인프라스트럭처는 보통 리소스 풀링과 빠른 리소스 공급을 제공하는 가상화된 데이터 센터를 기반으로 구축된다.
현재의 스토리지에 대한 요구사항을 만족시키려면 데이터의 유형과 가치, 데이터 센터의 주요 요소를 이해해야 한다. 스토리지 아키텍처 진화와 데이터 센터의 핵심 요소에 대해서도 다뤘다. 가상화 기술의 등장은 고전적인 데이터 센터를 가상화된 데이터 센터로 변환시켰다. 클라우드 컴퓨팅은 IT 리소스를 공급하고 소비하는 방법을 바꾸고 있다.
오늘날 데이터 센터는 크기에 상관없이 모든 비즈니스에 매우 중요하고 없어서는 안 될 부분이 됐다. 데이터 센터의 해심 요소는 호스트와 스토리지, 연결(네트워크), 애플리케이션, DBMS이다. 이 요소는 다 같이 협동해 데이터를 정리하고 저장한다. 가상화 기술의 진화로 데이터 센터는 고전적인 데이터 센터에서 가상 데이터 센터(VDC, virtualized data center)로 진화했다. VDC에서는 고전적인 데이터 센터에서의 물리적 리소스를 모아 가상 리소스로 제공한다. 이런 추상화는 물리적 리소스의 복잡성과 한계를 사용자로부터 감춘다. IT 리소스를 가상화를 통해 응집함으로써 조직은 그들의 인프라스트럭처 활용성을 높이고 인프라스트럭처의 총비용을 줄일 수 있다. 또한 VDC에서는 가상 리소스를 소프트웨어를 통해 생성할 수 있으며, 이는 고전적인 데이터 센터의 물리적 리소스 배치에 비해 훨씬 빠른 속도로 리소스를 배치할 수 있게 해준다.
정보 자산이 점점 중요해지면서 데이터 센터의 핵심 요소 중 하나인 스토리지는 별도의 리소스로 인식됐다. 스토리지의 구현과 관리를 위해서는 특별한 주의가 필요하다.
애플리케이션(application)은 컴퓨팅 연산의 로직을 제공하는 컴퓨터 프로그램이다. 애플리케이션은 기반 운영체제에게 스토리지 디바이스에 대한 읽기/쓰기(R/W) 연산 요청을 보낸다. 애플리케이션은 데이터베이스를 사용할 수 있다. 이런 경우 데이터베이스에서 운영체제의 서비스를 사용해 스토리지 디바이스에 대한 R/W 연산을 수행한다. 데이터 센터에 배치된 애플리케이션은 보통 비즈니스 애플리케이션과 인프라스트럭처 관리 애플리케이션, 데이터 보호 애플리케이션, 보안 애플리케이션으로 분류된다. 이 애플리케이션의 예로는 이메일과 전사적 리소스 관리(ERP, enterprise resource planning), 의 사결정 지원 시스템(DSS, decision support system), 리소스 관리, 백업, 인증, 안티바이러스 애플리케이션 등이 있다.
애플리케이션의 I/O(입력/출력) 특징은 스토리지 시스템의 전체 성능과 스토리지 솔루션의 디자인에 영향을 준다.
애플리케이션 가상화는 애플리케이션과 기저 플랫폼(OS와 하드웨어) 간의 의존 관계를 변화시킨다. 애플리케이션 가상화는 애플리케이션과 필요한 OS 리소스를 하나의 가상 컨테이너로 캡슐화한다. 이 기술은 애플리케이션이 배치될 컴퓨팅 플랫폼의 OS나 파일 시스템, 레지스트리를 바꾸지 않고 애플리케이션을 배치할 수 있게 해준다. 가상화 애플리케이션은 독립 환경에서 실행되기 때문에 OS나 기타 애플리케이션은 잠재적인 위험으로부터 보호된다. 여러 애플리케이션 또는 여러 버전의 애플리케이션이 같은 컴퓨팅 플랫폼에 설치될 경우 충돌이 발생할 때가 많다. 애플리케이션 가상화는 애플리케이션의 다른 버전과 관련 OS 리소스가 서로 독립적으로 관리되기 때문에 충돌 가능성을 제거한다.