从应用程序开发人员的角度看 AWS CodeStar

从应用程序开发人员的角度看 AWS CodeStar

原文:https://medium.com/hackernoon/an-application-developers-perspective-of-aws-codestar-938e05ebf9fc

不久前,亚马逊宣布了他们的最新服务,AWS CodeStar T1。在应用程序开发领域,这是一个非常令人兴奋的发展。

我真正希望从 CodeStar 看到的是一个工具,它将取代我最不喜欢的 web 开发方面……devo PS。虽然这很有趣,而且我处理得也很好,但实际上我并不喜欢这么做。

创建和配置服务器变得单调乏味,而在生产环境中管理这些服务器更是伤脑筋。CodeStar 有很大的潜力来简化应用程序开发人员的工作流程,但我想知道它是否足以完全取代我配置和管理基础架构的需求。

你得到了什么

CodeStar 支持 Java、JavaScript、PHP、Ruby 和 Python。它为每种语言都提供了“模板”,用于在几分钟内配置整个应用程序基础架构。在 EC2、AWS Lambda 或 AWS Elastic Beanstalk 上启动应用程序时可以使用模板。

每个应用程序都有一个附带的仪表板,您可以在其中跟踪提交、构建、测试和部署。您还可以查看应用程序的性能统计数据,并通过内置的 JIRA 集成跟踪问题。

当你看到你得到的一切时,CodeStar 听起来很棒。这听起来如此惊人以至于它甚至产生了对 DevOps 未来的一点担忧…

CodeStar 似乎是应用程序开发人员正在寻找的解决方案。问题是它能实现所有的潜力吗?我想我应该去兜一圈看看。

我将介绍我使用 CodeStar 部署第一个应用程序的过程,并分享我对这一体验的想法。

入门指南

CodeStar 使入门变得非常容易。从 CodeStar 主页我点击了 今天就开始

这将我带到我的 CodeStar 仪表板,在那里我可以看到我所有的应用程序。因为我还没有创建,所以我看到了这个:

点击 启动项目 后,系统提示我授予 CodeStar 代表我管理 AWS 资源的权限。这是因为我从未设置过我的 IAM 权限。继续我点击了 是,创建角色

创建项目

我有 27 个不同的“模板”应用程序可供选择。每个模板都给了我关于将创建什么类型的基础设施的详细信息。

Ruby on Rails

我想看看与 Heroku 相比,启动 Ruby on Rails 应用程序的过程感觉如何,因为这是近十年来最简单的方法。

我选择在 Elastic Beanstalk 上发布 Ruby on Rails 应用程序。命名我的应用程序后,我点击 创建项目 ,剩下的工作由 CodeStar 完成:

我被提示向 AWS 添加一个 SSH 密钥,因为我过去没有添加过。添加 SSH 凭据后,我就可以继续创建我的应用程序了:

仪表板

我可以在仪表板的右上角看到我的应用程序的进度。当我的应用程序被创建时,我花时间四处看看。

要做的事情太多了,我不知道从哪里开始…

从仪表板上,我可以管理资源、监控应用程序性能、查看我的代码库和提交、管理 CI 管道等等。真正的亚马逊形式,他们几乎给了我一切和厨房水槽。实际上有点让人不知所措。

15 分钟后,我的申请完成了。我可以使用主仪表板上的 应用程序端点 部分来查看它。

模板 Rails 应用程序实际上非常酷。它不只是一个默认的 Rails 应用程序,而是一个轻度品牌化的定制 Rails 应用程序,可以根据一天中的时间改变背景。

我的开发人员认为这有点傻,但我的人认为对细节的关注实际上非常棒。

这么多事要做,时间却这么少

我不可能在仪表盘上查看我能做的每一件事,我们会在这里呆上好几天。我会强调一些我喜欢的东西,然后是一些我不喜欢的。

我喜欢什么

我喜欢项目创建过程如此简单。很容易开始,选择模板,并启动我的项目。我喜欢 CodeStar 在我的项目创建过程中带我完成额外的设置。

我还喜欢能够查看我的应用程序代码库和提交历史。因为它全部托管在 AWS CodeCommit repo 中,所以他们就把它放在仪表板上。

