将应用部署到公有云的五个要点

云计算可以使基础设施更廉价、更灵活,我们可按需求对这些灵活基础设施进行创建、拆除、重新配置、扩张和收缩。但并不是所有的应用是按照云架构进行设计的。在本文中,您将了解到哪些应用的设计特点更适合云计算。本文将重点关注使用由国家标准和技术研究所定义的公共云。

云基础设施适用于公共大众或大型产业集团,由一个销售云服务的机构经营。云计算可以使基础设施更廉价、更灵活,我们可按需求对这些灵活基础设施进行创 建、拆除、重新配置、扩张和收缩。但并不是所有的应用是按照云架构进行设计的。在本文中,您将了解到哪些应用的设计特点更适合云计算。

鉴于本文的写作意图,我们将重点关注使用由国家标准和技术研究所定义的公共云:

云基础设施适用于公共大众或大型产业集团,由一个销售云服务的机构经营。

大多数投资使用云的公司和机构都是受到削减成本或提供动态可扩展性的需求驱动。为了成功部署云或将应用迁移到云,如下五个因素至关重要:

1.许可

您首先需要考虑许可。很可能您的应用由许多不同的组件构成,其中大多数组件具有与它们相关的某种形式的许可协议。您需要审核每个协议,以确定那些许可是 否受到云部署的影响。如果您的应用使用一个CPU许可的组件,您要将其部署在旨在启动新应用或因负载增加而要求更多资源的云环境中,就很容易超过CPU许 可限制。在这个问题上,你需要做的就是搞明白你的许可是如何影响扩展能力的。

2.处理需求和内存锁定

如果动态可扩展性是您指望云的主要原因,那么您的应用就必须利用并行架构的优势。如果应用采用允许小块的多线程代码处理进行设计,它适合在云中使用。另一方面,一个围绕单线程处理的应用将很难利用云的资源分配特性。

应用如何处理对话和锁定也将是影响部署和迁移决策的一个因素。如果您的应用使用以系统为中心的锁定和对话机制,其中包括了基于内存的锁定和基于内存的对话管理,那么它很可能无法利用云的动态可扩展性。将应用与一个独立系统绑定,这与云计算的工作机制是相违背。

一个为云设计的应用必须使用一个共享锁定机制或具有对话管理设计功能。

3.带宽需求

因为要通过互联网访问公共云,与私有云相比带宽将受到极大的限制。对于公共云的带宽限制,您应该只考虑具有中等客户带宽需求的应用。如果您有一个在客户 端和服务器之间使用扩张MicrosoftFileSharing功能的应用,用户很可能发现应用无法被接受,这是因为客户端和服务器之间的通信将压 倒客户端的互联网连接。请注意这个限制并非是单个供应商的云间(服务器到服务器)通信,因为他们通常在云供应商使用更强大的连接。

4.通信协议

云是基于互联网协议(IP)的,因此对于应用必须使用IP作为其通信机制。虽然有众多协议可运行于IP之上,但传输控制协议(TCP)仍是首选。

5.数据安全

应用需要保证数据存储、处理和传输阶段的安全性。其中三个关键组成部分是:

传输中的数据需要在应用层或传输层得到保护。您会发现大多数应用会选择在传输层进行保护,且通常使用SSL/TLS协议。

剩余数据必须由应用保护。应用必须提供一个保护保存在云中数据的机制。加密剩余数据是最佳选择,在将来的文章中我将深入研究本领域的具体细节。

服务器与服务器之间的通信常常被遗忘,因为他们目前就存在于数据中心里。您需要确保服务器与服务器(云实例与云实例)之间通信的安全性,其中不包括客户端与服务器之间的通信。

将应用迁移至云或部署我们的应用云是一个非常明智之举,但是您需要确认您能否成功地做到这一点。当考虑到云时,我们已经讨论了最重要的应用设计问题。总的来说,这是促成其成为“云预备”应用的因素:

灵活的许可

平行设计

中等客户端-服务器带宽需求

基于IP的网络

一个安全的应用对象