탄력성(클라우드 컴퓨팅)

Elasticity (cloud computing)

클라우드 컴퓨팅에서 탄력성은 "시스템이 리소스를 프로비저닝 및 디프로비저닝하여 워크로드 변화에 적응할 수 있는 정도(각 시점에서 가용 자원이 현재 수요와 최대한 근접하게 일치하도록)로 정의된다.[1][2] 탄력성은 그리드 컴퓨팅과 같이 이전에 제안된 컴퓨팅 패러다임과 클라우드 컴퓨팅을 차별화하는 정의적 특성이다. 다양한 작업 부하를 충족하기 위해 컴퓨팅 자원의 사용을 변경함으로써 용량의 동적 적응을 "탄력 컴퓨팅"[3][4]이라고 한다.

IaaS 클라우드에서 웹 사이트를 운영하고자 하는 서비스 프로바이더의 간단한 예를 통해 탄력성을 설명해보자. 순간 웹 사이트는 인기가 없으며 단일 시스템(가장 일반적으로 가상 머신)으로 모든 웹 사용자에게 서비스를 제공하기에 충분하다. 순간 웹 사이트는 예를 들어 플래시 군중들의 결과로 갑자기 인기를 얻게 되고, 하나의 기계로는 더 이상 모든 사용자에게 서비스를 제공하기에 충분하지 않다. 웹 사이트에 동시에 접속하는 웹 사용자의 수와 웹 서버의 리소스 요구 사항을 기준으로 하면 10대의 기계가 필요할 수 있다. 탄력적인 시스템은 이러한 상태를 즉시 감지하고 모든 웹 사용자에게 대응적으로 서비스를 제공할 수 있도록 클라우드에서 9대의 추가 기기를 프로비저닝해야 한다.

시간 웹 사이트는 다시 인기가 없어진다. 현재 웹사이트에 할당되어 있는 10대의 기계는 대부분 유휴 상태여서 웹사이트에 접속하는 소수의 사용자들에게 서비스를 제공하기에 한 대의 기계만으로도 충분할 것이다. 탄성 시스템은 이러한 상태를 즉시 감지하고 아홉 대의 기계를 디프로비저닝한 후 클라우드에 방출해야 한다.

목적

탄력성은 서비스에 할당된 리소스의 양을 실제 필요한 리소스의 양과 일치시키는 것을 목표로 하며, 초과 또는 과소 프로비저닝을 방지한다. 서비스 제공자는 종종 서비스에 할당된 자원에 대한 비용을 지불해야 하기 때문에, 즉 필요 이상으로 많은 자원을 할당하는 초과 프로비저닝은 피해야 한다. 를 들어, Amazon EC2 M4 초대형 인스턴스는 시간당 US$0.239의 비용이 든다. 한 서비스가 1대만 필요한 시점에 2대의 가상 머신을 할당했다면, 서비스 제공업체는 매년 2,095달러를 낭비한다. 따라서, 사업자의 비용은 최적보다 높고 이익은 감소한다.

공급 부족, 즉 필요보다 적은 양의 자원을 할당하는 것은 피해야 한다. 그렇지 않으면 서비스는 좋은 서비스로 사용자에게 제공할 수 없다. 위의 예에서, 웹사이트의 불충분한 프로비저닝은 그것을 느리게 보이거나 연결할 수 없는 것처럼 보이게 할 수 있다. 웹 사용자들은 결국 접속을 포기하기 때문에 서비스 제공자는 고객을 잃는다. 장기적으로 사업자의 소득이 감소해 수익도 줄어든다.

문제

리소스 프로비저닝 시간

한 가지 잠재적인 문제는 탄력성이 시간이 걸린다는 것이다. 사용자가 언제든지 클라우드 가상 머신(VM)을 취득할 수 있지만, 취득한 VM을 사용할 수 있으려면 최대 몇 분이 걸릴 수 있다. VM 시작 시간은 이미지 크기, VM 유형, 데이터 센터 위치, VM 수 등과 같은 요인에 따라 달라진다.[5] 클라우드 제공자의 VM 시작 성능은 서로 다르다. 이는 탄력적인 애플리케이션을 위해 설계된 모든 제어 메커니즘이 특정 애플리케이션 구성요소에 대해 다른 VM을 프로비저닝하는 [6]것과 같은 탄력성 작업을 수행하는 데 필요한 시간을 의사결정 프로세스에서 고려해야 함을 의미한다.

탄력적인 애플리케이션 모니터링

탄력적인 애플리케이션은 특정 애플리케이션 구성요소에 대해 온디맨드 방식으로 리소스(예: VM)를 할당 및 할당 해제할 수 있음 이로 인해 클라우드 리소스가 불안정해지고, 모니터링 데이터를 Ganglia 또는 Nagios와 같은 특정 리소스(즉, VM)와 연결하는 기존 모니터링 툴은 더 이상 탄력적인 애플리케이션의 동작을 모니터링하는 데 적합하지 않다. 예를 들어 탄력적인 애플리케이션의 데이터 스토리지 계층은 사용 기간 동안 비용 및 성능 요구 사항으로 인해 데이터 스토리지 VM을 추가 및 제거할 수 있으며, 사용된 VM의 수가 달라질 수 있다. 따라서 기반 가상 인프라에 걸쳐 논리적 애플리케이션 구조를 연결하는 것과 같이 탄력적인 애플리케이션을 모니터링하는 데 추가 정보가 필요하다.[7] 이렇게 하면 서로 다른 메트릭을 서로 다르게 집계해야 할 수 있으므로(예: CPU 사용량을 평균화할 수 있고 네트워크 전송을 요약할 수 있음) 여러 VM에서 실행되는 애플리케이션 구성 요소의 동작을 추출하기 위해 데이터를 집계하는 방법과 같은 다른 문제가 발생한다.

