
我的一位老同事把管理工程师比作放养猫,我不太确定是否该放养工程师,但管理开发环境很快就变成了组织混乱的一种练习。每个工程师都有不同的需求和不同的做事方式。在最近的一次数据中心迁移中,我们将所有的开发环境都移到了AWS云上。因为它是我们最新奇的小项目之一,所以我们想分享一下成果。我们为什么这么做? 在我们将开发转移到云端之前,我们使用vagrant和chef solo对本地虚拟机进行了相当合理的设置。当我们的应用程序相对较小,并且后端进程较少时,ddos攻击的防御策略是什么,这对我们非常有效。但是,我们觉得我们已经长大了。运行带有大量数据的虚拟机(即我们的演示帐户中用于生产的数据)需要在我们糟糕的笔记本电脑上使用大量RAM。我们的一个前端工程师在他的露营车里生活和工作。通过一个锡罐和网线连接将大数据更改或更新的软件放入他的虚拟机可能是一种疯狂的练习。当你共用一间办公室,可以围坐在笔记本电脑旁向你的产品人员展示变化时,本地开发是非常棒的。但是,对于一个半分布式的团队来说,这可能是一个挑战,所以我们想解决这个问题。我们是怎么做到的我们已经使用chef来管理我们所有的生产基础设施,因此创建运行在单个云
服务器上的微型生产环境相对容易。两种环境之间的需求明显不同,维盟ddos防御,因此我们必须:创建一个chef角色,在一个独立的主机上运行我们的所有生产流程。配置应用程序以查找本地主机的所有信息。把所有的东西都缩小。小得多。降低内存和其他需求,因为开发应该比生产环境拥有更少的数据和更少的请求。在一些软件和脚本上稍加修改,使开发更容易。编辑器,调试工具,一种将代码同步到本地笔记本电脑的方法,防御ddos吗,供GUI编辑器(你知道你是谁)的人使用。有什么了不起的?较低的维护和易于协作无疑是最大的整体优势。但这里有一个清单:分享我们现在的工作真的很简单。任何有VPN访问权限的人(当然有两个因素!)可以用普通的web浏览器查看任何开发环境的运行情况。如果您看不到发生了什么,帮助某人解决本地虚拟机中的问题可能是一个挑战。对于云中的实例,只需在实例上跳跃并四处查看即可。多个开发实例!我们不经常这样做,但是如果有人在做一些非常深奥的事情,或者长寿,我们可以为他们启动另一个开发实例,并让它与他们的正常实例同时运行。在任何地方工作。这对于我们的Emacs和Vim极客来说尤其如此,但是从一台新机器连接并开始工作只需要很少的时间。登机。最初建立一个开发实例还需要一段时间,但如果我们是一个新员工,那么她在新笔记本电脑上打开浏览器之前就有了一个开发环境!可能的陷阱到目前为止,事情进展得非常顺利,但对其他感兴趣的人来说,肯定有一些事情需要注意。我们非常非常依赖网络。我们以前的设置非常依赖网络接入,所以这对我们来说并不是一个巨大的飞跃。谢天谢地,一次ddos防御,如果其他一切都失败了,我们有了束缚。基于GUI的编辑器访问需要一些魔力。我们花了一些尝试和错误来确定哪个同步软件最适合我们的家人。成本管理需要一些思考。我们使用保留实例来降低成本,但可能还有其他有效的策略。这还没有出现,但我们已经把坏掉的笔记本电脑的停机时间换成了主机提供商的停机时间。我们会再来一次吗?总的来说,我认为每个人都对事情的结果感到满意。我们在厨师基础设施上投入了大量资金,这使得这项工作相对简单。现在,我们的开发环境比以往任何时候都更类似于生产环境,我们更能够在内部共享新的工作和问题,我们可以随时运行所需的任意数量的实例。飞行的猫科动物似乎已经被充分驯服,在积云城堡里享受生活。现在。如果我们今天要处理类似的问题,我们可以看看Docker的一些有趣的思考,服务器前面加个高防cdn,以获得灵感。