【问题标题】:Which tool makes deployments of java applications on EC2 easier?哪个工具可以更轻松地在 EC2 上部署 Java 应用程序?
【发布时间】:2014-08-17 01:12:16
【问题描述】:

我有一个(简单的 spring-boot)java 应用程序,我想在我们的 ec2 平台上部署和运行。有(除了自定义 EC2 解决方案)OpsWorks 和 Beanstalk,我认为 OpsWorks 更合适,因为它更容易扩展。

哪个工具最能填补我的用户代码和 ec2 平台之间的空白?我想:

  • 能够正确启动和关闭我的应用程序,即我希望通常的退出挂钩在应用程序重新启动/停止/关闭时运行
  • 应用程序启动失败时的通知。 (部署不应标记为成功或应用程序不健康)。我想这部分需要在我的用户代码中做一些准备,所以一旦设置成功,容器或运行脚本就会得到通知。

OpsWorks 的默认 Java 配置在 tomcat 前面添加了一个额外的 apache httpd。我不喜欢这个额外的组件,因为它引入了额外的部分,你必须在出现错误时进行调试(例如超时配置)。

那么你会推荐一个战争或罐子解决方案吗?你会使用 OpsWorks 吗?如果您使用 OpsWorks,您是否使用额外的层/工具来管理部署? 必须可以在命令行上进行部署(这样我就可以使用 jenkins 自动化 alpha 部署)。 Maven 集成会很好,但不是必需的。

【问题讨论】:

    标签: java amazon-ec2 spring-boot aws-opsworks


    【解决方案1】:

    如果您想在 AWS 上轻松部署 Java 或 Spring Boot 应用程序,Boxfuse 可以满足您的需求。

    对于您的 Spring Boot 应用程序,您实际上只需要执行:

    boxfuse run my-springboot-app-1.0.jar -env=prod
    

    这会

    1. 创建 AMI 并准备好启动应用程序
    2. 使用 Spring Boot 配置中定义的运行状况检查 URL 创建弹性 IP 或 ELB
    3. 使用 Spring Boot 配置中定义的端口创建一个安全组
    4. 创建自动缩放组
    5. 启动您的实例

    任何后续更新都将作为零停机蓝/绿部署完成。

    在将流量发送到新实例并使旧版本离线之前,所有部署都会自动确保运行状况检查通过。

    更多信息:https://boxfuse.com/getstarted/springboot

    免责声明:我是 Boxfuse 的创始人兼 CEO

    【讨论】:

    • 听起来不错。我会试一试。 BTW:你应该提到你是 Boxfuse 的 CEO。
    • 好点。它位于我个人资料的顶部,但我现在也将其添加到我的答案中。谢谢。
    猜你喜欢
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 2019-01-04
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多