遗留开发项目转移到PaaS之前需要考虑的五件事

相对于管理你自己的发展基础设施而言,平台即服务为用户提供了非常多的优势,你能够拥有更多的时间专注在设计和编码上面。但是对于新项目而言,PaaS或许是首选,但是PaaS可能不适合现有的、遗留的开发工作。

将遗留的开发项目转移到平台即服务(PaaS)之前,需要考虑五件事。

如何使用PaaS?

不同的公司,PaaS起到不同的作用,来适应他们的IT环境和目标。首先,你必须找出如何将PaaS融入到你的组织中。对于一些服务,你可以轻松地将计算移动到云,同时保持当地资源的其他功能。例如,Pi云提供应用接口(API),将你的本地Python代码复制到云,并在云中运行,而你的开发工具和代码存储库可以保留在本地。

另一种方法是开发本地资源与测试PaaS产品。当你运行大型测试套件或者需要单独的共享资源实例来进行测试时,这种方法很有用。你也可以通过使用云集成开发环境(IDE)来开发云。基于浏览器IDEs所支持的功能——一些功能无足轻重,并且可能不包括所有功能,你可能已经习以为常。

软件开发实践和工具与PaaS是否匹配?

如果你使用Git、SVN、Ant或者Maven等工具开发软件,想一想,在PaaS使用这些工具有多么容易。PaaS的版本控制系统与本地资源的版本控制系统,没什么不同。然而,重写构建脚本的任务尤其重要。如果你的通常做法不那么正式,或者使用国产工具,那么就要考虑如何适应PaaS环境,并且审查你的代码和文档的访问控制策略。检查你的PaaS提供商的访问控制机制,以确保你可以控制你需要的访问方式。

需要整合本地资源吗?

应用通常需要与其他应用或共享资源整合,如企业数据库。在这种情况下,需要了解如何访问这些PaaS资源。如果你使用一个内部应用,该应用实现Web服务API,并且服务于外部客户端应用,你就能转移到PaaS。如果安全是一个关注的问题,并且只有虚拟私有网络(VPN)的客户端应用允许访问本地资源,就要尽早测试PaaS的API。如果你需要实现VPN功能,并且你的PaaS提供商无法满足你的需要,你可以考虑用基础设施即服务(IaaS)云代替它。

开发堆栈是否完全支持?

PaaS从单一语种的平台到支持一系列的语言、数据库和其他服务的平台,快速发展。找出一种PaaS,能够支持你全部的应用堆栈,并且减少PaaS采用的阻碍。例如,如果你用Java开发,使用Jenkins来持续集成,那么,CloudBees可能是一个不错的选择。如果你需要支持Ruby和Node.js,可以考虑Engine Yard。如果你正在构建NoSQL平台,Red Hat's PaaS,OpenShift,可能是个不错的选择。

开发阶段是什么?

你在开发进程中所处的位置,对本地开发转移到云开发的成本和效益有重大影响。通常,项目越到后期,在开发环境和工具上的投资也就越多。随着项目的进展,你需要创建更多的软件,必须移动到PaaS平台,该平台增加了打造一个开关的成本。

PaaS的优势大于完成转移所需的成本和时间时,将正在进行的项目开发,转移到PaaS平台合乎情理。转移到PaaS后,你的管理服务器、操作系统和其他基础设施将如释重负。如果需要扩展应用,最大的回报在于可以避免耗时且具有挑战性的工程问题。

在云中运行你的应用,可以节省更多的时间和成本,转移到PaaS值得一试。

时间: 2022-12-11

遗留开发项目转移到PaaS之前需要考虑的五件事的相关文章

保持开源项目健康运行并减少压力的 10 件事

在2017的头几天,我开始研究我最新的开源项目.它的设计和构建,是用来解决我的一个业务问题.该项目被称为bootparts,它的用途是简化网站建设的过程. 这不是我第一次进入编码世界.这些年来,我以不同的方式为不同的项目做出了贡献.然而,这一次我负责一切事情.这给了我额外的压力.我不喜欢压力.但是与其简单地忽略它,我决定以健康的态度去管理和处理压力,下面是我怎么做的方法: (1)我决定什么时候开始这个项目 我从开源社区听到最大的抱怨之一是,人们既期望维护人员夜以继日地工作.同时人们又对为了修复b

想做Android Wear开发?你得先搞明白这四件事

    手环和手表的腕上穿戴之争,随着Apple Watch发布和Android Wear不断完善而告一段落.尽管续航上略有缺陷,但手表以其类似手机可扩展的生态环境赢得了众多巨头的支持. Google曾透露,Android Wear发布三周左右应用数就超过了Google Glass,并将有数以千计的app不断加入.Apple Watch发布的该月内,雷锋网驻硅谷的记者发现已有公司开始招聘相关开发者. 国外的开发者生态一向积极,国内虽明面上动静不大,但实际各家也已经都在暗自开动.鉴于Apple W

