业界对于平台的关注程度之所以高于应用程序,主要是因为应用程序组合在不同企业及业务流程中的表现形式有所区别,因此从软件角度看我们很难对通用型解决方案进行讨论。
但在另一方面,云环境中的应用程序部署与安全性仍然存在一些共通性挑战,值得我们加以探讨。
首先一条不证自明的结论是:应当以应用程序(而非基础设施)为核心着手云构建,只有这样大家才能确保自己的业务成果顺利实现。举例来说,我们需要保证三大核心技术的确切实施--计算、网络与存储--从而避免相关瓶颈的出现。这一方针在私有云领域尤其重要,这是因为我们在私有云当中拥有绝对的基础设施控制权。
应用程序的选择也很重要。至少大家应该首先选择适用于云部署的正确应用,这意味着避免使用那些运行在大型机或者Unix集群上的应用。这类应用往往比较复杂而且需要漫长的周期与高昂的投入以进行重新配置或者重新设计。另一方面,大家可能在云创建的过程中体会到,由IaaS平台为这类应用程序提供的灵活资源基础要优于复杂的内部基础设施,因为后者必然带来高昂的维护成本。对安全性提出高要求的应用程序则不适合部署到公共云体系当中。
部署及管理变更流程应该仍可能采用自动化机制。对安全性要求较高及缺乏对计划外停机适应能力的应用高度依赖于能够多次重复的弹性规程;关于这类任务,计算机的表现要优于更容易出错的人工方式。特别是在企业业务流程方面,云资源的动态特性能够平摊整个应用程序组合的资源需求,从而帮助企业维持较低的运营成本。
值得注意的是,运行在云环境当中的应用程序几乎无一例外地运行在虚拟机系统内,并借此与其它虚拟机共享硬件资源。面对由此带来的潜在性能影响与安全性风险,我们需要使用额外的管理工具,从而摆脱单服务器单应用环境的固有解决思路。大家必须做好针对此类工具进行投资的准备--它们绝非可选方案、而是必备要素。
出于同样的原因,大家需要清醒地认识到,我们的应用程序同样共享着一家或多家数据中心及其相关网络。这可能导致虚拟机的性能表现出现波动,尤其是对于那些经过精心设计的数据中心而言--这是因为每当新主机中建立起新的虚拟机系统,网络都需要对自身进行重新配置并接受新的IP地址与VLAN分配。
总而言之,我们需要从宏观层面审视问题--应用程序是业务流程中的重要组成部分--并以此为基础进行流程与基础设施设计