클라우드 이전

완료됨

클라우드 컴퓨팅이 무엇인지 정의했으므로 이제 클라우드 컴퓨팅이 등장하기 전에 비즈니스 컴퓨팅, 과학적 컴퓨팅, 퍼스널 컴퓨팅과 같은 다양한 분야에서 컴퓨팅이 사용된 예를 살펴보겠습니다.

도메인 및 애플리케이션 예제

비즈니스 컴퓨팅: 기존 관리 정보 시스템의 예로는 물류 및 운영, ERP(엔터프라이즈 리소스 계획), CRM(고객 관계 관리), 사무 생산성 및 BI(비즈니스 인텔리전스) 등이 있습니다. 이러한 도구는 다양한 기업에서 생산성을 개선하고 비용을 절감하는 보다 간소화된 프로세스를 가능하게 했습니다.

예를 들어 CRM 소프트웨어를 통해 기업은 과거, 현재 및 잠재 고객에 대한 다양한 데이터를 수집, 저장, 관리 및 해석할 수 있습니다. CRM 소프트웨어는 고객과 조직 간의 모든 상호 작용에 대한 통합 보기(실시간 또는 근 실시간)를 제공합니다. 예를 들어, 제조업체의 경우 영업 팀이 CRM 소프트웨어를 사용하여 클라이언트와 함께 회의, 작업 및 추가 작업을 예약할 수 있습니다. 마케팅 팀은 특정 패턴에 따라 캠페인이 특정 클라이언트를 대상으로 하도록 할 수 있습니다. 청구 팀은 견적 및 송장을 추적할 수 있습니다. 따라서 이 정보를 저장하기 위한 중앙 집중식 리포지토리입니다. 이 기능을 구현하기 위해 다양한 데이터베이스 및 분석 시스템을 사용하여 저장 및 분석해야 하는 데이터를 수집하기 위해 조직 및 영업 팀에서 다양한 하드웨어 및 소프트웨어 기술을 활용합니다.

과학적 컴퓨팅: 과학적 컴퓨팅은 컴퓨터에 구현된 수학 모델 및 해석 기법을 사용하여 과학 문제를 해결하려고 합니다. 가장 널리 사용되는 예는 물리적 현상의 컴퓨터 시뮬레이션입니다. 이 분야는 과학자 및 엔지니어가 알려진 이벤트를 재구성하거나 다양한 환경에서 다양한 시스템을 시뮬레이션하고 연구하기 위한 프로그램을 개발하여 미래 상황을 예측할 수 있게 됨으로써 기존의 이론 및 실험 방법을 혁신했습니다. 이러한 시뮬레이션에는 많은 비용이 드는 슈퍼 컴퓨터 또는 분산 컴퓨팅 플랫폼에서 대규모 계산을 실행해야 하는 것이 일반적입니다.

퍼스널 컴퓨팅: 퍼스널 컴퓨팅에서 사용자는 범용 컴퓨터에서 다양한 애플리케이션을 실행합니다. 이러한 애플리케이션은 워드 프로세싱 및 스프레드시트(이메일 클라이언트와 같은 통신 또는 비디오 게임, 멀티미디어 파일과 같은 엔터테인먼트)와 같은 사무 생산성을 위한 것일 수 있습니다. 퍼스널 컴퓨팅은 일반적으로 이러한 작업을 수행하는 데 사용되는 소프트웨어와 하드웨어를 소유, 설치, 유지 관리합니다.

크기 조정

컴퓨팅의 확장은 CRM에서 캡처, 모니터링 및 분석하는 고객 및 이벤트의 수를 늘리든, 과학적 컴퓨팅에서 수치 시뮬레이션의 정밀도를 높이든, 비디오 게임 애플리케이션에서 현실감을 개선하든 지속적인 프로세스였습니다. 또한 확장의 필요성은 다양한 분야에서 기술 도입의 증가 또는 비즈니스 및 시장의 확대뿐만 아니라 지속적으로 증가하는 사용자 수와 사용자의 요구에 따라 견인되고 있습니다. 조직은 솔루션 배포를 계획하고 예산을 수립할 때 규모 확장을 고려해야 합니다.