탄력성 요구사항

클라우드 인프라(IaaS/PaaS)에 애플리케이션을 구축할 때 적절한 탄력성 행동을 보장하기 위해 이해관계자의 요구사항을 고려할 필요가 있다. 전통적으로 비용과 품질 또는 성능 사이의 최적의 절충을 찾으려고 노력했지만 실제 클라우드 사용자들의 경우 동작에 관한 요구사항이 더 복잡하고 탄력성의 다차원(예: SYBL[8])을 목표로 한다.

여러 수준의 제어

클라우드 애플리케이션은 다양한 유형과 복잡성을 가질 수 있으며, 여러 수준의 아티팩트가 레이어에 배치될 수 있다. 그러한 구조를 제어하는 것은 다양한 문제를 고려해야 하며, 이러한 의미에서 접근방식은 rSYBL이다.[9] 다단계 제어의 경우 제어 시스템은 하위 수준 통제가 상위 수준 제어에 미치는 영향과 그 반대의 영향(예: 가상 시스템, 웹 컨테이너 또는 웹 서비스를 동시에 제어)을 고려해야 하며, 다양한 수준의 제어 전략 사이에 나타날 수 있는 충돌을 고려해야 한다.[10] 클라우드에 대한 탄력적인 전략은 제어이론적 방법을 이용할 수 있다(예: 예측 제어는 반응적 방법과 관련하여 상당한 이점을 보여줌으로써 클라우드 시나리오에서 실험되었다).[11]

참고 항목

참조

  1. ^ Herbst, Nikolas; Samuel Kounev; Ralf Reussner (2013). "Elasticity in Cloud Computing: What It Is, and What It Is Not" (PDF). Proceedings of the 10th International Conference on Autonomic Computing (ICAC 2013), San Jose, CA, June 24–28.
  2. ^ 니콜라스 허브스트, 루벤 크렙스, 지오르고스 오이코노무, 조지 쿠시우리스, 아난사 에반젤리노우, 알렉산드루 이오섭, 사무엘 코우네프. 비가 올 준비 됐나? 클라우드 메트릭스의 미래에 대한 SPEC Research의 견해. 기술 보고서 SPEC-RG-2016-01, SPEC 연구 그룹 - 클라우드 워킹 그룹, 표준 성과 평가 회사(SPEC), 2016. [1]
  3. ^ Cloud Computing Principles and Paradigms, John Wiley and Sons, 2011, ISBN 978-0-470-88799-8
  4. ^ Perez; et al., Responsive Elastic Computing, ISBN 978-1-60558-578-9
  5. ^ Mao, Ming; M. Humphrey (2012). A Performance Study on the VM Startup Time in the Cloud. Proceedings of 2012 IEEE 5th International Conference on Cloud Computing (Cloud2012). p. 423. doi:10.1109/CLOUD.2012.103. ISBN 978-1-4673-2892-0.
  6. ^ Gambi, Alessio; Daniel Moldovan; Georgiana Copil; Hong-Linh Truong; Schahram Dustdar (2013). On estimating actuation delays in elastic computing systems. Proceedings of ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS). pp. 33–42. CiteSeerX 10.1.1.353.691. doi:10.1109/SEAMS.2013.6595490. ISBN 978-1-4673-4401-2.
  7. ^ Moldovan, Daniel; Georgiana Copil; Hong-Linh Truong; Schahram Dustdar (2013). MELA: Monitoring and Analyzing Elasticity of Cloud Services. Proceedings of IEEE 5th International Conference on Cloud Computing Technology and Science (CloudCom 2013). Vol. 1. pp. 80–87. doi:10.1109/CloudCom.2013.18. ISBN 978-0-7695-5095-4.
  8. ^ Georgiana Copil, Daniel Moldovan, Hong-Linh Truong, Schahram Dustdar, "SYBL: an Extensible Language for Controlling Elasticity in Cloud Applications", Proceedings of the 13th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), May 14–16, 2013, Delft, the Netherlands
  9. ^ Georgiana Copil, Daniel Moldovan, Hong-Linh Truong, Shahram Dustdar, "클라우드 서비스의 구체화, 모니터링 및 탄력성 제어", 제11차 서비스 지향 컴퓨팅 국제회의의 진행. 2013년 12월 2~5일 독일 베를린. doi=10.1007/978-3-642-45005-1_31
  10. ^ Kranas, Pavlos (2012). ElaaS: An Innovative Elasticity as a Service Framework for Dynamic Management across the Cloud Stack Layers. Proceedings of Sixth International Conference on Complex, Intelligent and Software Intensive Systems (CISIS) 4–6 July 2012. pp. 1042–1049. doi:10.1109/CISIS.2012.117. ISBN 978-1-4673-1233-2.
  11. ^ Mencagli, Gabriele; Vanneschi, Marco (6 February 2014). "Towards a systematic approach to the dynamic adaptation of structured parallel computations using model predictive control". Cluster Computing. 17 (4): 1443–1463. doi:10.1007/s10586-014-0346-3.

외부 링크