转换到公有云就像迁移您的移动应用程序和支付您的月度账单一样简单。但是,您的支出是否超出了应有的范围?这里有五种公共云应用程序优化技术,可帮助您在提高性能的同时节省资金。1.重构您的代码以考虑到云服务提供商的计费模型是写的。因此,只要有可能,您可能希望聚合应用程序的读取和写入并将它们分组到一个操作中。这样,一旦您为自己的服务器付费,就不会在每次读取或写入时产生额外费用。这种云优化技术的整体有效性取决于您注册的公共云服务提供商(CSP)的定价方法。无论您与哪个CSP签约,重构代码都可以视为提高应用程序性能的机会。2.优化选择的默认云实例使用EC2构建实例时,您可以在计算、内存和存储等不同级别的资源之间进行选择。另外,EC2提供现货实例(SpotInstance),即随时可用的额外容量,以低于普通实例的价格提供。花一些时间测试您的应用程序以确定您需要的最佳计算、内存和存储资源量是值得的。这将帮助您确保您不会在容量或配置上超支,并帮助您确定是否考虑使用Spot实例(或其他CSP提供的等效实例)。3.平衡所需的服务级别与默认云实例每个应用程序都有自己的服务级别配置文件,即其通用目的和功能。例如,您面向客户的电子商务网站的服务级别可能与您的内部员工门户网站不同。根据各种应用程序所需的服务级别评估公共云实例的成本可能会帮助您优化公共云成本。回顾一下发生的Netflix中断事件。鉴于视频流服务的性质,以及Netflix的存储和带宽密集型性质,强行启动亚马逊在别处建立的另一个数据中心可能不可行。但是,如有必要,可以优化强度较低、任务关键型的服务,以由替代数据中心提供服务,从而使Netflix免受此类中断的影响。4.微调自动缩放规则自动缩放(增加和减少)服务器实例数量的应用程序提供了很好的优化机会。例如,您可能有一个自动缩放规则,一旦所有当前实例的处理器使用率达到80%,就会创建一个新实例,而另一个自动缩放规则会在处理器使用率平均达到40%时创建一个新实例,并创建一个新实例。你怎么知道80%和40%是正确的数字?为什么不是85%和35%?如果遵循后一条规则,则可以创建更少的实例并降低成本。此外,每个应用对计算、存储、带宽等资源的需求也不尽相同。因此,您的规则需要基于以上三个因素的复杂组合,而不仅仅是处理器使用情况。您可能需要尝试对您的公共云应用程序和所需服务级别而言似乎合乎逻辑的组合。然后,您可以随着时间的推移优化这些百分比。5.数据库行优化像Netflix这样的应用程序是本地化的,这意味着大多数时候,客户只能访问属于他们的数据。Netflix使用AWS区域和区域为住在这些数据中心附近的客户托管和运行服务器。这要归功于数据库分片。这种技术允许您对数据库中的行进行分区,并将不同的分区存储在位于不同数据中心的数据库中。该技术也适用于信用卡处理等应用,因为分片适用于本地化的使用模式,例如查询某个持卡人的交易或与某个商家的交易。您不需要在所有数据库实例中存储所有数据库行。如果您可以对数据库行进行分区并将它们存储在不同实例的数据库分区中,那么您就可以在使用模式中利用局部性。这将减少您需要的服务器实例数量,从而降低公共云服务的成本。将应用程序移动到公共云后,它实际上可能无需任何更改即可顺利运行。但是,如果你关注CSP是如何收费的,结合你的应用程序对计算、内存、存储和网络带宽等资源的使用模式,就很容易降低公有云的成本。通过一些代码重构优化应用程序本身可能会提高应用程序性能和寿命,同时试验和微调您自己的默认实例和自动缩放规则可能有助于进一步降低CSP成本。英文原文链接:http://www.computerworlduk.com/how-to/cloud-computing/3373508/how-to-optimise-public-cloud-applications/
