首页
学习
活动
专区
工具
TVP
发布

IAAS运维的困境

基础架构即服务(Infrastructure as a Service)的基础是服务器虚拟化。当越来越多的负载运行在虚拟化环境中,运维也变得越来越重要。当我们提供给应用的不再是一个个物理机,而是在资源池中逻辑划分出来的一个个虚拟机,其运维方式也不同于传统的运维。

VMware在虚拟化运维领域有一个大拿叫Iwan Rahabok,由于工作关系,笔者最近听了他的讲座,颇有感触。本文结合运维的一个方面——性能管理,和大家分享一下自己的体会。

性能和容量是两件事情

运维领域一个很重要的目标,就是尽早发现性能问题

但是事实上,很多虚拟化管理员都面临这样的困境。一方面,应用部门在抱怨性能(performance)太差,要求更多的资源;另一方面,CIO总是希望控制预算,认为当前的资源利用率(resource utilization)不高,还可以增加更多的虚拟机。

为什么两者的看法相差那么大?作为IaaS系统架构师的你,是否有足够的信服度告诉大家,到底现在应该买更多的硬件,还是增加更多的虚拟机?

我们先不着急回答这两个问题。我们先来看一下,到底如何定义VM的性能?有人可能说,VM的性能就是vCPU有几个,内存配置了多少GB,存储的延时是多少。在物理服务器的世界里,也许基本可以这么认为;但是在虚拟机的世界里,很多的VM共享一个资源池,VM之间存在资源的竞争。

举例来说,某一个VM虽然分配了2颗vCPU,但这并不意味着,有两个物理的CPU或者Core就完全被这个VM独占。所以,在虚拟化的世界里面,真正定义VM性能的是这四个指标:CPU的争用,内存的争用,网络的丢包数,存储的延时。至于vCPU配置了几颗、内存配置了多少GB、存储配置了多少GB/TB,这些都是VM的容量指标。

定义SLA非常重要!

但是,其实我们发现,当应用部门给基础设施部门提需求的时候,通常情况都只包含VM的容量指标。很奇怪,是不是?其实背后的逻辑是,应用部门认为基础设施部门应该保证VM的性能。基础设施部门问:“保证什么样的性能?”;应用部门答:“应用需要什么样的性能,就给到什么样的性能”。

那基础设施部门怎么知道应用需要什么样的性能呢?难道为每一个VM提供最高的性能?现实吗?如果应用的性能不好,基础设施部门是不是就要背锅呢?

根本的问题在于基础设施部门提供的服务没有Service Level Agreement(SLA)。

这就如同开一个餐馆,虽然大家都是点的红烧肉,但是不同级别的餐馆差别很大,菜品的质量、上菜的速度、餐馆的环境、服务生的响应度等等。基础设施部门需要事先定义清楚SLA。一个例子,如下图所示,我们定义了三个级别的服务。

服务的级别越高,资源池的复用率越低,甚至需要单独预留(reserve),从而导致整体的资源池使用率(Utilization)越低。

当应用部门申请VM的时候,请选择需要的Service Tier。我们的建议是,通过压力测试和最终用户体验监控(End User Experience Monitoring)来决定到底需要什么级别的SLA。

如果发现应用的性能下降,基础设施部门很容易就可以说明到底基础设施层面有没有问题;如果有问题,是哪个方面出了问题,问题有多严重。对于应用部门来说,如果基础设施没有问题,就可以把精力集中在应用的性能诊断上。如果是由于访问量增加导致的性能下降,也可以通过提升Service Tier来提升性能。

当然,应用部门可以所有的VM都选择Tier 1的服务。但这其实是一种浪费,通常可以通过两种方式来解决。

事前审批:通过人的经验来判断需求是否合理

计量计费:通过财务手段进行约束

我们回到文章开始时提出的两个问题:

为什么应用部门和CIO的看法相差那么大?

答:因为应用部门看的是性能(Performance),而CIO看的是资源使用效率(Utilization)。Performance和Utilization是完全不同的指标。

作为IaaS系统架构师的你,是否有足够的信服度告诉大家,到底现在应该买更多的硬件,还是增加更多的虚拟机?

答:当Performance不达标时,首要任务是解决Performance问题,这个时候增加新的VM提升Utilization,只会导致Performance问题更加严重;我们需要接受一个理念,performance的提升通常需要牺牲整体的utilization。

如果你没有SLA,只关注utilization,那你只是在做虚拟化整合,而不是提供基础设施服务。

知易行难,重在企业文化

以上的理念并不新鲜,ITIL已经倡导了那么多年,根本的就是IT服务管理。IT部门从一个支持部门转变成为一个服务部门,制定服务目录和对应的SLA。

基础设施部门通常情况下被认为是支持应用的,是一个成本中心。应用是来支撑业务的,是利润中心,当然是要多少资源,就要给多少资源,作为成本中心的基础设施部门很难去讨价还价。这其实是一个误区,IT需要让所有的业务部门清楚,基础设施也是一种服务,也是要付费的,不同级别的服务,不同的价格。

这样的转变,考验的是企业文化和IT部门领导的认知。

在笔者的日常工作中,笔者已经看到很多用户已经制定IaaS服务目录,提供基本的VM服务。但是这只是第一步,下一步需要制定对应的SLA,这才能成为真正的Service。

---end---

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180204G0XYV800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券