将应用迁移到云端指南
Arun Taneja(Taneja集团的创始人兼董事长)的第四个云建议,总结了哪些应用最适合云。当把应用迁移到云端时,有哪些基本规则和哪种应用从性能角度来看是行不通的?
我们经常会被问到“我的哪些程序应该运行在云端?”当我们深入分析时,就会发现这个问题大多是出于对性能的担心而产生的,特别是网络了I/O性能。它的确是应用持有人和IT基础设施管理者应该慎重考虑的问题。
在我们谈论移动应用到云端和应用性能这个关注点之前,我们先提供一个更宽泛的上下文,因为当用户在考虑迁移特定应用时会有很多其他的问题。
1. 安全:用户应该询问他们的云厂商在数据加密和访问控制上提供哪种安全解决方案来保证应用数据的安全和用户访问敏感数据时怎样去认证用户。
2. 法规遵从性:一些关键业务应用,特别是金融服务和医疗保障往往有严格的要求,这些需求往往不适合于云。
3. 应该可用性:关键业务应用通常会关心这点,用户的需求应该在厂商的服务水平协议(SLA)下得到满足。不幸的是,公有云计算厂商不太愿意为这样的可用性等级投入。
在这样的背景下,我们把问题投向性能方面。纯粹从性能的角度去考虑,用户应该避免哪些应用运行在公有云上?首先是延迟敏感的应用,延迟在网络中会不同,但会随着距离的增加而增加,这都超出了用户的控制范围。第二,拥有大数据量的应用不适合于云,因为上传大量的数据会消耗大量的时间和带宽。第三是那些需要特殊硬件的应用,例如图像渲染处理器,不是公有云的候选者。
从另一面来说,计算密集型应用往往是一个不错的选择,特别是那些拥有少数据量的。那些零散的或者是波动的负载,只要不对延迟敏感就可以成为公有云的候选者。
那么这些经验法则是不是就意味在云运行特定程序时也适用?让我们深入了解和考虑几个常见应用,以下分为两类讨论:那些通常适用云的应用和有问题不适合云的应用。
适合迁移到云的应用
开发、测试应用。这些特别适合于公有云。在云站点(例如Amazon Web Services)上最大比例的的计算实例就是开发和测试负载。这些开发和测试过程趋向于计算密集型,自然很适合云计算。
个人生产应用。文字处理,电子表格和演示设计软件往往是很合适的。这些应用往往基于没有结构的数据,通常不需要低延迟和次秒级的响应。像微软这样的供应商开发了SaaS绑定了托管在云端的生产应用程序。
合作的应用。社交网络,网络会议和其他合作性的应用适合于云,特别是许多解决方案是为云设计的。遗留的应用程序例如SharePoint也被设计适用于云。
高性能计算(HPC)应用。基于它们的计算密集的特性,HPC应用通常适用于云计算集群,只要它们的数据需求可以被管理。
虚拟化的应用。鉴于它们紧凑的足迹和内置的效率,大多数虚拟化应用都特别适合云计算。
灾难恢复(DR)应用。就像我们在云存储网关中提到的,灾难恢复应用极好的适应云环境,因为云提供一个划算的,普遍可以接受的恢复平台。厂商如今都忙着建立或者重新构建灾难恢复应用,使它们容易被云使用。
大数据应用。数据挖掘和分析的应用(运行在Hadoop集群中的应用)在处理大数据上是云处理的良好候选者。值得注意的是,迁移它的数据到云端可能消耗大量成本和时间,所以如果这是一个需求,你就要三思而后行。
不太适合迁移到云的应用
关键核心应用。像ERP这样关键使命的应用几乎拥有所有不适合云的特征。它们一般交易集中,生产量大并且要求低延迟。它们包含敏感数据,通常还有很大的数据量,同时也要求高可用性。其中一些还需要遵从法规,因此不适合云。总的来说它们不是云计算的候选者。
网络集中型。除非以你拥有高速的网络,否则那些不断传输和接收大量数据的应用往往不适用于云。这些应用通常需要接入或者集成其他应用来共享数据。在进入之前要整体考虑,但我只想说,买者自负。
牢记以上这些常规指导方针,你迁移应用到云的决定应该基于你自身的情况,包括应用性能需求,预算约束等很多因素。