조직에서는 일반적으로 용량 계획이라는 프로세스를 통해 IT 인프라를 계획합니다. 용량 계획 과정에서 다양한 IT 서비스의 사용량 증가를 측정하여 향후 확장을 위한 벤치마크로 사용합니다. 조직은 더 고성능의 신형 서버, 스토리지 및 네트워킹 장비를 조달, 설치, 유지 관리하도록 미리 계획해야 합니다. 조직은 제한된 소프트웨어 라이선스 세트만 구매할 수 있으므로 더 많은 사용자 세트를 수용하기 위해 인프라를 확장하려면 추가로 라이선스를 구매해야 할 수도 있습니다.

크기 조정의 가장 기본적인 형태는 기존 시스템을 서비스 수준에 필요한 업그레이드를 제공할 수 있는 최신의 고성능 시스템으로 교체하는 것으로 이를 수직 크기 조정이라고 합니다. 대부분의 경우 수직 크기 조정은 서버 및 스토리지 시스템을 용량이 증가된 최신의 더 빠른 서버 또는 스토리지 배열로 업그레이드하거나 교체하는 것으로 구성됩니다. 이 프로세스는 서비스 가동 중지 시간이 발생할 수 있는 창과 함께 계획하고 실행하는 데 몇 개월이 걸릴 수 있습니다.

특정 유형의 시스템에서는 시스템 전용 리소스의 양을 늘려서 수평 크기 조정도 수행됩니다. 이에 대한 예로는 시스템 성능을 향상시키기 위해 추가 서버 및 스토리지를 추가하여 초당 실행할 수 있는 계산 횟수를 늘리거나 시스템의 스토리지 용량을 늘릴 수 있는 고성능 컴퓨팅이 있습니다. 수직 크기 조정과 마찬가지로 이 프로세스는 계획 및 실행에 몇 달이 걸릴 수 있고 가동 중지 시간도 발생할 수 있습니다.

기업은 IT 장비를 소유하고 유지 관리하므로 지속적으로 증가하는 크기 조정 비용을 절감할 다른 방법을 찾아냈습니다. 대기업은 다양한 부서의 컴퓨팅 요구를 하나의 대형 데이터 센터로 통합함으로써 부동산, 전력, 냉각 및 네트워킹 비용을 절감했습니다. 반면, 중소기업은 IT 장비를 공유 데이터 센터에 배치하여 부동산, 네트워크, 전력, 냉각 및 물리적 보안을 임대할 수 있었습니다. 이를 일반적으로 공동 배치 서비스라고 하며, 사내에 자체 데이터 센터를 구축하지 않으려는 중소기업들이 채택한 서비스였습니다. 공동 배치 서비스는 운영 비용을 절감하는 비용 효율적인 방법으로 다양한 분야에서 지속적으로 도입되고 있습니다.

크기 조정은 비즈니스 컴퓨팅의 모든 측면에 영향을 줍니다. 예를 들어, 크기 조정은 클라이언트의 증가 또는 클라이언트에 대해 저장 및 분석되는 정보의 양을 통해 CRM 시스템에 영향을 줍니다. 비즈니스 컴퓨팅은 수직 및 수평 크기 조정은 물론 데이터 센터 및 공동 배치로 IT 리소스를 통합하는 방법으로 크기 조정을 해결했습니다. 과학적 컴퓨팅에서는 문제 규모를 확대하고 수리 시뮬레이션의 정도를 높이기 위해 병렬 및 분산 시스템을 채택했습니다. 병렬 처리의 한 정의는 대형 또는 고정밀도 계산을 실행하기 위해 대형 단일 컴퓨터로 상태와 기능을 공유하는 여러 개의 동종 컴퓨터를 사용하는 것입니다. 분산 컴퓨팅은 대형 문제를 동시에 실행하고 네트워크를 통해 메시지로 통신하는 하위 작업으로 분할하기 위해 네트워크로 연결된 다수의 자율적 컴퓨팅 시스템을 사용하는 것입니다. 과학 커뮤니티는 크기 조정을 해결하기 위해 이러한 분야에서 혁신을 지속했습니다. 퍼스널 컴퓨팅에서 크기 조정은 풍부한 콘텐츠와 다양한 애플리케이션으로 인해 증가된 사용자 요구를 통해 영향을 받습니다. 따라서 사용자는 이러한 요구를 충족하기 위해 자신의 퍼스널 컴퓨팅 디바이스를 확장합니다.

