在Amazon Web Services上部署Java Web应用程序

德克兰

我想使用Amazon AWS开发J2EE Web应用程序。我应该计划使用哪个AWS组件以及用于什么目的?

以下是我的应用程序的一般规格:

  • 在SQL Server数据库实例上具有servlet,JSP,JPA的MVC模型。
  • 数据库当前不存在
  • 该应用程序将用于运行小型财务方案模型,并通过HTML表单从用户那里输入假设
  • 没有为该应用程序计划Aurora

规格设计:

  • 10k I / Os
  • CPU:〜2 GHz
  • 记忆体:2 GB
  • 数据库大小:2 GB

除了数据库中的数据外,最初没有计划任何资产。计划是使用最少的设计组件将数据呈现到JSP中。

我想负责最少的服务器和数据库管理。

目标预算是每月10-20美元。

我可以从AWS使用什么来满足此预算和这些规范?

乔治·斯托克

更新为2018年定价

由于您想负责服务器管理,因此将您置于EC2领域(本质上是AWS的云基础架构上的虚拟机)。

这就是云。您真的不想知道满足您的规格需要花多少钱(超出您的承受能力)。由于EC2 T2的性质,您可以获得CPU积分,因此,使其保持运行(并且不使用它)的时间越长,使用它所获得的积分就越多。这样,假设每天使用,它将满足您的规格。

让我们假设一下(为了降低成本),您希望SQL Server和Web应用程序位于同一EC2实例上(您实际上不应该这样做)。

对于EC2,鉴于您需要在同一主机上运行IIS和SQL Server(以节省资金)的要求,您可以使用的最低主机是SQL Server Web Edition 2014 / Windows 2012 R2 T2,当前价格为$ 0.272 /小时。

SQL Server Web 2014 / Windows 2012 R2(T2.Medium)

   2015         2018    

   .272        .1358
x   750     x    750
-------     --------
 198.83       101.85

由于它没有实例存储,因此您也将为根EBS卷付费。

由于您的数据库将为2GB;并且您应该保留至少2周的备份时间,我们可以假设(基于幼稚的备份方案),对于EBS实例(Amazon的虚拟磁盘驱动器),您将需要以下内容:

6 GB - Data Volume
6 GB - Log Volume 
30 GB - Backup Volume 
80GB - System Drive 

SQL Server在Windows及其日志中占用约32-40GB;我为交换文件,IIS和任何临时文件留出了空间。由于这是Web Edition,因此您无法压缩备份以节省空间,这就是备份量如此之高的部分原因。您可以挥霍无用,在SQL备份上花费几百美元,并且每20分钟可以进行每周一次的完整备份,每晚的差异备份和日志备份,这样可以节省一些钱;但还不足以值得(在您的情况下)。

因此,EBS卷的费用为每GB每月$ 0.10;或在这种情况下:

   2015         2018     

    .60         Unchanged
    .60
   3.00
+  8.00
-------
  12.20

仅用于EBS。

您可以选择磁性而不是SSD来将价格降低一半。但这并不会太大改变微积分-您的成本在实例本身中;不在EBS卷IO中。

这也假设您使用的是带有公共IP和主机名的公共EC2实例。不是您使用的是代理服务器,而是将Web服务器和SQL Server隐藏在该代理后面。您将为此付出更多。如果您想拍摄图像或EBS卷的快照并将其存储在S3中($ .03 / GB),您还需要支付更多费用。

这些都不包括任何实际的带宽成本。

您可以每月最少支付$ 220,这是假设流量很小甚至没有的情况。在实际使用情况下,每月可能接近250美元。

如果您决定转储管理您自己的SQL Server实例,则它可能会更便宜。您只需要一个EC2实例作为您的Web层,以及一个SQL Server RDS实例。这是费用:

Linux T2.Micro + SQL Server RDS

Linux T2.Micro(网络层):

    2015         2018    

    .013        .0116
 x   731     x    731    
 -------     --------
   9.013         8.47   

EBS卷(系统+ Web,1卷):

   2015      2018   

     10      unchanged
x   .10
-------
   1.00

(假设您的Linux发行版+ Web文件仅需要10GB)

SQL Server RDS:

       2015        2018   

db.t2.micro     db.t2.micro 

       .022        .022
   x    731    x    731   
   --------    --------
      16.08       16.08       

因此,您仍然需要每月支付$ 26.09(更多的是像软糖一样,每月要支付$ 30)。

这些价格适用于US-EAST-1。RDS当前最便宜的是爱尔兰-欧盟。这些是这些价格:

Linux T2.Micro + SQL Server RDS(爱尔兰-欧盟)

   2015       2015         2018       2018
    RDS        EC2          RDS        EC2
    
   .018       .014         .023      .0126
 x  731     x  731       x  731    x   731 
 ------     ------       ------      -------
  13.16      10.23        16.81       9.21  

增加EBS数量成本;而您每个月的费用约为26-27美元(包括带宽)。因此,如果您仍然使用SQL Server,这是迄今为止最便宜的选择。

如果您决定放弃SQL Server(并留在爱尔兰-欧盟AZ),并选择最便宜的RDS(mySQL)数据库服务器选项:

Linux T2.Micro + MySQL RDS(爱尔兰-欧盟)

       2015            2018  
db.t2.micro     db.t2.micro     
                                      
      0.018        unchanged  
   x    731
   --------
      13.16

这样看来,如果您留在欧盟内,RDS上SQL Server和MySQL的价格是相同的。在RDS上使用MySQL的US-East-1定价,每月需减去$ 0.73)。

