云计算应用程序迁移问题破解

当前,在IT行业中,绝大多数的大型、老式、单一的应用程序都不具备可移植性,必须对它们进行重新编写以适应目标环境。而在应用程序的可移植性方面的尝试已花费了大家大量的时间和金钱。毫不奇怪,云计算中应用程序迁移的目的在于以某种方式使应用程序更具云计算可移植性。我们至少可以在以下三个方面入手:使应用程序的架构更趋合理,以提升其在云中的可移植性;为云计算开发开放式标准;寻找无需修改就可在云中实现应用程序迁移的工具。其他有些需要特殊硬件支持的应用程序是不具备较高的可移植性,甚至许多最近发布的较新应用程序也不具可移植性,更不用说他们在云计算中的可移植性了。

应用程序架构与云计算

许多云计算专家都指出了应用程序的架构对于应用程序在云间迁移能力的重要意义。合适的云计算应用程序架构是云计算互操作性解决方案的一部分,而现有的应用程序可能需要重新进行架构设计以满足可移植性的要求。其关键在于应用程序的架构应当能够减少或消除应用程序栈与云计算服务供应商所提供功能之间难以解决的依赖性。

HyperStratus公司的CEO Bernard Golden指出,为了挖掘云计算环境的灵活性,一定要了解哪些应用程序架构有助于应用程序在云中正常运行,哪些种类的应用程序和数据能够在云计算环境中、数据备份需求中以及系统负载中运行良好。

目前,至少有三种流行的云计算应用程序架构:

• 传统应用程序架构(如三层架构),可用于稳定负载的应用中。这类应用不需要负载有变化的架构。

• 同步应用程序架构,这一架构中最终用户交互是主要的关注点。通常情况下,在短时间内大量的用户的集中使用会对网络应用程序造成极大的冲击,并对应用程序和系统的稳定性造成不良影响。

• 异步应用程序架构,基本上所有这一架构的批处理应用程序都不支持最终用户交互。它们基于数据集工作,在数据库中提取和插入数据。云计算实现了服务器资源的可扩展性,用不同的方法实现了将长期运行的异步工作分散部署在若干服务器,以实现处理负载共享。

平台即服务(PaaS)供应商为开发应用程序提供工具,为运行这些应用程序提供环境。为了发布一个PaaS平台下的应用程序,你必须在该平台下开发和部署该应用程序;这就是Google应用程序引擎的工作方式。你只能在Google 服务上部署应用程序引擎的应用程序,但是诸如Appistry CloudIO之类的云计算应用程序平台允许进行内部私有云部署和在诸如Amazon EC2之类的公共云基础设施上的部署。

应用程序的开发环境与运行环境都是设计应用程序架构时应当纳入考虑范围的重要因素。例如,如果你在一个无租户的私有云环境中进行开发工作,那么这样的应用程序是否能够在多租户情况普遍的目标云环境中正常工作呢?将新的应用程序与原有应用程序进行集成也是应用程序开发中的关键内容部分。如果集成工作涉及到云计算供应商,那么其难度将不言而喻,因为云计算供应商一般没有访问基础设施、应用程序以及集成平台的公开通道。

依赖于部分特定硬件的较旧应用程序(即这些应用程序需要某种特定类型的网络控制器或磁盘)也是非常的麻烦。云计算供应商可能不会考虑在其基础设施中继续使用这些较老的硬件。

在应用程序迁移的工作中,你可以决定使用一个云计算供应商模板进行启动,在这个模板中有一个供应商为你提供的操作系统,其典型代表是CentOS或Red Hat公司的企业版Linux模板。然后,你就需要在这个操作系统上运行你的应用程序,调试并消除源应用程序环境和目标环境之间的不匹配。真正的挑战是,这一方法变成了一个伴随着很多变通方法和变更的未知过程。

随着不断地遇到一连串的问题,不断地解决这些问题,你就会发现你几乎就是在重新编写这个应用程序了。希望你并不是必须完全重写这个程序,但是毫无疑问你一定会修改某些配置以及其他的关键细节。然后,在你面前的就是一个完全不同的应用程序了。这可能是好事也可能是坏事,但至少你已经至少有了这个应用程序的两个版本——数据中心版和云计算版。

如果在数据中心和云之间(或者在云之间)迁移一个应用程序会导致产生一个应用程序的两个不同版本,那么等待你的将是一个应用程序的众多版本集了。当你调试和遇到问题时,你就必须面对这一具有众多版本的应用程序集了。

时间: 2024-10-30 09:31:49

云计算应用程序迁移问题破解的相关文章

云计算标准和应用程序迁移

摘要:开放式云计算标准被认为是解决应用程序迁移和云计算互操作性问题的最终解决方案.我们将云计算标准视为一个集合,这一标准源于诸如OVF(开发虚拟化格式)之类的标准,它为你提供了一个用于描述虚拟机的元数据和配置参数的通用语言.在上一层是有用的环境(虚拟机之间的联系)描述.这将为你提供虚拟机间的环境.虚拟机运行环境的功能与规模等信息. 开放式云计算标准被认为是解决应用程序迁移和云计算互操作性问题的最终解决方案.我们将云计算标准视为一个集合,这一标准源于诸如OVF(开发虚拟化格式)之类的标准,它为你提

