我在这里我们建立一个处理应用程序和存储敏感数据的地方工作。 我们有3个环境。 开发,UAT / QA(用户易接受测试)和生产
在我工作的开发人员必须UAT或者生产没有访问和访问有限的开发。 我们只能在开发中做的是连接到一个开发数据库服务器。 我们要开发服务器本身的访问权限。 因此,我们的arent允许的东西像开发的Web服务器(IIS)来播放。 如果我们想改变,我们一定要去,虽然提交工作申请我们的网络管理员的正式程序(这可能需要数天才能完成)。 也是一样,如果开发商是什么东西,要求在UAT或PROD数据库进行检查。 想支持我们的应用程序时,这种严格的访问限制是很无奈。
我可以理解为什么我们有这些政策,因为它减少了对事物的风险越来越搞砸了。 但是这使得解决问题的真正费时和痛苦。 的东西,可能需要5分钟来修复(如果开发人员得以进入)可能需要数天才能解决。
就是这种严格的访问权限,正常吗?
很难说这是正常的。 举例来说,我已经工作的投资银行,他们有比你所描述的那些更严厉的程序。 我也工作了一个IB是没有任何手续的。 然而,这是明显的,前者仍然在经营,而后者倒闭著名刚刚!
这不是一个“dev的服务器”如果开发商都进不去。 现在是不是闻所未闻的有4个环境:生产,试生产,测试和开发。 (通过增加开发者访问排序)。 如果我忽略的名字,看来你有不同之处在于你缺少开发服务器相同的结构。
听起来有点紧我。 Normallly我希望在开发服务器的完全控制,我会很高兴地看到onthe测试服务器只读访问,并坦白说,我不感兴趣的看着生产服务器(从发展的角度来看)。
当然,下面的assumtpions在那里完成;
- 3个环境开始时完全一样
- 要督促所做的更改通过测试级联回开发
- 在开发任何配置改变由部署以试验和在刺
在这里我们的程序,我们不允许开发人员部署到测试 - 这是到测试之前,我们交给谁部署督促第三方。
这之多印证了我们释放过程为别的。
所以; 只要everythiong被记录的发布,你不应该需要访问比开发其他任何东西,但它会是不错的在开发环境控制的一个体面的水平。
这是你想要什么问题
有2层在工作中矛盾的需求:
- 快速周转的解决问题/开发新的代码。
- 确保没有敏感数据泄露得到。
贵公司已决定(自觉或不自觉地),最好是减少而不是要解决问题,并快速开发新的代码的能力泄露敏感数据的风险。 我公司斜靠在同一个方向,而不是真正的避让行动,足以把它带到你所描述的极端。
这是一个商业决定。
它是由原因(可能是无意识的)贵公司提出更高的价值的下跌风险(数据泄露)比上行风险(使得软件工作)。 这是一种常见的偏见 - 它被称为是规避风险的(我敢肯定有比这更好的术语 - 任何人),这是对我们这些谁的很烦人,试图让我们的工作完成后,必须克服一堆障碍的人放在那里不具备的这些障碍的影响,有很好的理解谁。
总结
- 这是一个商业决定。
- 它的风险是多么的不同感知的问题。
- 它反映了风险厌恶位置。
- 这一立场可能已经在该公司到达完全无意识的 。
这是关于变更管理; 确保到系统的所有变化进行跟踪,并使其进入发行说明,并在该系统的一个组成部分的变化不会导致另一部分问题。
如果这是对我,我给每个开发一个PC足够强大,根据需要模拟生产环境中运行的虚拟机数量,比这些机器的完全控制。 然后确保每一个变化的官方开发环境被记录,以便充分释放音符都可以生产。
即使是在一个小公司,工程师应该不需要超越代码开发环境太大出入。 核心环境应基本保持不变。 你喜欢什么类型的Web服务器上的东西以迅猛的速度改变?
退房Stackify。 我们刚刚发布了一个新的服务,为开发人员提供更多的知名度,以他们的应用和生产服务器。 我们可以给他们简单的念想日志文件,配置文件,Windows事件查看器等来的东西只能访问就可以解决您所描述的问题。 我们基本上已经发明了DevOps的支持: http://www.stackify.com