优化公共云应用的五大方法

向公共云转化能够与移动应用和支付账单一样简单,然而,你的花费是否总是超出该有的费用?以下五个公共云应用优化技术能够帮助你节约花费,提高应用性能。

上月,周五晚的暴风雨导致亚马逊网服务器运行中断,为美国东部提供服务的网站如Netflix ,Pinterest以及Instagram因此崩溃。尤其是Netflix网站,周五晚属于高峰时段,所以顾客对于运行中断不可能毫无怨言。

同样,Roudup是许多基因组图应用之一,用于预测基因、器官和生物功能之间的进化关系。Rounduo使用密集型计算法,因此哈佛科研者只得综合使用由亚马逊网络服务(AWS)提供的简单存储(S3),弹性计算云(EC2),弹性编程(EMR)服务。为优化应用,Roudup团队减少了磁盘I/O,缩减内存缓存,并计算其所须的最佳实例个数。由此,Roudup节省了40%的花费,并确保能够在不影响性能的情况下,适应将来的计算增长。

也许不需优化,应用程序也能够正常运作,就如Roundup那样。然而,优化应用能够提升应用相关性能,如实用性,防灾性,以及至关重要的,节约公共云使用费用。以下是向公共云转化时,优化应用的5大方法:

1.重组代码,处理云服务供应商计费模式

AWS不仅仅收取计算,存储和网络宽带使用费----每次你进入存储器读写时,它也会收取相关费用。因此, 你可能会想将读写运算整合进应用程序中,并无论何时都能够将两者合并为单个操作。 如此一来, 你只需自己服务器产生的费用,以后的每次读或写的操作都不会产生额外的费用。

这项云优化技术的整体效果取决于,你注册使用的的公共云服务供应商(CSP)的定价方法。然而, 无论你注册了哪个CSP,代码重组都是一个提升应用程序性能的机会。

2.优化已选默认实体云

设立EC2实例时,你可以在不同层次的计算,内存以及存储间选择。此外, EC2上提供Spot实例,还有多余实例,能够随时使用,并且价格远低于一般价格。

它值得你在你的应用试验上花一些时间,以决定所需的最佳计算,记忆以及存储水平。这样能够帮助你确保你没有在性能或配置上超支,它也会帮弄清你是否该将Spot实例 (或者从另一个CSP中获得的等价物) 纳入考虑。

3.均衡默认实体云所需的服务水平

所有应用都有其专属配置----即它的一般用途和功能的服务水平。面向客户的电子商务网站,有和你内部员工门户较为不同的服务水平。估算公共实体云的花费,将之与各种应用程序所需要的服务水平相比较,可能会帮助你优化自己的公共云计算成本。

回顾6月29日的Netflix停电事故。考虑到视频流服务的本质,将其强行塞入Amazon公司位于另一个郡的数据中心也许不可行。然而, 较不密集,并且使命重大的服务可以被优化,从而在可能的情况下,在可供选择的数据中心之外提供服务,避免这种运行中断的现象。

4.微调自动扩展原则

能够自动调整服务器实例数量的应用随处可见,这位优化提供了良机。例如,一旦CPU现有实例利用率达到80%,你的自调整比率尺就会产生一个新实例,而若CPU平均利用率达到40%,自调整比率尺就又会产生一个新实例。

如何得知80%与40%是正确的数字?为何不是85%和35%?有了后一项规定,你就能够产生更少实例,降低更多费用。

此外,各应用程序算法,存储,带宽需求各不相同。因此,你的规则需基于以上三项因素的组合,而不仅仅是利用CPU。你可能需要对不同组合进行试验,找出适合你的公共云应用,以及其所需的服务层次。

5.数据库行优化

如Netflix那样的应用都有局部限制,即大多数时候,客户只接触得到属于他们的部分数据。Netflix使用AWS的Regions and Zones来运行服务器,只为居住在数据中心周围的客户提供服务。

这多亏数据库分区技术,它能够在你的数据库中分区套排,将不同分区存储在数据库不同数据中心内。这项技术同样应用于信用卡处理,自从分区可适用于局部模型,如处理信用卡持有者的信息或交易情况。

你不必在数据库实例中存储所有数据库套排。若你能够分割数据库套排,并存储于不同实例的数据库分区,你就能够利用分区所在的使用模型。这将所需的实例数量,由此降低公共云服务费用。

当你将应用向公共云转化时,你的应用也许在不做任何改动的情况下也能运行的很好。然而,如果你有注意到CSP收费方法,并将之与应用模式的计算,内存,存储,网络带宽使用率联系起来,你就能够轻易减少公共云费用。使用代码重组优化应用也许能够提升应用性能并延长使用寿命,而测试并微调默认实例以及自调整比率尺也许能够对你降低CSP费用。