我喜欢的最后一个值得注意的东西是默认应用程序。我认为 AWS 给他们的模板应用打上商标真的很酷。

我不喜欢的是

我尽量不要对 CodeStar 太挑剔,因为我希望我的分析是客观的。然而,在过去的 6 个月里,我一直在使用 Nanobox ,所以我有一些非常高的期望。

调配时间

我注意到的第一件事是调配基础架构所花费的时间。他们的入门指南提到,基础架构将在“几分钟内”建立起来。在我的脑海中,我想的是五分钟或更少,这是我已经习惯了的。

最终,正如我已经提到的,我的项目花了将近 15 分钟才启动并运行。这比我希望的要长得多。唯一的可取之处是,在那段时间里,我经历了一些额外的配置,这使得它看起来不那么长。

所有的事情

下一个对我来说是个缺点,但也许不是对所有人。为了从 CodeStar 中获得任何好处,你不得不将 AWS 用于所有的事情。

如果只能在一个地方使用,那么有这么酷的工具还有什么意义。如果我想要 CodeStar 的任何好处,我就必须使用 AWS。虽然我没有经常到处部署我的应用程序,但还是感觉有点令人窒息。

我喜欢知道我可以自由地在任何地方部署我的应用程序…以防万一。

语言/框架支持

CodeStar 一开始就支持有限的语言和框架模板,这让我有点失望。

我希望看到对 Golang 和 Elixir (Phoenix)以及更多 Node.js 和 PHP 框架的支持。我确信他们将来会增加更多,但同样,与我习惯的相比,这感觉非常有限。

日志

让我感到非常奇怪的是,你是如何用 CodeStar 访问你的日志的。您可以选择查看最后 100 个日志,或者下载整个日志…

当我对正在运行的应用程序进行故障排除时,我需要流式日志。简单明了。如果我能点击页面,看看到底发生了什么,事情就简单多了。此外,我不喜欢看到 100 个或所有内容,而是喜欢一次一步地查看我的日志块,以跟踪输出结果,找到错误的根源。

工作流程

这对我来说是一件大事,使用 CodeStar 感觉像是一个巨大的退步。我一直在隔离的开发环境中进行开发,可以在任何地方部署。

我不必管理语言、版本和依赖关系。所有这些都是为我准备的。我描述了我的应用程序环境,无论是在本地还是在生产中,它每次都是相同的配置。有了 CodeStar,我感觉自己又回到了“老方法”上。

800 磅。大猩猩

是时候解决我对 CodeStar 最大的不满了。这和我对大多数 AWS 产品的抱怨是一样的……仪表盘。

“(亚马逊仪表盘)的问题在于,他们随身携带着所有这些隐含的环境。你想要一个香蕉,但你得到的是一只大猩猩拿着香蕉和整个丛林。”~乔·阿姆斯特朗

虽然这段引文实际上是在谈论面向对象语言,但我觉得它完美地描述了我在尝试使用 CodeStar 时的感受。

虽然仪表盘有很多很酷的功能和你可以用它做的事情,但它太大了。事实上,仪表板是如此之大,它实际上是四个仪表板伪装成一个。

理论上,CodeStar 似乎通过消除 DevOps 的所有复杂性提供了简单性。最终,所有的复杂性都被局限在一个仪表板中,很难找到您想要的东西,理解它的功能,以及它是如何协同工作的。

“EVERY THING ON IT — Shel Silverstein”

结论

亚马逊承认存在问题的事实说明了一切。他们朝着正确的方向迈出了一大步,但还差一点。就目前情况来看,我不认为 CodeStar 会成为 DevOps 的终结。只是还没到那一步。

我将坚持使用我一直使用的。它给了我一个完整的生产工作流程的发展,并检查了所有的盒子。不是我不能做 DevOps…我只是不想再做了。

我热爱学习、创造和建设。这就是为什么我如此喜欢发展。但是,我已经精疲力尽了,因为我必须成为一个全栈、DevOps、sys。管理员,摇滚明星,忍者,大师。我只想写代码,做一些很酷的东西。

可能是因为我是一个 30 多岁的开发者,但是戴这么多帽子脖子都疼。


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除