部署软件定义网络你需要考虑的10件事

软件定义网络(SDN)的目标是让网络和存储以及虚拟服务器那样动态和敏捷.这种敏捷性是通过在在网络硬件上的软件层实现的,这个软件层可以让管理员为网络传输路由制定业务规则,然后将这些规则运用到网络路由器和其他硬件上,这样就不需要手动配置硬件了. 软件定义网络对于大多数企业机构来说仍然是一个很新的概念.企业喜欢软件定义网络带给网络的虚拟化潜力,但是来自多家厂商的不同硬件必须全部能够与软件定义网络软件层协作.这使得软件定义网络的部署要比虚拟服务器或者存储的部署更加复杂. 企业机构在部署软件定义网络的时候

java-将已有项目转移到sg_uap平台出现问题 求大神指点!

问题描述 将已有项目转移到sg_uap平台出现问题 求大神指点! 公司现在要将一个项目改用sg_uap平台开发,但出现了很多问题(对平台不了解),现在的问题是spring容器在初始化sessionFactory时Invocation of init method failed; 希望各路大神带我躺赢~!!!

软件开发项目失败大多是因为这三大原因

根据Standish Group发布的2013年统计数据我们可以发现,在2012年只有39%的IT项目取得了成功. 随着IT现在已然成为了公认的增长速度最快的产业之一,相关的各种需要进行完善和优化的项目也越来越多.与其他行业项目相比,软件行业很难确定项目失败的最终根源.不过,通过分析IT项目失败报告,一些常见的罪魁祸首可见一斑. 虽然导致每个项目失败的根本原因不尽相同,但是大多数我们可以归结为这三方面原因:可怜的预算.缺乏沟通和透明.不能适应变化和重新定向. 可怜的预算 俗话说,钱不是万能的,但

软件开发项目失败的3个原因

根据Standish Group发布的2013年统计数据我们可以发现,在2012年只有39%的IT项目取得了成功. 随着IT现在已然成为了公认的增长速度最快的产业之一,相关的各种需要进行完善和优化的项目也越来越多.与其他行业项目相比,软件行业很难确定项目失败的最终根源.不过,通过分析IT项目失败报告,一些常见的罪魁祸首可见一斑. 虽然导致每个项目失败的根本原因不尽相同,但是大多数我们可以归结为这三方面原因:可怜的预算.缺乏沟通和透明.不能适应变化和重新定向. 可怜的预算 俗话说,钱不是万能的,但

开发项目中如何管理版本有关的挑战

具体地讲,本文将讨论多个与如何管理版本有关的挑战,还将介绍为了提高生产力和质量而引入的一些变更. 在 14 个月的服务活动中,我与多个团队的成员合作过,不断增强现有流程,最大限度地提高开发团队的生产力,并满足客户为大型 Web 应用程序而设定的所有预期,这个 Web 应用程序是客户在竞争异常激烈的行业中取得全面成功的关键.该应用程序的实际用途对本讨论并不重要,我只想分享一下我在领导一个团队不断向业务关键型应用程序提供版本时学到的一些经验. 我的这个开发团队包括 7 位开发人员.1 位业务分析师.

第一次正式java web开发项目的总结

去年下半年到现在,因为公司人员流动,也有好几个新进的员工分给我来带领,也有刚从学校出来的,在和他们交流的过程中,不由的想起自己刚刚进入这行的一些感想. 记得自己当初写过一篇总结的,我想这些对于刚出校门没什么工作经验的程序员应该会有一些帮助,但是却怎么也无法在csdn博客列表中找到这片文章. 后来无意中发现它竟然跑到了我的回收站中,我已忘记是因为什么原因使他跑到了这里,但是我想恢复的时候又发现有点坑的是,csdn回收站的东西无法恢复,因此只好重新发表了. 以下是当时的总结:   从学校走出来,转眼

J2EE文萃:做好网站开发项目需求的分析

j2ee|项目 一个网站项目的确立是建立在各种各样的需求上面的,这种需求往往来自于客户的实际需求或者是出于公司自身发展的需要,其中客户的实际需求也就是说这种交易性质的需求占了绝大部分.面对对网站开发拥有不同知识层面的客户,项目的负责人对用户需求的理解程度,在很大程度上决定了此类网站开发项目的成败.因此如何更好地的了解.分析.明确用户需求,并且能够准确.清晰以文档的形式表达给参与项目开发的每个成员,保证开发过程按照满足用户需求为目的正确项目开发方向进行,是每个网站开发项目管理者需要面对的问题.就这