클라우드 이전
- 17분
클라우드 컴퓨팅이 무엇인지 정의했으므로 이제 클라우드 컴퓨팅이 등장하기 전에 비즈니스 컴퓨팅, 과학적 컴퓨팅, 퍼스널 컴퓨팅과 같은 다양한 분야에서 컴퓨팅이 사용된 예를 살펴보겠습니다.
비즈니스 컴퓨팅: 비즈니스 컴퓨팅은 물류 및 운영, ERP(엔터프라이즈 리소스 계획), CRM(고객 관계 관리), 사무 생산성 및 BI(비즈니스 인텔리전스)를 구동하는 관리 정보 시스템을 사용하는 경우가 많습니다. 이러한 도구는 다양한 기업에서 생산성을 개선하고 비용을 절감하는 보다 간소화된 프로세스를 가능하게 했습니다.
예를 들어 CRM 소프트웨어를 통해 기업은 과거, 현재 및 잠재 고객에 대한 다양한 데이터를 수집, 저장, 관리 및 해석할 수 있습니다. CRM 소프트웨어는 고객과 조직 간의 모든 상호 작용에 대한 통합 보기(실시간 또는 근 실시간)를 제공합니다. 제조업체의 경우 영업 팀이 CRM 소프트웨어를 사용하여 클라이언트와 함께 회의, 작업 및 추가 작업을 예약할 수 있습니다. 마케팅 팀은 특정 패턴에 따라 캠페인이 특정 클라이언트를 대상으로 하도록 할 수 있습니다. 청구 팀은 견적 및 송장을 추적할 수 있습니다. 따라서 이것은 이러한 정보를 저장하기 위한 중앙 집중식 리포지토리입니다. 이 기능을 구현하기 위해 다양한 데이터베이스 및 분석 시스템을 사용하여 저장 및 분석해야 하는 데이터를 수집하기 위해 조직 및 영업 팀에서 다양한 하드웨어 및 소프트웨어 기술을 활용합니다.
과학적 컴퓨팅: 과학적 컴퓨팅은 컴퓨터에 구현된 수학 모델 및 해석 기법을 사용하여 과학 문제를 해결하려고 합니다. 일반적인 예는 물리적 현상의 컴퓨터 시뮬레이션입니다. 예를 들어 기상 모델을 사용하여 날씨를 예측하는 것입니다. 이 분야는 과학자 및 엔지니어가 알려진 이벤트를 재구성하거나 다양한 환경에서 다양한 시스템을 시뮬레이션하고 연구하기 위한 프로그램을 개발하여 미래 상황을 예측할 수 있게 됨으로써 기존의 이론 및 실험 방법을 혁신했습니다. 이러한 시뮬레이션에는 많은 비용이 드는 슈퍼 컴퓨터 또는 분산 컴퓨팅 플랫폼에서 대규모 계산을 실행해야 하는 것이 일반적입니다.
퍼스널 컴퓨팅: 퍼스널 컴퓨팅에서 사용자는 범용 PC에서 다양한 애플리케이션을 실행합니다. 이러한 애플리케이션의 예로는 워드 프로세서와 기타 사무 생산성 소프트웨어, 이메일 클라이언트와 같은 통신 앱, 비디오 게임 및 미디어 플레이어와 같은 엔터테인먼트 소프트웨어가 있습니다. PC 사용자는 일반적으로 이러한 작업을 수행하는 데 사용되는 소프트웨어와 하드웨어를 소유, 설치, 유지 관리합니다.
크기 조정
IT에서 오랜 과제 중 하나는 수요를 충족하기 위해 컴퓨팅 리소스의 크기를 조정하는 것입니다. 예를 들어 증가하는 고객 기반에 맞춰 웹 사이트의 용량을 늘리거나 피크 업무 시간 동안 또는 대규모 청중을 끌어들이는 특별 행사에서 "버스트" 부하를 처리하는 경우입니다.
컴퓨팅에서 확장은 CRM에서 캡처, 모니터링 및 분석하는 고객 및 이벤트의 수를 늘리든, 과학적 컴퓨팅에서 수치 시뮬레이션의 정밀도를 높이든, 비디오 게임에서 현실감을 개선하든 지속적인 프로세스였습니다. 또한 확장의 필요성은 다양한 분야에서 기술 도입의 증가 또는 비즈니스 및 시장의 확대뿐만 아니라 지속적으로 증가하는 사용자 수와 사용자의 요구에 따라 견인되고 있습니다. 조직은 솔루션 배포를 계획하고 예산을 수립할 때 규모 확장을 고려해야 합니다.
조직에서는 일반적으로 용량 계획이라는 프로세스를 통해 IT 인프라를 계획합니다. 용량 계획 과정에서 다양한 IT 서비스의 사용량 증가를 측정하여 향후 확장을 위한 벤치마크로 사용합니다. 조직은 더 고성능의 신형 서버, 저장 장치 및 네트워킹 장비를 조달, 설치, 유지 관리하도록 미리 계획해야 합니다. 조직은 구매한 소프트웨어 라이선스 수량 때문에 제한을 받는 경우도 있으므로 더 많은 사용자를 수용하기 위해 인프라를 확장하려면 추가로 라이선스를 구매해야 할 수 있습니다.
크기 조정의 가장 기본적인 형태는 기존 시스템을 더 빠른 CPU, 더 많은 메모리 및 디스크 공간을 탑재한 신형 시스템으로 교체하는 것으로 이를 수직 크기 조정이라고 합니다. 대부분의 경우 수직 크기 조정은 서버 업그레이드 또는 교체와 스토리지 배열 용량 추가로 구성됩니다. 이 프로세스는 계획 및 실행에 몇 달이 걸릴 수 있으며 업그레이드를 롤아웃할 때 짧은 가동 중지 시간이 자주 필요합니다.
또한 시스템 전용 리소스의 수를 늘리거나 줄이는 수평 크기 조정도 있습니다. 이에 대한 예로는 추가 서버 및 스토리지 용량을 기존 클러스터에 추가하여 초당 실행하는 계산 횟수를 늘릴 수 있는 고성능 컴퓨팅이 있습니다. 또 다른 예로는 증가된 트래픽을 처리하기 위해 온라인으로 추가 서버를 가져올 수 있는 웹 팜(웹 사이트 및 웹 애플리케이션을 호스트하는 서버 클러스터)이 포함됩니다. 수직 크기 조정과 마찬가지로 이 프로세스는 계획 및 실행에 몇 달이 걸릴 수 있고 가동 중지 시간도 발생할 수 있습니다.
기업은 IT 장비를 소유하고 유지 관리하므로 지속적으로 증가하는 크기 조정 비용을 절감할 다른 방법을 찾아냈습니다. 대기업은 다양한 부서의 컴퓨팅 요구를 하나의 대형 데이터 센터로 통합함으로써 부동산, 전력, 냉각 및 네트워킹 비용을 절감했습니다. 반면, 중소기업은 IT 장비를 공유 데이터 센터에 배치하여 부동산, 네트워크, 전력, 냉각 및 물리적 보안을 임대할 수 있었습니다. 이를 일반적으로 공동 배치 서비스라고 하며, 사내에 자체 데이터 센터를 구축하지 않으려는 중소기업들이 채택한 서비스였습니다. 공동 배치 서비스는 운영 비용을 절감하는 비용 효율적인 방법으로 다양한 분야에서 지속적으로 도입되고 있습니다.
비즈니스 컴퓨팅은 수직 및 수평 크기 조정은 물론 데이터 센터 및 공동 배치로 IT 리소스를 통합하는 방법으로 크기 조정을 해결했습니다. 과학적 컴퓨팅에서는 문제 규모를 확대하고 수리 시뮬레이션의 정도를 높이기 위해 병렬 및 분산 시스템을 채택했습니다. 병렬 처리의 한 정의는 대형 또는 고정밀도 계산을 실행하기 위해 상태를 공유하고 단일 컴퓨터로 작동하는 다수의 동종 컴퓨터를 사용하는 것입니다. 분산 컴퓨팅은 대형 문제를 동시에 실행되고 네트워크를 통해 메시지로 통신하는 하위 작업으로 분할하기 위해 네트워크로 연결된 다수의 자율적 컴퓨팅 시스템을 사용하는 것입니다. 과학 커뮤니티는 크기 조정을 해결하기 위해 이러한 분야에서 혁신을 지속했습니다. 퍼스널 컴퓨팅에서 크기 조정은 서식 있는 콘텐츠 및 메모리 집약적 애플리케이션 때문에 증가하는 요구를 통해 영향을 받았습니다. 사용자는 이러한 요구를 충족하기 위해 PC를 속도가 더 빠른 최신 모델로 교체하거나 기존 모델을 업그레이드합니다.
인터넷 서비스의 증가
1990년대 후반에는 여러 분야에서 이러한 컴퓨팅 애플리케이션 및 플랫폼 채택이 지속적으로 증가했습니다. 조만간 소프트웨어가 작동뿐만 아니라 비즈니스 및 개인 요구 사항에 대한 가치 및 인사이트를 생성할 수 있을 것으로 기대되었습니다. 이러한 애플리케이션의 사용은 공동 작업이 되었습니다. 애플리케이션은 서로 혼합되고 결합되어 서로 정보를 제공했습니다. 더 이상 IT는 회사의 비용 센터가 아니라 혁신 및 효율의 소스였습니다.
그림 1.2: 기존 및 인터넷 규모 컴퓨팅 비교
21세기에는 무선 통신, World Wide Web 및 인터넷의 볼륨과 용량이 폭증하고 있습니다. 이러한 변화 덕분에 디지털 정보의 생산, 전파 및 접근이 간소화된 네트워크 및 데이터 기반 사회가 열렸습니다. 인터넷은 40억 명 이상의 사용자를 위한 글로벌 마켓플레이스를 형성했습니다. 이러한 데이터 및 연결의 증가는 비즈니스에 가치가 있습니다. 데이터는 실험을 지원하고 인구를 분할하며 자동화를 통해 의사 결정을 지원하는 등 다방면으로 가치를 생성합니다.1 디지털 기술을 수용함으로써 전 세계 10대 경제는 2015년부터 2020년까지 생산이 1조 달러 이상 증가할 것으로 예상되고 있습니다.
인터넷에 의한 연결 수 증가는 가치도 촉진합니다. 연구자들은 네트워크 가치가 사용자 수의 함수로서 매우 선형적으로 변화한다는 가설을 세웠습니다. 따라서 인터넷 규모에서 고객 확보 및 유지가 우선 순위이며, 이 과정은 안정적이고 응답성이 뛰어난 서비스를 빌드하고 관찰된 데이터 패턴을 기반으로 변경함으로써 이루어집니다.
인터넷 규모 시스템의 예는 다음과 같습니다.
- 검색 엔진 - 대규모(최대 페타바이트 크기) 데이터 세트를 크롤링, 저장, 인덱스 및 검색합니다. 예를 들어 Google은 며칠에 한 번씩 웹 트래픽을 크롤링 및 분석하고 인덱스를 키워드에 일치시키는 초대규모 웹 인덱스로 시작했습니다. 이제는 거의 실시간으로 해당 인덱스를 업데이트하며 인터넷 정보에 액세스하는 가장 일반적인 방법 중 하나입니다. 이들의 인덱스는 조 단위의 페이지를 포함하며 크기는 수천 테라바이트입니다.3
- 소셜 네트워크 - Facebook 및 LinkedIn에서와 같이 사용자가 개인 및 업무 관계를 형성하고 유사한 관심사를 기반으로 커뮤니티를 구축할 수 있습니다. Facebook의 경우 월 20억 명의 활성 사용자를 자랑합니다.
- 온라인 소매 서비스 - 수백만 개 상품의 재고를 유지하고 전 세계 사용자를 대상으로 서비스를 제공하는 Amazon이 한 예입니다. 2017년, Amazon의 온라인 소매 사업부는 전년 대비 31% 증가한 1,780억 달러의 순매출액을 달성했습니다.
- 서식 있는 스트리밍 멀티미디어 애플리케이션 - 사람들이 동영상 및 다른 형태의 서식 있는 콘텐츠를 시청하고 공유할 수 있습니다. 그 한 예인 YouTube에서는 매일 50억 개의 동영상이 시청되고 매초 300분 분량의 동영상이 업로드됩니다.
- 실시간 통신 시스템(오디오, 동영상 및 채팅용) - 매월 500억 분 이상의 통화가 발생하는 Skype가 한 예입니다.
- 생산성 및 협업 제품군 - 수백만 개의 문서를 다수의 동시 사용자에게 제공하며 실시간으로 영구적 업데이트가 가능합니다. 예를 들어 Microsoft 365는 매월 6,000만 명의 활성 사용자가 사용합니다.
- CRM 애플리케이션 - SalesForce 같은 공급자는 수십만 개 조직에 배포되었습니다. 이제 대규모 CRM은 상태를 추적하는 직관적인 대시보드를 제공하고, 분석을 통해 최상의 비즈니스를 생성할 고객을 찾고, 매출 예상을 통해 향후 성장을 예측합니다.
- 데이터 마이닝 및 비즈니스 인텔리전스 애플리케이션 - 위에 소개된 것과 같은 다른 서비스의 사용량을 분석하여 비효율성 및 수익화 기회를 모색합니다.
분명히 시스템은 수많은 동시 사용자를 처리해야 합니다. 이렇게 하려면 눈에 띄는 지연 없이 대량의 네트워크 트래픽을 처리하고 데이터를 생성하여 안전하게 저장할 수 있는 용량의 인프라가 필요합니다. 이러한 서비스는 일정하고 안정적인 품질 표준을 제공하여 해당 가치를 도출합니다. 또한 모바일 디바이스 및 웹 브라우저를 위한 다양한 사용자 인터페이스를 제공하므로 사용하기 쉽지만 빌드 및 유지 관리하기는 더 어려워집니다.
인터넷 규모 시스템의 요구 사항을 요약하면 다음과 같습니다.
- 보편성 --- 다수의 디바이스로부터 언제라도 액세스 가능. 예를 들어, 영업 사원은 CRM 서비스가 모바일 디바이스에서 적시에 업데이트를 제공하여 고객을 더 짧고 더 빠르고 더 효과적으로 방문할 수 있기를 기대합니다. 서비스는 다양한 네트워크 연결에서 원활하게 작동해야 합니다.
- 고가용성 --- 서비스는 "항상 가동" 상태여야 합니다. 작동 시간은 9의 개수를 기준으로 측정됩니다. 3개의 9, 즉 99.9%는 1년에 9시간 동안 서비스를 사용할 수 없음을 의미합니다. 5개의 9(연간 약 6분)가 고가용성 서비스에 일반적인 임계값입니다. 온라인 소매점 애플리케이션에서 몇 분 정도의 가동 중지 시간도 매출에서 수백만 달러의 차질을 줄 수 있습니다.
- 짧은 대기 시간속도가 빠르고 응답성이 우수한 액세스 시간. 페이지 로드 시간이 약간만 느려지더라도 해당 웹 페이지의 사용이 크게 줄어든 것으로 나타납니다. 예를 들어, 검색 대기 시간이 100밀리초에서 400밀리초로 증가하면 사용자당 검색 수가 0.8%에서 0.6%로 감소하고 대기 시간이 원래 수준으로 복원된 후에도 변화가 유지됩니다.
- 확장성 --- 장단기적으로 트래픽 급증 및 급감을 초래하는 계절성 및 바이럴리티에서 발생하는 가변 로드를 처리하는 기능. "블랙 금요일", "사이버 월요일"과 같은 날에는 Amazon 및 Walmart 같은 소매점의 네트워크 트래픽 수신량이 평균의 몇 배에 달합니다.
- 비용 효율성 --- 인터넷 규모 서비스는 기존 애플리케이션보다 훨씬 대규모 인프라는 물론 더 양질의 관리가 필요합니다.[4]. 비용을 간소화하는 한 가지 방법은 서비스를 보다 쉽게 관리할 수 있게 만들고 서비스를 처리하는 관리자 수를 줄이는 것입니다. 서비스 규모가 작을수록 관리자당 서비스 비율이 낮아질 수 있습니다(예를 들어 2:1은 단일 관리자 2개의 서비스를 유지 관리해야 함을 의미). 그러나 수익성을 유지하기 위해 Microsoft Bing과 같은 서비스는 관리자당 서비스 비율이 높아야 합니다(예를 들어 2500:1은 단일 관리자가 2,500개 서비스를 유지 관리하는 것을 의미).
- 상호 운용성 --- 이러한 서비스는 대부분 함께 사용되는 경우가 많기 때문에 재사용하기 간편한 인터페이스를 제공하고 데이터 가져오기 및 내보내기를 위한 표준화된 메커니즘을 지원해야 합니다. 예를 들어 Uber와 같은 서비스는 Google 지도를 자사 제품에 통합하여 사용자에게 간소화된 위치 및 탐색 정보를 제공할 수 있습니다.
이제 위의 다양한 문제에 대한 초기 솔루션 몇 가지를 살펴볼 것입니다. 해결해야 할 첫 번째 과제는 대부분 미국에 위치하던 초기 웹 서비스의 긴 왕복 시간이었습니다. (원거리 서버로 인한) 대기 시간 문제 및 서버 장애 문제를 처리하기 위한 최초의 메커니즘은 단지 중복성에 의존하는 것이었습니다. 이러한 목표를 달성하기 위한 한 가지 기술은 인기 있는 웹 페이지의 복사본을 전 세계 여러 위치에 저장하는 콘텐츠 “미러링”이었습니다. 이렇게 중앙 서버에 대한 부하를 최소화해 최종 사용자가 경험하는 대기 시간을 줄였으며 장애가 발생한 경우 허용되는 트래픽을 다른 서버로 전환할 수 있었습니다. 그러나 데이터의 복사본을 하나만 수정해야 하는 경우에도 일관성 문제를 처리해야 한다는 단점도 있었습니다. 따라서 이 기술은 이미지, 동영상, 음악 등을 제공하는 것과 같은 정적인 읽기 작업이 많은 경우에 더 유용합니다. 이 기술의 효율성 때문에 대부분의 인터넷 규모 서비스는 CDN(콘텐츠 배달 네트워크)을 사용하여 인기 있는 콘텐츠의 분산 전역 캐시를 저장합니다. 예를 들어, 이제 CNN(Cable News Network)은 전 세계 여러 위치에 있는 다수의 "에지" 서버에서 동영상 복제본을 유지 관리하고 위치별로 맞춤화된 광고를 유지합니다.
물론 개별 회사가 전 세계에서 수십 대의 서버를 구입하는 것이 항상 적절한 것은 아닙니다. 비용 효율성은 종종 공유 호스팅 서비스를 사용하여 실현되었습니다. 여기에서, 단일 웹 서버 공유는 여러 테넌트에 임대되어 서버 유지 관리 비용이 분산됩니다. 공유 호스팅 서비스는 매우 리소스 효율적일 수 있습니다. 모든 서비스가 동시에 피크 용량을 작동한다는 가정에서는 리소스가 과도하게 프로비전될 수 있기 때문입니다. (과도하게 프로비전된 물리적 서버는 모든 테넌트의 집계 용량이 서버 실제 용량보다 큰 경우입니다.) 단점은 테넌트의 서비스를 이웃 서비스와 격리하는 것이 거의 불가능하다는 것 이었습니다. 따라서 오버로드된 또는 오류가 발생하기 쉬운 한 서비스가 모든 이웃 서비스에 부정적인 영향을 미칠 수 있습니다. 또 한 가지 문제는 종종 악의적인 테넌트가 공동 배치의 장점을 이용하여 데이터를 도용하거나 다른 사용자에 대한 서비스를 거부할 수 있다는 데서 발생했습니다.
이를 방지하기 위해 가상 프라이빗 서버가 공유 호스팅 모델의 변형으로 개발되었습니다. 테넌트는 공유 서버에서 VM(가상 머신)과 함께 제공됩니다. 이러한 VM은 일반적으로 단일 물리적 컴퓨터에 정적으로 할당되고 연결된 것이었는데, 이는 VM을 확장하기 어렵고 장애 발생 시 수동으로 복구해야 하는 경우가 많다는 것을 의미했습니다. 더 이상 과도하게 프로비전할 수는 없지만, 공동 배치된 서비스 간의 성능 및 보안 격리는 단순한 리소스 공유보다 향상되었습니다.
공용 리소스를 공유하는 또 다른 문제는 타사 인프라에 개인 데이터를 저장해야 한다는 것입니다. 위에 설명한 인터넷 규모 서비스 중 일부는 고객의 개인 데이터가 노출될 경우 심각한 영향을 주므로 절대로 데이터 스토리지에 대한 제어를 상실하면 안 되었습니다. 따라서 이러한 회사는 각자 글로벌 인프라를 구축해야 했습니다. 퍼블릭 클라우드를 도입하기 전에 해당 서비스는 Google 및 Amazon 같은 대기업에서만 배포할 수 있었습니다. 이러한 회사는 전 세계에서 상업용 구성 요소를 사용하여 동종의 대규모 데이터 센터를 구축했습니다. 그러므로 각 데이터 센터를 하나의 거대한 WSC(웨어하우스 규모 컴퓨터)로 간주할 수 있습니다. WSC는 애플리케이션 및 데이터를 전 세계에 분산하면서도 소유권을 유지할 수 있도록 간편한 추상화를 제공했습니다.
규모의 경제 덕분에 데이터 센터 사용률을 최적화하여 비용을 절감할 수 있었습니다. 이는 리소스(클라우드)를 공개적으로 공유하는 것만큼 효율적이지는 않지만 이러한 웨어하우스 규모 컴퓨터에는 인터넷 규모 서비스를 빌드하기 위한 기초 역할을 하는 유용한 속성이 다수 있었습니다. 컴퓨팅 애플리케이션 크기 조정은 고정 사용자 기반 서비스 제공에서 동적 글로벌 사용자 서비스 제공까지 진행되었습니다. 대기업은 표준화된 WSC를 통해 이러한 대규모 사용자 집단을 지원할 수 있었습니다. 이상적인 인프라는 WSC의 성능과 안정성을 공유 호스팅 모델과 결합한 것입니다. 이를 통해 중소기업은 대규모 데이터 센터를 구축하는 막대한 오버헤드 없이 전 세계적으로 경쟁력 있는 애플리케이션을 개발하고 출시할 수 있습니다.
리소스를 공유하기 위한 또 다른 방법은 여러 기관 및 지리적 위치에서 자율 컴퓨팅 시스템을 공유할 수 있도록 하는 그리드 컴퓨팅이었습니다. 여러 교육 기관과 과학 기관은 공통의 목표를 달성하기 위해 리소스를 풀링하고 협업을 수행합니다. 그런 다음 각 기관은 잘 정의된 공유 규칙을 통해 특정 집합 리소스를 전용하여 "가상 조직"에 참여합니다. 리소스는 서로 다른 유형이며 느슨하게 결합되어 복잡한 프로그래밍 구문을 함께 연결해야 하는 경우가 많았습니다. 그리드는 비상업용 연구 및 교육 프로젝트를 지원하기 위해 설계되었으며 기존 오픈 소스 기술을 활용했습니다.
클라우드는 위에 언급한 솔루션들의 여러 기능을 결합한 논리적 후계자였습니다. 예를 들어 대학교가 그리드를 사용하여 리소스 풀에 대 한 기여하고 액세스를 공유하는 대신 클라우드를 사용하면 클라우드 서비스 공급자가 중앙에서 관리하는 컴퓨팅 인프라를 임대할 수 있습니다. 중앙 공급자가 모든 클라이언트를 충족하기 위해 대규모 리소스 풀을 유지 관리했기 때문에 클라우드에서는 보다 간편하게 짧은 시간에 동적으로 수요를 확장 및 축소할 수 있었습니다. 그러나 그리드와 같은 공개 표준 대신 클라우드 컴퓨팅은 전용 프로토콜을 사용하며 사용자가 CSP를 특정 수준까지 신뢰해야 합니다.
참고 자료
- IBM(2017). 빅 데이터란?https://www.ibm.com/analytics/hadoop/big-data-analytics
- Google Inc.(2015). 검색 작동 방식. https://www.google.com/insidesearch/howsearchworks/thestory/
- Hamilton, James R and others(2007). Internet-Scale 서비스의 디자인 및 배포에 대하여