如果选择使用内存数据库DB(例如SQLLite),则可以进一步降低此成本。您将需要更大的EBS量(我将它加倍),但这只会使您的成本每月增加1.00美元,并且您可以满足您的条件,并且只需为Linux t2.micro付费:

Linux T2 Micro(Web层)+ SQLite DB:

    2015       2018 (EU-Ireland)
                   
    .013         .0126  
 x   731       x   731
 -------       -------
    9.50          9.21  
 +  2.00        + 2.00
 -------        ------
   11.50         11.21  

这将满足您每月20美元以下的托管标准。但是,没有任何有关性能的信息。

VCSJones(在Twitter上)提出了SQL Server Express

SQL Server Express / Windows 2012 R2 EC2实例

如果您绝对愿意使用SQL Server(这很酷,我也喜欢SQL Server),那么您可以拥有一个SQL Server Express实例,届时您将为实例支付费用。SQL Server Express将数据库的最大容量限制为10GB

     2015          2018  

 T2.Micro      T2.Micro
     .018         0.017
  x   731      x    731  
  -------      --------
  ~ 13.16       ~ 12.43  

从上面加上相同的EBS编号(12.20),您每月的定价约为26美元。

参考:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Amazon Web Services - 部署 Spring Boot 应用程序

来自分类Dev

带有移动和Web客户端的Amazon Web Services上的Java应用程序

来自分类Dev

带有移动和Web客户端的Amazon Web Services上的Java应用程序

来自分类Dev

在Tomcat上部署Web应用程序

来自分类Dev

当Web应用程序在Amazon Web Services上运行时查看控制台输出

来自分类Dev

在Azure Tomcat上部署Java Web应用程序和Web服务的差异

来自分类Dev

使用Amazon AWS将React,Node / Express和MySQL Web应用程序部署到Web上

来自分类Dev

Amazon AWS自定义Java应用程序计费与Web服务

来自分类Dev

如何在weblogic群集上部署Web应用程序

来自分类Dev

在客户端上部署测试Web应用程序

来自分类Dev

在Glassfish上部署Web应用程序时出错

来自分类Dev

在服务器上部署Java Spring Web应用程序后无法正常工作

来自分类Dev

在Websphere 8.5上部署Web应用程序时,JerseyServletContainerInitializer的java.lang.NullPointerException

来自分类Dev

如何在OpenShift或Git上部署Java Web应用程序?

来自分类Dev

在Websphere 8.5上部署Web应用程序时,JerseyServletContainerInitializer的java.lang.NullPointerException

来自分类Dev

使用GlassFish在Red Hat Linux服务器上部署Java Web应用程序

来自分类Dev

如何在 Web 服务器上部署 Java 应用程序

来自分类Dev

在 azure 上部署 Web 应用程序和控制台应用程序

来自分类Dev

如何部署Java Web应用程序。部署步骤

来自分类Dev

部署Web应用程序的最佳实践

来自分类Dev

Web(PHP)应用程序部署策略

来自分类Dev

GlassFish 4 Web应用程序部署

来自分类Dev

在 ubuntu 中部署 Web 应用程序

来自分类Dev

如何部署Spark Java Web应用程序?

来自分类Dev

将Java EE Web应用程序部署到glassfish

来自分类Dev

部署示例Java Web Start应用程序失败。

来自分类Dev

使用AWS CodeDeploy部署Java Web应用程序

来自分类Dev

在Amazon上部署Spring Boot应用程序的最佳实践

来自分类Dev

Web应用程序中的Java同步

Related 相关文章

  1. 1

    Amazon Web Services - 部署 Spring Boot 应用程序

  2. 2

    带有移动和Web客户端的Amazon Web Services上的Java应用程序

  3. 3

    带有移动和Web客户端的Amazon Web Services上的Java应用程序

  4. 4

    在Tomcat上部署Web应用程序

  5. 5

    当Web应用程序在Amazon Web Services上运行时查看控制台输出

  6. 6

    在Azure Tomcat上部署Java Web应用程序和Web服务的差异

  7. 7

    使用Amazon AWS将React,Node / Express和MySQL Web应用程序部署到Web上

  8. 8

    Amazon AWS自定义Java应用程序计费与Web服务

  9. 9

    如何在weblogic群集上部署Web应用程序

  10. 10

    在客户端上部署测试Web应用程序

  11. 11

    在Glassfish上部署Web应用程序时出错

  12. 12

    在服务器上部署Java Spring Web应用程序后无法正常工作

  13. 13

    在Websphere 8.5上部署Web应用程序时,JerseyServletContainerInitializer的java.lang.NullPointerException

  14. 14

    如何在OpenShift或Git上部署Java Web应用程序?

  15. 15

    在Websphere 8.5上部署Web应用程序时,JerseyServletContainerInitializer的java.lang.NullPointerException

  16. 16

    使用GlassFish在Red Hat Linux服务器上部署Java Web应用程序

  17. 17

    如何在 Web 服务器上部署 Java 应用程序

  18. 18

    在 azure 上部署 Web 应用程序和控制台应用程序

  19. 19

    如何部署Java Web应用程序。部署步骤

  20. 20

    部署Web应用程序的最佳实践

  21. 21

    Web(PHP)应用程序部署策略

  22. 22

    GlassFish 4 Web应用程序部署

  23. 23

    在 ubuntu 中部署 Web 应用程序

  24. 24

    如何部署Spark Java Web应用程序?

  25. 25

    将Java EE Web应用程序部署到glassfish

  26. 26

    部署示例Java Web Start应用程序失败。

  27. 27

    使用AWS CodeDeploy部署Java Web应用程序

  28. 28

    在Amazon上部署Spring Boot应用程序的最佳实践

  29. 29

    Web应用程序中的Java同步

热门标签

归档