应用软件迁移与适配

一、历程

 

1、介绍

应用迁移过程涉及组织的软件从一个环境迁移到另一个环境。在云技术的上下文中,可以将应用从本地服务器迁移到云或从一个云迁移到另一个云。应用迁移可以是更大的现代化或云采用策略的一部分。

许多不同类型的工作负载—包括应用程序—可以迁移到云。通常迁移的工作负载包括:

  • Windows Server
     
  • SQL Server
     
  • Linux Server
     
  • 数据库
     
  • Web 应用
     
  • 虚拟桌面

2、优势

增强的安全性。云环境通常附带由服务提供商自动修补和更新的内置安全功能。这为组织提供了更高的安全性,省去了增加用于安全维护的时间和资源的成本。

合规性。高度管控的行业—例如,政府、金融和医疗保健—具有严格且有时复杂的合规性要求。一些云平台附带专门的合规性产品/服务,可帮助工作负载满足这些要求。

备份和恢复。发生技术灾难时,备份和恢复支持对于恢复正常工作至关重要。许多云提供商提供内置于其平台中的一键式备份和恢复功能。

可伸缩性和灵活性。 随着组织需求的变化,可以快速纵向扩展或横向缩减云资源—组织只需为使用的资源付费。

简化管理。中心管理工具可帮助组织轻松跟踪其应用及其不同的环境或混合环境。

客户和员工价值。组织可以将应用迁移到云,从而为应用用户—内部员工或外部客户提供增强的价值。与本地应用相比,云原生应用更可用、更耐中断且更易于管理。

节省成本。应用迁移可能会显著节省成本,包括维护、资源和房地产成本。此外,可以优化基于云的应用以进一步减少云支出。

二、源码执行

应用迁移步骤

迁移应用有三个基本步骤:

  1. 规划。在执行任何迁移操作之前,组织必须仔细考虑其应用迁移目标—包括其业务目标和 IT 目标—并定义其方案。这一步的目标是发现和评估现有应用和环境。
     
  2. 实现。在此步骤中,组织将培养新技能并开始迭代地迁移应用。迭代方法使组织能够根据需要灵活地更改其项目范围或策略。
     
  3. 运营。应用迁移并非一劳永逸。组织迁移应用后,可以使用云平台服务和工具以更好地保护、治理、管理和优化其应用以改进性能和节约成本。

 

三、 应用迁移策略

这四项策略有两点不同:第一,组织的迁移目标,第二,需要对应用本身进行代码更改。应用迁移策略在规划步骤中定义,在实施步骤中生效。

重新托管。重新托管有时称为"直接迁移",强调速度,因为它几乎不需要更改代码。组织从以前的环境中获取应用,并按原样将其迁移到新的云环境。

平台更新。此方法介于重新托管和重构之间。通过平台更新,组织会进行少量代码更改,以便云技术可以应用于应用。

重构(或重新打包)。比平台更新更进一步,大幅修改了移动到云的重构应用,以便更类似于专为云开发的应用。

重塑架构。组织修改并扩展应用功能和代码以更好地缩放。如果组织需要云可伸缩性,这可能是正确的方法。

如果组织认为应用的功能、生存期或满足未来业务需求的能力太有限,则有两种额外的策略可用:

重新生成(或重写)。如果组织需要使用云解决方案重新创建应用,则重建有时是正确的选项。重新生成(而不是持续修改可能具有固有缺陷或限制的代码)可以让组织有机会在云中重新开始。

替换。将应用替换为现成的解决方案比重新生成更快,并且可以释放有价值的开发资源。但是,替换应用可能会带来挑战,例如业务流程中断和未来现代化计划的限制。替换应用可能并非针对组织的所有场景和用例而设计,并且其背后的开发人员可能没有资源在组织需求发生变化时自定义或扩展应用。

 四、应用移植Makefile

 一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个shell一样,也可以执行操作系统的命令。