인터넷 서비스의 증가

90년대 후반에는 도메인 전체에서 이러한 컴퓨팅 애플리케이션과 플랫폼 채택이 지속적으로 증가했습니다. 곧 소프트웨어가 기능적일 뿐만 아니라 비즈니스 및 개인 요구 사항에 대한 가치 및 인사이트를 생성할 수 있을 것으로 기대되었습니다. 이러한 애플리케이션의 사용은 협업이 되었습니다. 애플리케이션은 서로 혼합되고 결합되어 서로 정보를 제공했습니다. 더 이상 IT는 회사의 비용 센터가 아니라 혁신 및 효율의 소스였습니다.

Compare traditional and internet-scale computing.

그림 2: 기존 및 인터넷 규모 컴퓨팅 비교

21세기에는 무선 통신, World Wide Web 및 인터넷의 볼륨과 용량이 폭증하고 있습니다. 이러한 변화로 인해 디지털 정보의 생산, 전파 및 접근이 간소화된 네트워크 기반 및 데이터 기반 사회가 열렸습니다. 인터넷은 1994년의 2500만 명에서 증가한 수십억 명의 사용자로 구성된 글로벌 Marketplace를 만들었습니다. 1 이러한 데이터 및 연결의 증가는 비즈니스에 매우 중요합니다. 데이터는 실험을 가능하게 하고 인구를 세분화하며 자동화를 통해 의사 결정을 지원하는 등 여러 가지 방법으로 가치를 창출합니다.2 전 세계 10대 경제국은 디지털 기술을 수용함으로써 2020년까지 생산량이 1조 달러 이상 증가할 것으로 예상됩니다.

인터넷을 통한 연결 수가 증가함에 따라 그 가치도 높아졌습니다. 연구자들은 네트워크 가치가 사용자 수의 함수로서 매우 선형적으로 변화한다는 가설을 세웠습니다. 따라서 인터넷 규모에서는 고객을 확보하고 유지하는 것이 우선 순위입니다. 신뢰할 수 있고 응답성이 뛰어난 서비스를 빌드하고 관찰된 데이터 패턴을 기반으로 변경하여 이 작업을 수행합니다.

Increasing number of internet users per year.

그림 3: 연간 인터넷 사용자 수 증가

Increasing amount of data stored per year.

그림 4: 매년 증가하는 데이터 저장량5

인터넷 규모 시스템의 몇 가지 예는 다음과 같습니다.

  • 검색 엔진 - 대규모(최대 페타바이트 크기) 데이터 세트를 크롤링, 저장, 인덱스 및 검색합니다. 예를 들어 Google은 며칠에 한 번씩 웹 트래픽을 크롤링 및 분석하고 인덱스를 키워드에 일치시키는 초대규모 웹 인덱스로 시작했습니다. 이제는 거의 실시간으로 해당 인덱스를 업데이트하며 인터넷 정보에 액세스하는 가장 일반적인 방법 중 하나입니다. 이들의 인덱스는 조 단위의 페이지를 포함하며 크기는 수천 테라바이트입니다.4
  • 소셜 네트워크 - Facebook 및 LinkedIn에서와 같이 사용자가 개인 및 업무 관계를 형성하고 유사한 관심사를 기반으로 커뮤니티를 빌드할 수 있습니다. 예를 들어 Facebook은 현재 매달 10억 명을 초과하는 활성 사용자를 지원합니다.
  • 온라인 소매 서비스 - Amazon과 같은 온라인 소매 서비스는 연간 900억 달러에 가까운 순매출량으로 2억 명이 넘는 고객에게 판매되는 수백만 개의 제품에 대한 글로벌 인벤토리를 유지 관리하고 있습니다.
  • 서식 있는 스트리밍 멀티미디어 애플리케이션 - 사람들이 비디오와 다른 형태의 서식 있는 콘텐츠를 시청하고 공유할 수 있습니다. 이러한 예 중 하나인 YouTube는 초당 300분 분량의 비디오 업로드를 처리합니다.
  • 실시간 통신 시스템 - Skype와 같은 오디오, 비디오 및 문자 채팅의 경우 매달 500억 분을 초과하는 통화가 발생합니다.
  • 생산성 및 협업 제품군 - 수백만 개의 문서를 다수의 동시 사용자에게 제공하며 실시간으로 영구적 업데이트가 가능합니다. 예를 들어 Microsoft 365는 매월 5,000만 명의 활성 협력자를 지원하는 클레임입니다.
  • CRM 애플리케이션 - Salesforce 같은 공급자는 수십만 개 조직에 배포되었습니다. 이제 대규모 CRM은 상태를 추적하는 직관적인 대시보드를 제공하고, 분석을 통해 최상의 비즈니스를 생성할 고객을 찾고, 매출 예상을 통해 향후 성장을 예측합니다.
  • 데이터 마이닝 및 비즈니스 인텔리전스 애플리케이션 - 위에 소개된 것과 같은 다른 서비스의 사용량을 분석하여 비효율성 및 수익화 기회를 모색합니다.

