当开发遇到运维

日期:2014-4-15来源:51cto

DevOps   Quartz框架   Java   

对于很多团队来说,开发和运维现在还是两个世界的人,开发人员写着属于自己的代码,然后丢给运维人员。但作为开发人员,我们必须知道,运维的方式对于开发上的抉择是有影响的。

和这个世界上的许多项目一样,我现在正在开发的项目也有一些后台定时运行的任务。这是一个Java应用,但我并不想把这些定时任务扔进Java EE容器里,没有必要让这些后台应用和前台应用抢资源。所以,我们就把它做成了一个独立的应用。好,问题来了,谁来做定时调度?

因为我们的应用最终会部署在Linux操作系统上,所以,我的第一个直觉就是采用Cron。这是一个已经存在了几十年的解决方案,没有任何问题,而且,开发团队几乎不需要做任何额外工作。这个方案一直存在到我们和运维团队交流为止。

“我们不允许使用任何系统任务”,运维团队开门见山地否决了我们的解决方案。运维团队给出的理由是,他们无法保证一台机器上只运行一个应用,如果其中一个应用挂了,运维人员也许会清理一些资源,换句话说,如果你的应用用了这些东西,也许会被一不小心地删掉了。“所以,按照我们规定,每个应用只能开辟自己的目录,运用自己目录下东西。”

这是一个合理的要求,所以,我们需要调整自己的设计方案,把原来交由系统处理的调度转成由自己的应用处理。当然,在Java世界,这不是太大的难度,Quartz框架很好地帮我们处理了这些。

其实,与调度方案同时被推翻的还有我的另外一个方案。这次我原本想尝试把我们的日志写到系统日志里。如果你不知道的话,rsyslog可以让我们把自己的日志写到/var/log下。很显然,这样的方案在这样约束下也是不行的。我们只好回到Java的传统方式上,把日志写到自己的目录下。

这是两个由运维反过来影响开发方案的小例子。运维是开发的一种很重要的组成部分,运维团队的一些工作方式直接影响到开发上的一些决策。所以,如果开发和运维还是两个团队,开发团队不妨多找运维团队聊聊,更多地了解关于部署的方方面面。当然,更好的解决方案是走向通往DevOps的康庄大道。

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

SOA与IT治理>更多

  • 把软件架构演进体现在栈上

    曾几何时,企业架构师要为了得到承认和支持而抗争,但这种时候正在过去。大多数企业现在已经意识到实现业务流程中敏捷性和效率需要业务目标、人力资源以及信息技术的结合。

  • SOA治理模型核心:人

    治理在IT领域非常关键,但是很多时候企业的做法往往太过单向,企业SOA治理模型往往忽视了所有部分当中最关键的组件:人。

  • 顶级APM软件大PK

    管理应用性能说起来容易做起来难。在探索很多种方式,研究很多种趋势之后,应用性能管理能够快速地从简单进化到复杂。对于APM软件而言也是如此。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

相关推荐

  • 对于orchestration而言 ALM和DevOps至关重要

    为了确保开发和运营能够持续同步演进,开发者需要理解DevOps与orchestration之间的差异,对自己的开发和运营策略进行重新思考,并且对重要的新兴趋势保持警觉。

  • 开发运维一体化(DevOps):协作是成功的保障

    如今的IT部门存在一个矛盾:敏捷开发者希望可以快速部署常规软件,而运维团队则优先考虑稳定性。开发和运维不同的成功指标使得每个团队都有自己独立的目标

  • 中国市场DevOps应用趋势分析

    为了解决开发人员与运维之间的协作问题,从而提升工作效率,DevOps方法论应运而生。几年的发展,DevOps现在国内市场的应用情况如何?如何才能取得DevOps实施的成功?

  • 持续DevOps文档:是必需的

    文档和管控的流程仍旧是防止企业陷入困境,保证员工不丢掉工作的有效方式,让文档和管控成为进展缓慢的同义词是因为一些历史原因。软件版本引入的相同的自动化也适用于文档领域。

技术手册>更多

  • 企业架构师工具包

    企业架构师如何创建一个有用的工具集呢?目前实践者正在将UML和TOGAF以及其他工具连同使用,从而能够构建出软件模型解决业务构想变成工作系统最重要的一步。但是需要高度熟练的架构师,来创造业务架构参考模型。成功的软件架构师会发现和企业匹配的工作参考模型会成为他们自定制添加“工具”的框架。下面专家的一些建议可以为我们提供一些引导。

  • SOA之云开发技术手册

    十年前,面向服务架构突然出现在IT舞台上,而且许多公司已经在SOA应用上进行了大量的投资。现在云计算在IT舞台上更是独领风骚。SOA之于云,云之于SOA的意义又是怎样的。很明显,云计算的成功取决于它能够给现有的SOA实现增加价值的能力。而SOA的使用也促进了云开发。

  • 富互联网应用(RIA)指南

    RIA:全称为Rich Internet Applications,即富互联网应用,传统的网络应用程序将所有交互应用都集中在基于“瘦”客户端的C/S架构上。在这样的系统中,所有处理操作均在服务器端执行,客户端仅仅是用于显示静态的信息内容(如HTML)。

  • BPM和业务集成分析指南

    随着时间的推移,技术在企业活动中的影响日渐深入。受这种趋势的影响,我们有时会把技术当成业务流程管理(BPM)架构、系统和应用的替代品。做BPM的朋友经常与实际的项目打交道,可能经常听到一些组织中的BPM项目负责人会说:“我们的项目失败了,但是我们不知道为什么,或者我们能做点什么呢?”如何才能让BPM和我们的业务更好地集成成为很多专业人士思考的问题。在这本分析指南中,我们将会就BPM项目失败原因、业务流程实现中的陷阱如何规避以及云端的BPM进行相应的探讨,也欢迎您参与到我们的探讨中来。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • 数据库
  • 服务器
  • 云计算