概述Linux 环境下的程序员如果不会使用GNU make来构建和管理自己的工程,应该不能算是一个合格的专业程序员,至少不能称得上是 Unix程序员。在 Linux(unix )环境下使用GNU 的make工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个命令就可以完成编译、连接以至于最后的执行。不过这需要我们投入一些时间去完成一个或者多个称之为Makefile 文件的编写。所要完成的Makefile 文件描述了整个工程的编译、连接等规则。其中包括:工程中的哪些源文件需要编译以及如何编译、需要创建哪些库文件以及如何创建这些库文件、如何最后产生我们想要的可执行文件。尽管看起来可能是很复杂的事情,但是为工程编写Makefile 的好处是能够使用一行命令来完成“自动化编译”,一旦提供一个(通常对于一个工程来说会是多个)正确的 Makefile。编译整个工程你所要做的事就是在shell 提示符下输入make命令。整个工程完全自动编译,极大提高了效率。make是一个命令工具,它解释Makefile 中的指令。

在Makefile文件中描述了整个工程所有文件的编译顺序、编译规则。Makefile 有自己的书写格式、关键字、函数。像C 语言有自己的格式、关键字和函数一样。而且在Makefile 中可以使用系统shell所提供的任何命令来完成想要的工作。Makefile在绝大多数的IDE 开发环境中都在使用,已经成为一种工程的编译方法。 

 

 五、python应用移植

python优势:

1、软件质量高:Python更注重可读性、一致性和软件质量,这将其与脚本语言世界中的其他工具区别开来。因为代码的设计致力于可读性,因此比起传统脚本语言有更优秀的可重用性和可维护性。此外,Python支持软件开发的高级重用机制。例如OOP。
2、提高开发效率:Python代码的大小往往只有C++或Java代码的1/5--1/3。这就意味着录入和调试更少的代码,并且在开发完成后维护更少的代码。并且Python程序由于属于脚本语言的缘故,无需编译及链接等步骤,进一步提高效率。
3、程序的可移植性:绝大多数Python程序不做任何改变就能在所有主流计算机平台上运行。此外,Python提供了多种可选的独立程序,包括用户图形界面、数据库接入、基于Web的系统等。甚至包括程序启动和文件夹处理等操作系统接口。
4、标准库支持:Python内置了众多预编译并可移植的功能模块,这些功能模块统称为标准库。标准库支持一系列应用级的编程任务。此外,Python可通过自行开发的库或众多第三方的应用支持软件进行扩展。
5、组件集成:Python脚本可通过灵活的集成机制轻松地与应用程序的其他部分进行通信。这种集成使Python成为产品定制和扩展的工具。如今,Python代码可以调用C和C++的库,也可以被C和C++的程序调用,可以与Java组件集成,可以与COM和.NET等框架进行通信,并且可以通过SOAP、XML-RPC和CORBA等接口与网络进行交互。由此可见,Python绝不仅仅是一个独立的工具。
6、享受乐趣:Python的易用性和强大内置工具使编程成为一种乐趣而不是琐碎的重复劳动(避免重复造轮子)。尽管这是一个难以捉摸的优点,但这将对开发效率的提升有很重要的帮助。


以上因素中,对于绝大多少Python用户而言,前两项(质量和效率)也许是Python最具吸引力的两个优点。
 

 

六、 应用迁移与适配行业展望

 

 

金融行业业务逻辑复杂、数据量大、可靠性要求高,不能简单把信创等同于产品替代,需要有覆盖选型适配、方案实施到全面落地的整体解决方案,保障信创落地的安全可靠。

金融客户不同阶段的信创建设,业务包含OA系统、一般业务系统、核心业务系统等。以最近两年在多家金融机构落地的OA办公系统信创迁移和应用开发项目举例,在不同客户的场景需求中,可以使用不同的开发平台作为统一的信创开发环境,满足信创迁移的改造升级或快速重构,以及信创应用的创新开发。

比如,普元以应用开发平台作为统一的信创开发环境,帮助金融客户改造综合办公系统,并协助客户完成数据库、中间件、文档平台选型及适配测试工作,实现跨系统、跨组织、跨区域的业务协作;以微服务开发平台作为统一的信创开发环境,帮助金融客户改造移动办公系统,满足客户移动化办公、多渠道协同、任务集中处理、信息资产共享等需求;以低代码开发平台作为统一的信创开发环境,帮助金融客户基于信创体系快速重构创新型OA系统,满足行内自主可控、业务发展及上级单位监管等各层面要求,实现从界面、流程和数据全方位高效集成的办公自动化。

从平台的视角帮助金融客户进行信创快速落地,需要采用分布式架构,支撑应用系统去做金融信创的升级和扩展,同时满足高并发高流量的请求。 

 

 

  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值