五大方法优化应用 只为降低公共云成本
- +1 你赞过了
【天极网云计算频道译稿】上个月,亚马逊Web Service因一场风暴服务中断,导致美国东部的用户无法访问Netflix、Pinterest和Instagram的内容。特别对于Netflix来说,服务中断当天是周五,正值Netflix用户使用高峰,因此服务中断引来了许多用户的不满。
有人欢喜有人忧!而Roundup就是那个欢喜的,它是一个多基因组图谱的应用,主要是预测基因、生物和生物功能之间的进化关系。这个Round应用需要借助高密度计算能力才能提供服务,所以哈佛研究者用的是亚马逊云服务组合,其中包括S3(Simple Storage Service)、EC2(Elastic Compute Cloud)和Elastic MapReduce。为了优化应用,Roundup团队减少了综述减少磁盘I / O,削减其在内存中缓存的使用,计算出了最佳的实例数量。这样的做法为Roundup团队在保证性能和未来发展的前提下,节省了40%的账单费用。
当然,没有像Roundup团队这样做优化的应用也照样正常运行,但是性能等方面也许就没有Roundup团队做的好了,最最关键的就是公共云的成本问题,在这个追求低成本高效率的世界里,应用优化无疑是必不可少的工作,不信的话看看Roundup的案例就知道了。本文将阐述如何对公共云里的应用进行优化。
1. 重构代码来处理云服务提供商的计费模式
亚马逊的Awes收费不只包含计算、存储和你使用的网络带宽的费用,它还包括你每次访问存储内容的读写流量的费用。如果你想要降低成本的话,你就要尽可能将业务数据的读写操作整合到一个简单的应用操作中,只有这样你才能只用为你的服务器买单,而不用为每次的读写操作进行付费。
这种云优化技术的整体效果依赖于公共云服务提供商的价格策略,不论你签署的是哪个云服务提供商,重构代码可以看作是提升应用性能的一个机会。
2. 优化默认云计算实例
设置EC2实例时,你可以选择不同层次之间的计算,内存和存储。另外,EC2提供了Spot Instance,指的是产能过剩,以低于正常价格提供服务。
另外,你还需要花点时间来做应用的测试,以便计算你最优状态下所需要的计算能力、内存和存储。这能帮助你确保你所需要的计算能力和相关配置,避免乱花钱,还有助于你搞清楚是否需要Spot Instance。
3. 平衡默认云实例所需的服务水平
每一个应用都有自己的配置文件,也就是那个说明应用一般用途和功能的文件。面向客户的电子商务网站,有不同的服务水平,而不只是你的内部员工门户。对各种应用所需的服务水平和公共云实例的成本进行评估,将很有可能会帮助您优化自己的公共云成本。
在让我们回想一下6月29日的Netflix服务中断,考虑到视频服务的特性以及Netflix存储和宽带的特点,亚马逊在其他地方的数据中心并非一直都是可用的。然而,如果考虑过较不密集和更多的关键任务服务的优化以替代数据中心的话,他们是很有可能免受这种服务的中断的。
4. 微调自动扩展规则
自动扩展服务器实例的应用程序为优化提供了一个绝好的机会。例如,你可能有一个自动扩展的规则,一旦目前所有的实例的CPU利用率达到80% 或者是CPU的平均利用率达到40% 就会产生一个新的实例。
另外,应用程序所需的计算能力、存储和带宽总是在变化的。你的规则需要结合这三个因素来设置,而不是光看CPU的利用率。你还要做很多才尝试,来寻找适合你的应用程序和服务协议的组合,这需要一段比较长的时间。
5. 数据库行优化
像Netflix拥有本地化特点的应用程序,意味着大部分时间用户访问只是为了获取数据。Netflix使用的是AWS' Regions and Zones来托管服务器,来服务那些在数据中心附近的客户。
这些都要归功于数据的切片技术,能够让你给数据库中的行数据进行分区,还能分别存储在不同的数据库和不同的数据中心里。 这个也适用于信用卡交易处理应用,因为分片技术可应用于本地化模式,比如说我们要需找一张信用卡拥有者的所有交易,这个技术就派上用场了。
你不需要将数据库的所有行数据存储到所有的数据库实例中,如果你可以分区存储你的数据库行数据并将其分片存储在不同的实例中,你就可以利用这种本地化模式,这样会减少你所需的服务器实例的数量,从而降低公共云服务的成本。
当你将应用迁移到公共云中时,你的应用也许在不做任何改动的情况下也能运行的很好,但是,如果你留意一下你的云服务提供商对你的收费,以及你的应用程序使用的计算能力、存储和带宽的话,你能很容易的找出降低成本的方法,不信的话,试试上述所说的五大方法你就知道了。
最新资讯
热门视频
新品评测