我最近一直在做一个副业,与我几周前开始的另一个博客有关。(这个项目还没有准备好分享,但是你可以从那些帖子中猜到我在做什么!)。
尽管多年来我一直试图在我的技术选择上变得更加务实,但附带项目最终仍然是试验新的、闪亮的东西的一种很好的方式-或者至少对我来说是新的。(顺便说一句,副项目的这一方面-选择正确的堆栈和练习学习新技术-是我相信这个有争议的想法的两个主要原因之一,即在工作之外编程的工程师通常比那些不编程的工程师更擅长这一观点。另一个原因是,这表明他们实际上很享受使用自己的超能力。)。对我来说,最新的闪亮事物是AWS Cloud9。
AWS Cloud9允许开发人员完全在其浏览器中构建软件。在这样做的过程中,它实际上解决了几个问题:
本地环境已经无关紧要了:Mac、PC、Chromebook,只要它能运行现代浏览器就行了。
当地的环境很容易复制。如果您的笔记本电脑死机了,您需要启动一个新的开发环境,或者如果您想要与他人协作并需要一个新的开发环境,只需单击一下即可。
您的Cloud9实例可以充当基础架构其余部分的堡垒主机,其安全性与您的AWS控制台一样安全。
与往常一样,亚马逊的文档并不是最友好的。安装指南已经足够好了,但是之后我就有点吃不消了。主要问题是,一旦您设置了Cloud9环境,您就处于IDE中,并且感觉您应该以“Cloud9方式”来处理事情,以避免以后被咬。事实证明,至少在我的情况下,忽视这种担忧就足够了。基本上,对待终端的方式与将任何SSH会话放入您计划用作开发环境的EC2机器中的方式相同(因此,从终端使用包管理器,在那里运行测试等),并将文件管理器/编辑器用于其基本用例(或者,如果需要,可以将终端用于所有事情!)。我的项目构建在Lambda之上,Cloud9有一些不错的特定于Lambda的特性,但是您不觉得需要使用特定于Cloud9的特性来执行构建/部署步骤;这不是它的核心用例。
归根结底,Cloud9只是一个小小的便利层,它只是在您自己的EC2实例上使用,以用作一个开发箱,但是这种便利性是非常值得的,IMO。您无需为运行Cloud9支付额外费用(您只需为底层的EC2/EBS基础设施付费),而且Cloud9自动为您管理实例的启动/停止,这使得它比直接运行实例更具成本效益。