云计算应用程序管理的任务清单

把应用程序迁往云计算并不是最后的大功告成.有时候会发生一些迫使你不得不重新设计应用程序的突发事件,合规性需求可能会带来发展障碍,而如果你的云计算供应商不支持诸如组播的低层次网络服务,那么就可能带来带宽问题. 在你评估哪一个应用程序可以在公共云中运行之后,还有其他需要考虑的因素,如配置.数据迁移和监控等.当把一个应用程序迁往云计算时,有哪些最常见的配置任务是需要你牢牢记住的?下面的清单列出了其中的若干关键点: • 服务目录可能包括了老版本的虚拟机(VM),这些虚拟机由于没有升级打补丁而无法满足你的

MYSQL到ORACLE程序迁移的注意事项(转载)

mysql|oracle|程序 MYSQL到ORACLE程序迁移的注意事项                                                  2001-09     有很多应用项目, 刚起步的时候用MYSQL数据库基本上能实现各种功能需求,随着应用用户的增多,数据量的增加,MYSQL渐渐地出现不堪重负的情况:连接很慢甚至宕机,于是就有把数据从MYSQL迁到ORACLE的需求,应用程序也要相应做一些修改.本人总结出以下几点注意事项,希望对大家有所帮助. 1. 自动增

将 Java 小程序迁移到 Microsoft J# 浏览器控件

程序|控件|浏览器 Visual J# .NET 小组 Microsoft Corporation 摘要:通过 Microsoft J# 浏览器控件,开发人员可以将所编写的在 Java 虚拟机上运行的 Java 小程序迁移到 .NET 框架.本文向开发人员介绍 J# 浏览器控件,并说明将 Java 小程序迁移到 .NET 框架的步骤.本文还讨论了其他一些主题,如 J# 浏览器控件的安全性和调试,以及当前版本中不受支持的功能. 下载 HTML 小程序到对象标记转换器 (95KB) 本文假设开发人员

为 IBM PureApplication System 做好准备(一)应用程序迁移概述

简介 IBM PureApplication System 是一种优化了工作负载的集成式硬件和软件设备,设计用于显著简化私有云环境中应用程序的开发.供应和管理.它具有集成管理功能,允许通过自助服务提供灵活的应用程序.数据库和其他工作负载. 利用 PureApplication System,IBM 重新定义了一些关键数据中心概念.硬件和软件深度集成在一起,提供无与伦比的自动化.性能和简单性水平.为了更好地在业务中利用这种力量,务必谨慎考虑您的应用程序组合,关注如何利用这些特征的优势.本文章系列立

将遗留Hibernate应用程序迁移到OpenJPA和EJB 3.0(一)

简介:通过使用 EJB 2.1 以及 OpenJPA 和 EJB 3.0 中的等效功能比较 Hibernate 应用程序中的特 性和功能,学习如何将 Hibernate 应用程序源代码.对象关系映射和配置参数迁移到 OpenJPA. 引言 Hibernate 是开放源代码持久性和查询框架,提供传统 Java 对象 (POJO) 到关 系数据库表的与对象相关的映射,以及数据查询和检索功能.Apache OpenJPA 项目将按照 EJB 3.0 Java Persistence API 规范的定义

把WebLogic EJB程序迁移到JBoss上

WebLogic服务器是一款顶级的商业应用程序服务器.但是对于小规模的开发者来说,开发源代码的.基于标准的应用程序服务器JBoss是可以用来替换类似WebLogic或WebSphere等商业应用程序服务器的.不幸的是,在WebLogic中开发的应用程序不能在JBoss中部署.JBoss迁移服务为我们提供了把应用程序迁移到JBoss上的支持.作为代替,通过把厂商特定的部署文件信息迁移到JBoss上,是可能把应用程序迁移到JBoss上的.为了演示如何把应用程序迁移到JBoss的过程,我们将把一个在W

vc ado-VC 通过ADO链接sql,原本运行良好的程序迁移后报错

问题描述 VC 通过ADO链接sql,原本运行良好的程序迁移后报错 VC6.0 添加了两个文件ado.h ado.cpp,通过ADO链接sql.在我的台式机上运行良好,在我的本上报错 error C2146: syntax error : missing ';' before identifier 'ConflictTables' f:新建文件夹 (2)农产品物流管理debugmsjro.tlh(100) : error C2501: '_RecordsetPtr' : missing stor

将32位Informix ODBC应用程序迁移到64位模式

本文将讨论 Informix ODBC 驱动程序的 64 位二进制文件与真正的 64 位驱动程序的差别.同时,您还将了解如何迁移当前的 32 位或 64 位 Informix ODBC 应用程序,从而能够利用真正的 64 位驱动程序.包括个人电脑在内的所有新计算机都支持 64 位处理能力.64 位系统与 32 位系统相比具有明显优势,因此越来越多的系统都运行在 64 位操作系统上.64 位操作系统可以处理 64 位宽度的整数位数和内存地址,这将在 整体上提高性能和可扩展性.如果将 32 位和 6