这种情况也发布在SO上 ,针对不同的受众提出了不同的问题 – 我非常高兴,因为我收到了一些非常好的回应。
我们正试图在一个企业组织内的4个开发人员小团队中使用虚拟化来实现开发环境。 这将允许我们build立独立的开发,testing和登台环境,并允许访问对我们正在评估的系统或工具有要求的新操作系统。
我们重新使用了一台现有的工作站级机器,投入了24GB RAM和RAID-10,并且一直运行良好,直到我们试图将机器添加到域中。
现在我们开始了一场战争,那就是所有的企业开发者都是为了争夺地方控制开发和testing环境而奋斗的。 networking和ITpipe理员提出了从“ESX Server是企业标准”到“服务器不允许在客户端VLAN上”到“填充空白”的一系列问题,而不是目前拥有的技能本地或企业IT组织“。
我们或许可以certificate生产级硬件和正式的IT支持是合理的(如果需要的话,我们可以certificate这个需求是合理的,但这需要时间,而且需要很多头痛),但是可能需要几个月才能正式获得IT资源把它当作生产系统来分配 – 即使我们这样做,我们也可能会失去我们想要的本地控制。
我想像你们中许多人与企业内部的开发人员进行类似的非生产环境的开发者控制斗争,所以我的问题如下:
一些假设来限制这个问题的范围:
首先,我确实看到了一些为什么你的pipe理员有权推倒重来的原因:
IT还负责报告补丁pipe理,防病毒软件,pci合规性,年度(或更频繁)安全审计等事情。这不仅仅是保证这一点,而且还能够保证向外界certificate这一点 。
作为一个例子,我在一所小型大学运行这个networking,我们有一个物理实验室,有几台数据收集机供学生试验。 他们唯一做的就是从科学仪器收集数据,并将结果打印出来(直接连接打印机),供学生分析并交给教师。 他们从来没有在互联网上 – 即使AV和Windows更新通过本地networking应用。 他们连接到networking并运行AV软件的唯一原因是明确的目的是向我的监控软件报告他们仍然存在并且是最新的。 这很愚蠢,因为他们实际上会更安全地取消networking连接,但他们首先获得了教育补助金,所以这些都是我的报告要求。
也就是说,IT需要能够支持这一举措。 他们只是说“不”,是不够的。 挑战他们提出一个替代scheme,以满足您的(非常真实的)需求。 这里唯一的政治局面应该是,他们的替代品可能会有更大的贴纸价格(因为他们正在计划你看不到的成本),所以问题是谁需要付钱。 IT人员不会因为没有预算而想要这样做,但是你会因为这个问题而花费了6倍的时间,因为这个解决scheme是你所满意的(目前)。
另外,这听起来像你可能会尝试运行,然后才能走路。 你想改变你的发展过程。 作为一名前开发人员,我认为这很好。 但是不要只抛出一堆虚拟机和“环境”(即:dev,stage,qa等)。 计划新stream程的样子 – 开发人员如何完成工作。 你会使用持续集成吗? 自动构build? 使用什么软件来支持他们? 是否允许开发人员将代码移到生产或分期,或者只有QA才具有这种能力? 你需要单独的分期吗? 那么两个开发分支(一个用于vNext,一个用于vCurrent的bug)呢?
您可能需要一台服务器,以便开发负责人或经理能够全力以赴,但是如果是这样的话,则需要首先完成,并且设置和初始过程devise需要在开发人员实际操作之前完成使用。
1)您的开发人员为您赢得了哪些理由,允许这些types的孤岛存在于拥有标准networking和安全策略的企业中,这些企业通常(并且可以理解)排除了这种非中央pipe理的基础架构?
没有 – 主要是因为我没有在我的组织中担任pipe理angular色,所以这些“政治事情”中的任何一个都不涉及到我。 唯一能够说服我的理由是允许明确反对networking政策,免于系统运营团队控制,能见度是我老板老板的差距和CYA信件。
并不是说我真的想成为一个说“不”的人,只是从操作团队的angular度来看,没有什么好的办法可以做到。
2)这仅仅是开发者做出技术或业务的理由,并确保补丁pipe理和AV将要发生 – 或更多的控制和所有权的政治斗争?
我不认为开发者需要做一个商业案例 – 很明显,开发人员需要开发,为了做到这一点,他们需要一个开发环境。 至于补丁pipe理和AV – 这是运营团队的工作,我们将确保完成。 这不是我们认为开发人员无法做到的。 这只是我们不相信你做对了 – 系统pipe理员留在系统pipe理员,因为他们不相信任何事情做任何事情,所以这不是个人的事情。 当然,有一个明显的政治问题,就像别人“做你的工作”,但这不是一个真正的技术问题,因此不在SF的范围之内。
3)如果有select,您是否愿意在给予开发人员本地pipe理权限的同时获得硬件/操作系统的所有权和支持,或者让他们完全pipe理它,同时确保他们开发补丁pipe理/ AV,问题?
既不是出于上述原因。
4)如果您成功地阻止了开发人员在您的基础设施上对“stream氓服务器”进行本地控制,那么开发人员是否已经到期或是否将开发环境转移到断开的VLAN /完全独立的networking?
气隙。 处理这种情况的最好方法是给开发者他们的环境(并控制它),然后使用一些其他强大的方法将其从networking中分离出来。 这基本上是我们如何处理公共WiFi。 你想要wifi服务? 当然。 您支付networking连接费用,我们将pipe理WAP,但它永远不会触及我们的networking。 抱歉。 你的需求只是数百之一。 还有其他的问题需要考虑。
你不希望成为否定的事情,因为开发者(技术上聪明的人)会想方设法得到他们想要的东西。 因此,为他们提供一个适合他们需求的环境,让他们开心,然后find一些方法来阻止他们在开发环境中做的任何事情与您业务networking的其余部分接触。
TL; DR:我会给你一个服务器,在任何一个单独的物理networking或VLAN上,你想要的任何虚拟化平台。 访问您的开发环境将通过运营团队将控制和监视的单个堡垒主机。 你用你的业务做什么 – 它不会被支持,但我们会提供build议和帮助,因为时间允许服务器pipe理方面的事情。
如果你带着一个工作站级的机器来到我这里,那就是消费级RAM,消费级硬盘,消费级PSU和消费级RAID,我也拒绝把它放在服务器networking上。
在服务器VLAN上添加类似的东西需要了解很多。
服务器VLAN很可能是DMZ。 在非军事区,你不要放置任何不硬化和固定的东西。 这只是你交给他们的一台机器,他们不知道你用它做了什么。 这也意味着定期打补丁和更新,这意味着集中pipe理。 我敢肯定,不会login到每个未pipe理的服务器,并手动应用补丁。
该机器中的组件将会失败。 我承诺。 在6,12,24个月内,它将会肚子痛。 那么,备份在哪里? 哦,你没有设置? 但是,我认为这是一个服务器? 噢,它是一个服务器,其他人提供?…和责备游戏再次启动
当撞车撞人时,谁来承担责任? 在大多数组织中,“我把它交给开发者来照顾”是不会飞的。
他们要把它放在哪里? 现在的服务器都是机架式的,把一个塔架放在一个机架上浪费空间,而他们的机架可能不是为它devise的。
所以,IT部门是非常合理的,不要把这台随机的电脑放在他们的服务器networking上。
不过 ,IT部门的工作是确保您可以正确地完成工作。 当你需要的时候,他们需要确保你有你需要的东西。 如果你有一个业务需要运行的软件,他们必须提供一个运行的平台。 这是他们的工作描述。 但是你需要确保他们有他们需要的信息来完成他们的工作。
如果你来我这里,在我的组织里,告诉我你正在开始一个新的项目,我会给你三个虚拟机:开发,现场和舞台。 你将拥有Dev的全部pipe理权限,我们将讨论你为另外两个人做你的工作需要什么。 如果你需要完整的pipe理权限,并且可以certificate它的正确性,那么你就可以得到它。 我们有我们的虚拟机部署下来。 VMWare使这非常简单 – 每个虚拟机只需要大约5分钟即可完成部署。
这听起来像是你的IT部门遭受了大公司所有IT部门的困扰。 build造小城堡,用自己的生命捍卫它们,不要让别人去做,成为专横的人等等。每天和别人的IT部门打交道的时候,我总是看到它。 这令人沮丧。
基本的事实是,这个变化需要从IT部门内部发生,而且必须从上面来启动。 如果你能让IT人员认识到他们不是自己的力量(因为他们中的大多数不会为他们的企业创造收入,这可能是一个耳光),而且他们在那里支持现有的员工并提高业务,那么你会发现你的问题变得无关紧要,因为每个人都会玩的幸福的家庭。
你为什么要把它添加到域? 换句话说,这样可以更好地回答这个问题:只要没有连接到公司局域网,你就可以build立一个实验室来做任何你想做的事情。 (如果你需要访问互联网,也许你可以得到DMZ的VLAN;这应该不是问题,特别是如果你只是用它来出去 ,就像下载一样。
这是许多不同答案的答案之一。
你会得到很多的答案在这里,反对开发人员有pipe理员访问的任何部分的环境(可能主要是反对),但这里是底线:
系统pipe理员小组负责保持生产系统的运行,稳定和安全,并负责确保这些系统提供公司正在为其付费的服务(因为他们正在为其付费)。
同样,开发团队的任务是为公司(networking,应用程序等)提供服务,尽pipe处于不同的领域。 争取控制发展环境是适得其反的,对任何一方都没有任何有益的目的。
我在一个小的ISV / ASP工作。 我们有一个开发人员和一个系统pipe理员(我)。 我们有相互尊重和信任的关系。 我们需要团队合作来帮助实现公司的总体目标。 我让开发人员完全无拘无束地访问他的开发环境,其中包括工作站和服务器。 我pipe理开发系统的安全性,更新,AV和硬件,其余的开发。 当他的代码准备好生产时,他把它交给我,帮助我完成任何需要的configuration,然后退后一步。 我们互相帮助。
开发人员应当是开发环境的主人,系统pipe理员应当是生产环境的主人,在合理的范围内,合理的制衡,控制。 当任何一方需要“交叉”时,应该在他们的权限和指导下与“执政党”进行合作和协调。
首先,我的经验是在一个较小的组织,但这个问题确实出现在各种规模的公司,所以…
1. What arguments have your developers made that won you over to allow these types of silos to exist within enterprises which have standard network and security policies in
从我的观点来看,开发者需要做的唯一的一个论点就是“我们需要这个”。 如果他们先find我,我会试着了解他们的需求,看看我们能做些什么。 但最终,如果他们说“我们需要这个”,我会给他们怀疑和信任的好处,他们知道他们在做什么。
但这只是一个开始 – 这是等式的“专业”一面。 “骗局”是我们进入争吵的地方。
2. Is this just a matter of the developers making a technical or business justification
除了“公正”是一个令人难以置信的轻描淡写,是的,如果开发者可以做出技术和业务的理由,那就不会有问题。 其他人在这里和程序员.SE(你的SO问题被迁移的地方)已经指出了你的设置的一大堆陷阱,所以我不再重复。 如果你想出一个解决所有这些问题的计划,那么你的IT部门会考虑所有这些问题,并且certificate所有的成本是正确的,那么继续下去是有道理的。
3. Given the choice, would you prefer to take ownership and support of the hardware/OS while giving devs local admin rights,
这是一个非首发,你不能有两个不同的目标和责任的团队试图pipe理相同的系统。 它不会只是结束,它会开始糟糕,结束stream血。
(more of 3.) ... or let them manage it entirely, while ensuring that they institute patch management/AV and charging them with responsibility should they cause problems?
我认为这是由我的答案2覆盖。这些是技术细节,他们必须提出解决scheme。
4. If you successfully blocked developers from having local control of "rogue servers" on your infrastructure, did the developers just make due or did they (or you) move the development environment to a disconnected VLAN/entirely separate network?
我同意kce:“气隙”
如果他们可以certificate他们正在承担的额外开销(通过成为他们的环境的pipe理员),开发人员可以拥有自己的小型networking, 但是它完全被隔离:没有任何东西触及networking的其他部分。 所以他们不得不提出更多的技术和商业理由,例如“我们如何备份关键数据?”
再次,我必须同意kce:“系统pipe理员留在系统pipe理员,因为他们不信任任何事情做正确的事情”我们的工作是build立最可靠的系统,我们可以用不可靠的组件,所以任何提案,包括一半十几件经验丰富的系统pipe理员所知道的难以置信的片断会得到强烈的负面反应。
从这里和程序员的答案和评论,我认为很明显,有这方面,你没有考虑。 虽然需要更长的时间,但我认为您真的需要去和IT人员交谈,并以不同的方式提出问题:“我们需要做的是,还有什么方法可以将其融入现有的基础设施和运营?
一般的问题,在你和数以百万计的类似情况下,是:
1)模糊责任 – 公司员工的行为与利润之间没有直接的联系。 他是按月支付的,而不是以难以衡量的影响来衡量,组织就是越大越好。 它适用于安全,pipe理人员等。如果他们把你的工作平行化,他们就不在乎。
2)决策者和安全人员通常对编程知之甚less或根本没有。 他们无法理解,即使他们在意(他们通常不适用),他们也在瘫痪你的工作。
3)安全工作的首选心理状况是偏执型人格或强迫症。 这些人到处看到阴谋。 如果开发者想要某种东西,比如新的服务器,他们肯定希望用它来窃取企业数据并将其发布到WikiLeaks中,或者卖给北韩。