Amazon web services 为什么人们在Docker容器上使用AWS?

Amazon web services 为什么人们在Docker容器上使用AWS?,amazon-web-services,docker,containers,open-source,Amazon Web Services,Docker,Containers,Open Source,AWS提供诸如Elasticache、redis、数据库等服务,所有服务均按小时收费。但这些服务也可以在docker hub中以docker容器的形式提供。上面列出的所有AWS服务都使用一个实例。也就是说,是数据库和所有数据库的独立实例。但是,如果一个人开始使用ec2实例,并开始下载所有依赖于数据库的图像,该怎么办呢。那会帮他们省很多钱,对吗 我以前使用过docker,它几乎拥有aws提供的所有服务的图像。EC2不是免费的。例如,您可以在EC2实例上运行MySQL。这将比使用RDS便宜,但您仍然

AWS提供诸如Elasticache、redis、数据库等服务,所有服务均按小时收费。但这些服务也可以在docker hub中以docker容器的形式提供。上面列出的所有AWS服务都使用一个实例。也就是说,是数据库和所有数据库的独立实例。但是,如果一个人开始使用ec2实例,并开始下载所有依赖于数据库的图像,该怎么办呢。那会帮他们省很多钱,对吗

我以前使用过docker,它几乎拥有aws提供的所有服务的图像。

EC2不是免费的。例如,您可以在EC2实例上运行MySQL。这将比使用RDS便宜,但您仍然需要为其消耗的计算和存储资源付费。即使在较大的共享EC2实例上运行数据库,也需要考虑其存储和CPU周期,并且可能需要更多或更大的实例来运行更多的任务

截至目前,在美国东部地区,MySQL db.m5.large实例的预付费为每小时0.171美元或每年895美元,加上每月每GB容量0.115美元;同一个m5.large EC2实例每小时0.096美元或每年501美元,每月每GB存储0.10美元。[假设1年,所有预付款、不可转换的保留实例。]

有很好的理由不在Docker中运行数据库。特别是在微服务环境中,应用程序Docker容器是无状态的、可复制的、定期更新其映像、可以自由删除,并且可以通过在其他位置删除和重新创建来跨主机移动。在Kubernetes/EKS中,查看部署对象是如何工作的。这些都不适用于数据库,它们都是关于保持状态的,不能删除,不能移动,数据必须随附,并且必须备份

RDS有一些有用的特性。您可以通过一些停机时间更改数据库实例的大小,但不会丢失数据。AWS将为您保留托管快照,如果从现有数据库的快照创建新数据库速度较慢,那么这将非常简单。数据库的修补程序更新将自动为您应用。实际上,您可以向Amazon支付这些功能的费用,也可以向自己的DBA支付这些费用,以便为运行在EC2实例上的数据库执行相同的任务

这并不是说你必须使用RDS,事实上,你可以通过在EC2上运行相同的软件在AWS上保存数据,它可能在Docker中,也可能不在Docker中。不过,在一个全是码头工人的世界里,RDS是一个合理的选择。同样的基本权衡也适用于其他服务,如用于Redis的Elasticache