분명히 이러한 시스템은 수많은 동시 사용자를 처리해야 합니다. 이렇게 하려면 눈에 띄는 지연 없이 대량의 트래픽을 처리하고 데이터를 생성하고, 데이터를 안전하게 저장할 수 있는 용량을 갖춘 인프라가 필요합니다. 이러한 서비스는 일정하고 안정적인 품질 표준을 제공하여 해당 가치를 도출합니다. 또한 모바일 디바이스 및 웹 브라우저를 위한 다양한 사용자 인터페이스를 제공하므로 사용하기 쉽지만 빌드 및 유지 관리하기는 더 어려워집니다.

인터넷 규모 시스템의 요구 사항에 대한 요약은 다음과 같습니다.

  • 보편성: 다수의 디바이스에서 언제 어디서나 액세스할 수 있습니다. 예를 들어, 영업 사원은 CRM 서비스가 모바일 디바이스에서 적시에 업데이트를 제공하여 고객을 더 짧고 더 빠르고 더 효과적으로 방문할 수 있기를 기대합니다. 서비스는 다양한 네트워크 연결에서 원활하게 작동해야 합니다.
  • 고가용성: 서비스는 "항상 가동" 상태여야 합니다. 작동 시간은 9의 개수를 기준으로 측정됩니다. 3개의 9, 즉 99.9%는 1년에 9시간 동안 서비스를 사용할 수 없음을 의미합니다. 5개의 9(연간 약 6분)가 고가용성 서비스에 일반적인 임계값입니다. 온라인 소매점 애플리케이션에서 몇 분 정도의 가동 중지 시간도 매출에서 수백만 달러의 차질을 줄 수 있습니다.
  • 낮은 대기 시간: 빠르고 응답성이 뛰어난 액세스 시간. 페이지 로드 시간이 약간만 느려지더라도 해당 웹 페이지의 사용량이 크게 줄어드는 것으로 나타났습니다. 예를 들어, 검색 대기 시간을 100밀리초에서 400밀리초로 늘리면 사용자당 검색 수가 0.8%에서 0.6%로 감소하고 대기 시간이 원래 수준으로 감소한 후에도 변화가 유지됩니다.
  • 확장성: 일반적으로 계절성 및 바이럴리티로 인해 가변 로드를 처리하는 기능으로, 장단기적으로 트래픽 급증 및 급감을 초래합니다. "블랙프라이데이" 및 "사이버먼데이"와 같은 날에는 Amazon과 같은 소매점은 평균보다 몇 배나 많은 트래픽을 처리해야 합니다.
  • 비용 효율성: 인터넷 규모 서비스는 양질의 관리뿐만 아니라 기존 애플리케이션보다 훨씬 더 많은 인프라가 필요합니다. 비용을 간소화하는 한 가지 방법은 서비스를 보다 쉽게 관리할 수 있게 만들고 서비스를 처리하는 관리자 수를 줄이는 것입니다. 서비스 규모가 작을수록 관리자당 서비스 비율이 낮아질 수 있습니다(예를 들어 2:1은 단일 관리자가 2개의 서비스를 유지 관리해야 함을 의미). 수익성을 유지하기 위해 Microsoft Bing과 같은 서비스는 관리자당 서비스 비율이 높아야 합니다(예를 들어 2500:1은 단일 관리자가 2,500개 서비스를 유지 관리하는 것을 의미).6
  • 상호 운용성: 이러한 서비스는 대부분 함께 사용되는 경우가 많기 때문에 재사용하기 간편한 인터페이스를 제공하고 데이터 가져오기 및 내보내기를 위한 표준화된 메커니즘을 지원해야 합니다. 예를 들어 Uber와 같은 다른 많은 서비스는 자사 제품 내에 Google 지도를 통합하여 사용자에게 간소화된 위치 및 탐색 정보를 제공할 수 있습니다.

