与其他部署策略相比,AWS Elastic Beanstalk的优缺点是什么?

Modified on: Tue, 20 Aug 2019 09:20:02 +0800

我对整个Netflix OSS堆栈和整体部署都很陌生。作为我目前知识水平的背景,我的主要职责是作为前端应用工程师。但是,我喜欢操作方面的事情,所以我正在尝试为新项目设置新的部署策略和工具。

我们的目标

  • 超级轻松部署(我们想按一个按钮来更新生产)
  • 自动部署到测试环境(使用Jenkins)
  • 易于维护(我们有一个应用程序可以写,不想花时间摆弄生产问题)
  • 能够处理面向服务的架构(许多小型应用程序,各种语言和数据存储)
  • 足够灵活,确保我们不会很快改变策略(我们已经试图摆脱RightScale)

我们没有更多的初始设置时间,如果这样做将在未来为我们带来一些麻烦。

所以,按照这些方针,我一直在听播客,观看Ops会谈,阅读大量的博客文章,并根据我们的目标和我已经采取的一些形成最佳实践,我们已经开始形成使用Asgard的计划,将我们的包装卷成一个罐子并将其卷入AMI。

我们已经计划好这一切,并且喜欢过程与使用Chef服务器和实时融合实例的优势(我们认为这很容易出错,因为我们有限的时间表和对Chef服务器工作流程缺乏了解)。然而,一位同事独自环顾四周,觉得Elastic Beanstalk满足了我们的需求。

我已经调查过它并使用WAR文件和附加的RDS数据库启动测试环境。事情似乎有效,我相信我们可以通过AWS API使用Jenkins自动部署到测试环境。看起来很简单......也许太简单了。

我想知道的是,有什么收获?如果Elastic Beanstalk如此简单有效,为什么不谈更多?我很难找到关于两种不同部署策略的足够客观意见和事实,所以我想我会四处询问。

您使用Elastic Beanstalk吗?如果是这样,为什么和哪些因素导致了这个决定?你喜欢什么,不喜欢什么?

如果您不使用Elastic Beanstalk但是考虑过它,您使用了什么以及为什么不使用Elastic Beanstalk?

基于Elastic Beanstalk的SOA部署策略有哪些优缺点?也就是说,Elastic Beanstalk能否与许多相互依赖的小型应用程序配合使用?

作者:,community wiki,James van Dyke

最佳答案

在尝试改进我们的手动AWS实例时,除了其他AWS产品之外,我还评估了Elastic Beanstalk。我选择不使用它的原因是由于复杂性导致我的现有应用程序迁移而不是产品本身。问题在于,您对服务器的应用程序部署/配置没有太多控制权。如果你正在开始一个新的应用程序,那么现在不处理这些问题可能会有所帮助,如果你有一个现有的应用程序,那么适应Beanstalk模型就更具挑战性了。

Beanstalk为Heroku和其他PaaS供应商提供了类似的产品,但对那些只想专注于制作应用程序的人来说并没有太大的好处。至少可以比其他PaaS供应商更大程度地确定虚拟化资源。

我的应用程序遇到的问题:

  • 基于Git的部署 - 我喜欢它们,但我们的回购是1 GB。相当大的定期推动。这个repo还包含大约40个应用程序(实际上应该拆分),但这需要一些时间。上传任何类型的软件包都可以正常工作,但我们的大多数应用程序都需要花费大量的工作才能将其整合到软件包中。

  • 与其他服务集成 - 从我看到的内容中,Beanstalk假定您连接的任何内容都是单个服务。如果您的服务落后于ELB,那么这种方法很有效,但我们是通过在每个应用程序服务器上运行的HAProxy来实现的单独节点。如果您将数据存储和其他服务作为单个端点运行,那么您应该没问题。

在我的评估中,我还包括OpsWorks和CloudFormation。 OpsWorks与现有自动化如何为这些应用程序工作具有类似的集成问题。 CloudFormation并没有比一些Python脚本和Chef已经为我们照顾的更多。

我选择使用AWS Autoscaling Groups,而不是Asgard提供的一些自动化。这是对现有配置/应用程序代码的最小改动,为我们提供了我们所寻求的好处,通过AWS API对多个服务器进行简单管理。

Elastic Beanstalk对您的应用程序实施的限制非常有用。您必须确保您的应用程序主要是无状态的,为服务提供端点,并依赖于其他状态的服务。如果您正在尝试创建可重用的独立服务,那么Beanstalk中的多个应用程序是一个很好的开始。

如果/当你想要更多配置时,OpsWorks是一个很好的下一步。预定义角色应该使转换易于开始,它提供了一个围绕Chef的自动化框架,以帮助协调多个服务器的配置。

作者:,community wiki,Philip Cristiano

相关问答

添加新评论