科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道如何提高应用部署时间

如何提高应用部署时间

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

UNIX是我们讨论的话题的一个很好的例子。直到最近,UNIX系统仍是一个仅有程序员才会喜欢的操作系统。

作者:Justin James 2007年6月20日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

我确定大部分有责任心的开发人员会尽他们最大的努力来保证进行程序维护的后续编码人员能够容易的完成工作。但是,我们又有多少人会关心过真正需要部署这些应用的系统工程师呢?答案是,很遗憾,没有几个人。

UNIX是我们讨论的话题的一个很好的例子。直到最近,UNIX系统仍是一个仅有程序员才会喜欢的操作系统。作为一个UNIX系统管理员,需要了解像makefiles、构建内核、应用代码补丁等。结果,UINX有一个坏名声,那就是在环境改变后仍持续很长时间。

同时,很多大型“企业级应用”的安装和配置都十分复杂,因此公司需要花钱聘请外面的专家来安装,其开支和他们开发软件的开支差不多(甚至会更多!)。我不了解你的情况,但是我知道如果需要外部帮助安装微软的Office花费为500美元,安装Photoshop花费600美元,这些应用程序使用的并不是非常多。即使你到一家PC商场安装Windows系统他们也很少收取多于一小时的费用。

安装一个应用程序,不需要太复杂。当前应用安装的情况(包括*Nix和Mac)就是这一事实的例子。一旦用户了解到,系统中有相应的安装工具,很多桌面应用程序的安装,无论哪个平台,都使用相应的标准安装系统。

然后,我们使用大多数开发人员使用的定制编码解决方案。糟透了!至多,可能有一些.aspx或.jsp或.php( 或任意其它)文件。在最后,可能要移动一些编译好的二进制或字节码文件,可能还要重新启动某个应用服务器。

然后,我们得到一个不完美的产品,定制的DB脚本可能会也可能不会重写已经存在的配置数据,有些要求重新启动,有些可能要求先停止然后再开启数据库服务器,等等。总之,我的意思是它包含了:停工期,可能的失效和很长的恢复时间。

在桌面方面,当需要Oracle客户端时,任何包含Oracle的东西都肯定会造成混乱。Java桌面应用是另一个让人痛苦的地方,尤其是当他们需要非标准JVM时。没有任何事情会像运行四个应用程序需要三个不同的JVM(Java虚拟机)那样影响桌面支持。当然,用户喜欢要求进行实际上不需要重新启动系统的安装程序或补丁程序。

为什么我们会陷入这种困境?是的,有些系统已经得到改进,像重新启动过程中维护会话状态的应用服务器,或其它当文件改变时,可以重新加载字节码的应用。但另一方面,重新部署一个Java EAR文件或运行MSI安装程序更新应用将是一件十分耗时的工作,有时比运行“cp –R /path/to/staging/* /parth/to/production”命令更痛苦。

在部署文件失败时,我们唯一的选择就是停止应用服务器,停止数据库服务器,恢复数据库,回滚文件,所有工作重新再来。这可能需要几个小时的时间,其间客户会感到非常不满意。在一个较大的系统中,至少需要一些负载平衡或群集,这样系统就不会难于部署,但是,仍旧没人会喜欢这种情况。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章