把应用程序迁往云计算并不是最后的大功告成。有时候会发生一些迫使你不得不重新设计应用程序的突发事件,合规性需求可能会带来发展障碍,而如果你的云计算供应商不支持诸如组播的低层次网络服务,那么就可能带来带宽问题。
在你评估哪一个应用程序可以在公共云中运行之后,还有其他需要考虑的因素,如配置、数据迁移和监控等。当把一个应用程序迁往云计算时,有哪些最常见的配置任务是需要你牢牢记住的?下面的清单列出了其中的若干关键点:
• 服务目录可能包括了老版本的虚拟机(VM),这些虚拟机由于没有升级打补丁而无法满足你的需求。因此,需要使用拥有打过最新安全和功能补丁的虚拟机版本。
• 查看所有在虚拟机上运行的无交互后台程序和服务,并关闭所有不需要的程序与服务。此举将减少所有虚拟机的攻击服务。
• 配置应用程序层之间的防火墙,从而实现各层之间网络流量的最小化。例如,你应当只开放所需要接受、响应请求并支持管理协议的端口。
• 如果你需要强大的加密功能,如PCI DSS,请确保你的SSL证书/TLS证书加密功能是强大的。在一个SSL会话中的客户端和服务器将协商确定使用哪一个密码套件;如果没有设置相应配置,那么它们可能就不会使用强加密功能。
• 当使用一个混合云计算模式时,应配置一个虚拟专用网络以确保内部与外部资源之间的通信。
• 使用SSL服务器证书,以授权服务器和支持加密通信。根据你的架构,你也许能够使用单域名证书、通配符证书或多域名证书,以便于帮助把你必须管理证书的数量降至最少。
• 使用诸如Chef或Puppet这样的配置工具以实现云计算管理任务的自动化。
实现数据迁往云计算的方法
除了配置云计算资源,你还需要一个把数据从现有系统迁至基于云计算系统的计划。实现数据迁移可以有若干种方法;而其中最好的一个选择则取决于你企业的需求与系统体系架构。
其中一个方法是在迁移系统之前使用数据库复制功能在云计算中建立一个你的数据库的副本。如果你使用云计算技术用于灾难恢复任务(DR),那么数据库的副本已存在于云计算中了。使用这种方法,可以把变更写入副本以使你的生产系统保持正常运行。同时,从当前生产系统到云计算系统的迁移所需时间也实现了最小化。
备份与恢复是另一个数据迁移的方法,该方法适用于基于非交易业务的系统,如用于数据挖掘应用的数据仓库和其他商务智能(BI)数据库。但是,这种方法会延迟基于云计算数据以及增量更新的初始载入时间。
此外,并不是所有的数据都存储在关系型数据库中。对于基于文件的数据存储,你可能需要使用Rsync,这是一个常用于镜像和备份服务应用的同步工具。Rsync适用于Unix/Linux和Windows平台。
高效地监控基于云计算的应用程序
应用程序的云计算迁移将扩展你的基础设施并创建你必须监控和管理的额外资源。为了让所有的应用程序正常运行,你应当:
•做好包括中央日志管理库中云计算服务的日志记录工作。你可能想要在云计算中维护一个单独的日志管理库以减少网络流量以及云计算与你内部中央日志管理库之间的变更。但请记得,此举有违从单一点访问日志数据的原则,从而产生一些问题。
•使用事件触发机制以产生与云计算服务器中重要事件相关的预警。
•定期使用诸如Tenable公司Nessus这样的漏洞扫描工具,以检查基于云计算的虚拟机的安全漏洞。
•如果你正使用即用即付的云计算应用模式,当使用率降至预定义的阈值时应当实现跨服务器的自动跟踪并关闭其中某些服务器。而当需求超过使用率预定义阈值时,就可动态增加服务器。
•使用即期定价实例以达到节省成本的目的。根据需求,Amazon EC2以可变价格提供可使用资源。例如,你可以以每小时每虚拟机特定价格出价,只要你的出价仍然高于设定价格,你就可以继续使用该虚拟机。如果你不希望在预设日期或时间完成任务,这个模式依然能够适用。如果出价低于即期价格且你的虚拟机关闭了,那么即期定价模式也需要恢复你的工作而不会丢失过多工作。
在把应用程序迁往云计算之前,应检查你的系统架构。要特别注意内部服务器和潜在基于云计算服务器之间的网络服务和流量。当把某些应用程序迁往云计算是有意义时,应认真考虑系统配置、数据迁移流程以及继续进行的监控和管理程序。