云计算SLA是否还有希望?
当企业购买网络服务时,他们认识到他们在云计算可用性和性能问题方面是处于弱势地位的——有时甚至是极其的赢弱。解决这个问题的方法就是与云计算服务供应商谈判并签署一份云计算SLA。但是,最终用户对云计算服务等级协议的需求往往不同于企业对该SLA的需求。
在应用程序级,最终用户希望云计算服务可以满足一个可用性的标准和使用体验性能或质量(QoE)的标准,其度量指标一般为响应时间。相关用户对此使用体验的反应也各不相同。在一次对云计算用户的调查中,只有约10%的受访者表示,他们已经得到了他们云计算服务的一个具体的SLA。造成这一需求与实际情况间巨大差距的原因有很多,同时其中大多数都难以解决。
云计算SLA在网络环境中举步维艰
在调查报告中,云计算SLA所面临的第一个问题是它们把网络性能排除在外。大多数的云计算服务都是通过从一家公司而不是云计算服务供应商所提供的网络连接进行访问的,可以想见云计算服务供应商根本无法保证网络连接的性能。
此外,如今的大多数云计算服务都是通过互联网进行访问的,而互联网恰恰是无法提供任何保证的服务。当你无法保证网络连接性时,就很难与云计算服务供应商就云计算SLA进行谈判;出于同样的原因,当在你的QoE测量点和云之间有一个服务组件(即网络)时,用户也就无法举证云计算服务供应商所提供的服务是否满足SLA。这个特殊问题也影响到连接云计算的管理以及撰写管理级QoE SLA的能力。
任何编写过或监控过SLA的人士都会非常认同调查报告中排名第二的问题:协议没有或无法对度量QoE确定一个合理的机制以明确合规性。这个问题始于看上去似乎很简单的问题,即以可度量的术语说明“云计算供应商到底应该确保什么?”例如,用户公司可以在多个点、通过多种方法测量响应时间。除非有一个双方都同意的测量点定义和测量值标准,否则就不可能有一个具有实际操作意义、可供强制执行的SLA。
在调查报告中,云计算SLA的第三个问题是由用户所提供的软件组件和由用户所创建的应用程序连接可能会影响应用程序的QoE。如果我们将软件即服务(SaaS)视为“最高等级”的云计算服务,而将基础设施即服务(IaaS)视为“最低等级“的云计算服务,那么低层次服务中包含了更多用户所提供的组件,同样由用户提供具有较高风险的组件所创建的外部连接将对云计算服务的整体性能产生不可预知的影响。云计算服务供应商无法保证、或者甚至无法预测这部分由用户所提供组件将对整体应用程序QoE产生何种影响。
调查报告中涉及的SLA第四大问题是云计算参数设置可能会对应用程序QoE产生重大影响,这就意味着SLA的编写必须基于非常具体的参数设置假设。这样,特殊情况甚至是部分异常情况都有可能会导致QoE和SLA问题。
云计算SLA的条款
这里真正的问题在于,虽然可能有很多原因造成无法得到一个真正有实际意义的SLA,但是那些原因也无法减轻其需求。那么,你应当如何获得尽可能最好的SLA?
总之,答案在于避免上述的问题;其基本原则是理解云计算服务供应商实际上能够保证些什么。云 计算服务的工作实质在于为实际应用程序分配虚拟资源。如果分配的工作如你所预期的那样,那么资源性能也会达到相同的预期效果。你必须约束的变量包括为资源和通过网络为你访问资源而分配参数。
你能够得到最全面的SLA往往来自于同样身为网络供应商的云计算服务供应商,因此出于SLA目的最为有利的关系是与网络运营商的云计算服务的供求关系。
第二最佳选择是从一个你的云计算供应商所建议和担保的运营商处获得一个云计算服务连接。在这两者中任一一个情况下,你将需要使用一个有别于互联网或互联网VPN访问而“专门提供”的VPN以获取特定的通信保障。
在资源分配空间中,简单的规则就是询问,“在这里什么是虚拟资源?”
在SaaS中,虚拟资源囊括了一切,因为用户没有提供任何组件。因此,云计算服务供应商应具备对其完全的控制,并应编写一个关于所有应用程序非网络组件的SLA。
在诸如平台即服务(PaaS)或基础设施即服务(IaaS)这样的低级云计算服务中,供应商应当确保他们所提供的服务;你的目标是确定如何度量供应商所提供服务的性能。在IaaS中,你的应用程序分配至服务器的速度将是最具可变性的因素,而当发生故障时一台新服务器替代发生故障服务器工作的速度将决定可用性。