이제 위의 다양한 문제에 대한 초기 솔루션 중 몇 가지를 살펴볼 것입니다. 7 해결해야 할 첫 번째 과제는 대부분 미국에 위치한 초기 웹 서비스의 긴 왕복 시간이었습니다. (원거리 서버로 인한) 대기 시간 문제 및 서버 장애 문제를 처리하기 위한 최초의 메커니즘은 단지 중복성에 의존하는 것이었습니다. 이러한 목표를 달성하기 위한 한 가지 기술은 "미러링" 콘텐츠를 통해 인기 있는 웹 페이지의 복사본을 전 세계의 여러 위치에 저장하는 것입니다. 이를 통해 중앙 서버에 대한 부하를 최소화하고 최종 사용자가 인식하는 대기 시간을 줄였으며 장애가 발생한 경우 허용되는 트래픽을 다른 서버로 전환할 수 있었습니다. 데이터의 복사본을 하나만 수정해야 하는 경우에도 불일치를 처리하기 위해 복잡성이 증가하는 단점이 있습니다. 따라서 이 기술은 이미지, 동영상, 음악 등을 제공하는 것과 같은 정적인 읽기 작업이 많은 경우에 더 유용합니다. 이 기술의 효율성 때문에 대부분의 인터넷 규모 서비스는 CDN(콘텐츠 배달 네트워크)을 사용하여 인기 있는 콘텐츠의 분산 글로벌 캐시를 저장합니다. 예를 들어, 이제 CNN(Cable News Network)은 전 세계 여러 위치에 있는 다수의 "에지" 서버에서 비디오 복제본을 유지 관리하고 위치별로 맞춤형 광고를 유지합니다.

물론 개별 회사가 전 세계에서 수십 대의 서버를 구입하는 것이 항상 적절한 것은 아닙니다. 비용 효율성은 종종 공유 호스팅 서비스를 사용하여 실현되었습니다. 여기에서 단일 웹 서버 공유는 여러 테넌트에 임대되어 서버 유지 관리 비용이 분산됩니다. 공유 호스팅 서비스는 모든 서비스가 동시에 최대 용량으로 작동하는 것은 아니라는 가정 하에 리소스가 오버프로비저닝될 수 있기 때문에 리소스 효율성이 매우 높을 수 있습니다. (오버프로비저닝된 물리적 서버는 모든 테넌트의 집계 용량이 서버 실제 용량보다 큰 경우입니다.) 단점은 테넌트의 서비스를 이웃 서비스와 격리하는 것이 거의 불가능하다는 것이었습니다. 따라서 오버로드된 또는 오류가 발생하기 쉬운 한 서비스가 모든 이웃 서비스에 부정적인 영향을 미칠 수 있습니다. 또 한 가지 문제는 종종 악의적인 테넌트가 공동 배치의 장점을 이용하여 데이터를 도용하거나 다른 사용자에 대한 서비스를 거부할 수 있다는 데서 발생했습니다.

이를 방지하기 위해 가상 프라이빗 서버가 공유 호스팅 모델의 변형으로 개발되었습니다. 테넌트는 공유 물리적 서버에서 VM(가상 머신)과 함께 제공됩니다. (나중에 가상 머신 및 해당 속성에 대해 자세히 설명합니다.) 이러한 VM은 일반적으로 단일 물리적 컴퓨터에 정적으로 할당되고 연결되었기 때문에 확장하기 어렵고 장애 발생 시 수동으로 복구해야 하는 경우가 많습니다. 더 이상 오버프로비저닝할 수는 없지만, 공동 배치된 서비스 간의 성능 및 보안 격리는 단순한 리소스 공유보다 향상되었습니다.

공용 리소스를 공유하는 또 다른 문제는 타사 인프라에 프라이빗 데이터를 저장해야 한다는 것입니다. 위에서 설명한 인터넷 규모 서비스 중 일부는 고객의 프라이빗 데이터가 노출되면 심각한 영향을 주므로 절대로 데이터 스토리지에 대한 제어를 상실하면 안 되었습니다. 따라서 이러한 회사는 각자 글로벌 인프라를 빌드해야 했습니다. 퍼블릭 클라우드를 도입하기 전에 해당 서비스는 Google 및 Amazon과 같은 대기업에서만 배포할 수 있었습니다. 이러한 각 회사는 전 세계에서 상업용 구성 요소를 사용하여 동종의 대규모 데이터 센터를 빌드했습니다. 그러므로 각 데이터 센터를 하나의 거대한 WSC(웨어하우스 규모 컴퓨터)로 간주할 수 있습니다. WSC는 애플리케이션 및 데이터를 전역적으로 분산하면서도 소유권을 유지할 수 있도록 간편한 추상화를 제공했습니다.

규모의 경제 덕분에 데이터 센터 사용률을 최적화하여 비용을 절감할 수 있었습니다. 이는 리소스(클라우드)를 공개적으로 공유하는 것만큼 효율적이지는 않지만 이러한 웨어하우스 규모 컴퓨터에는 인터넷 규모 서비스를 빌드하기 위한 기초 역할을 하는 유용한 속성이 다수 있었습니다. 컴퓨팅 애플리케이션 크기 조정은 고정 사용자 기반 서비스 제공에서 동적 글로벌 사용자 서비스 제공까지 진행되었습니다. 대기업은 표준화된 WSC를 통해 이러한 대규모 사용자 집단을 지원할 수 있었습니다. 이상적인 인프라는 WSC의 성능과 안정성을 공유 호스팅 모델과 결합한 것입니다. 이를 통해 중소기업은 대규모 데이터 센터를 구축하는 막대한 오버헤드 없이 전역적으로 경쟁력 있는 애플리케이션을 개발하고 출시할 수 있습니다.

리소스를 공유하기 위한 또 다른 방법은 여러 기관 및 지리적 위치에서 자율 컴퓨팅 시스템을 공유할 수 있도록 하는 그리드 컴퓨팅이었습니다. 여러 교육 기관과 과학 기관은 공통의 목표를 달성하기 위해 리소스를 풀링하고 협업을 수행합니다. 그런 다음, 각 기관은 잘 정의된 공유 규칙을 통해 특정 리소스 세트를 전용하여 "가상 조직"에 참여합니다. 리소스는 서로 다른 유형이며 느슨하게 결합되어 복잡한 프로그래밍 구문을 함께 연결해야 하는 경우가 많았습니다. 그리드는 비상업용 연구 및 교육 프로젝트를 지원하기 위해 설계되었으며 기존 오픈 소스 기술을 활용했습니다.

클라우드는 위에 언급한 솔루션의 여러 기능을 결합한 논리적 후속 작업이었습니다. 예를 들어 대학교가 그리드를 사용하여 리소스 풀에 대한 액세스를 기여하고 공유하는 대신 클라우드를 사용하면 CSP(클라우드 서비스 공급자)가 중앙에서 관리하는 컴퓨팅 인프라를 임대할 수 있습니다. 중앙 공급자가 모든 클라이언트를 충족하기 위해 대규모 리소스 풀을 유지 관리했기 때문에 클라우드를 통해 짧은 시간 내에 동적으로 수요를 확장 및 축소할 수 있었습니다. 그러나 그리드와 같은 공개 표준 대신 클라우드 컴퓨팅은 전용 프로토콜을 사용하며 사용자가 CSP를 특정 수준까지 신뢰해야 합니다.

이 모듈의 뒷부분에서는 계량 및 사용이 가능한 공용 유틸리티를 컴퓨팅하기 위해 클라우드가 진화된 방식을 설명합니다.


참고자료

  1. Real Time Statistics Project (2015). Internet Live Stats
  2. IBM(2017). What is Big Data?
  3. Google Inc. (2015). How Search Works
  4. Hilbert, Martin and Lopez, Priscila (2011). The world's technological capacity to store, communicate, and compute information
  5. Hamilton, James R and others(2007). On Designing and Deploying Internet-Scale Services
  6. Brewer, Eric and others (2001). Lessons from giant-scale services