亚马逊网络服务 (AWS) 提供一系列云计算服务以满足企业需求。其服务产品包括弹性计算服务 (ECS) 和弹性计算云 (EC2)。在这两种服务之间进行选择可能很困难,因为一种专注于虚拟化,而另一种则管理容器化。
在下一篇文章中,我们将探讨 Amazon ECS 和 EC2 之间的差异,以帮助您更好地了解哪种服务适合您的用例。
Amazon EC2代表“弹性计算云”。EC2 允许企业按需访问云计算资源。有超过 500 个实例可供选择,具有最新的处理器、存储、操作系统和网络技术。
Amazon EC2 类似于托管虚拟机 (VM) 服务,可以部署预配置的 VM 实例而无需管理负担。企业还可以将本地 VM 配置上传到 EC2,并通过 VM 导出/导入在云中自动转换和部署。
EC2 实例按秒或按小时计费,采用即用即付 (PAYG) 定价以减轻前期成本。AWS 还控制 VM 配置和基础设施,因此企业可以直接访问计算资源而无需担心。
当一组 EC2 实例开始弹性扩展时,这非常有用。AWS 将自动扩大资源分配以保持性能和稳定性,同时在较安静的时期缩小规模以降低运营费用 (OpEx)。
对于大多数企业来说,最大的问题是数据连续性。EC2 数据仅在实例处于活动状态时保留,而停用会导致数据被清除。幸运的是,企业可以使用弹性块存储 (EBS) 保留 EC2 实例数据,或将 EC2 数据备份到 Amazon Simple Storage Service (S3) 存储桶。
Amazon ECS代表“弹性容器服务”。EC2 使用虚拟化和虚拟机 (VM),而 Amazon ECS 用于管理 Docker 容器应用程序。它是一种完全托管的容器编排服务,其功能与 Kubernetes 类似。Amazon ECS 编排通过 Amazon EC2 运行的 Docker 容器。
Amazon ECS 使用容器集群,而不是部署新的 EC2 实例来扩展。每个集群包含多个 EC2 实例,由 Amazon ECS 编排器管理,以方便扩展和故障转移。
总而言之,ECS 允许公司部署容器化应用程序并轻松编排它们,而无需承担基础设施管理负担。
EC2 最大的区别在于它部署具有自动扩展支持的隔离 VM 实例,而 ECS 部署托管 Docker 容器的可扩展集群。
企业可以使用 ECS 来扩展 Web 应用程序、执行批处理并在混合环境中运行服务,从而为用户提供更好的服务。
EC2 无需 Docker 容器即可运行。因此,它可以通过广泛的操作系统支持和硬件配置提供更大的灵活性。这种灵活性带来了额外的管理负担,而 ECS 编排器可以帮助企业避免这种负担。
VM 实例与集群的更技术性解释是垂直和水平扩展。水平扩展涉及添加其他节点,而垂直扩展涉及为当前机器增加更多功能。
垂直扩展 –为现有实例或节点添加额外的计算能力。节点用于控制 Docker 容器集群,其中可以向集群添加更多容器以垂直扩展。
水平扩展 –不会向现有实例或节点添加计算能力。相反,它会创建一个新实例,并在实例组之间均匀地重新分配所有工作负载。
垂直扩展可提高计算能力的可用性,但应用程序会依赖于单个节点或集群组。如果节点发生故障,或集群控制器发生故障,整个应用程序或网站可能会下线,直到修复为止。
水平扩展会增加复杂性,但会将服务依赖性分散到多个实例中。如果一个实例发生故障,另一个实例可以吸收工作负载,同时进行修复。
ECS 和 EC2 经常协同工作,但它们并不需要。EC2 在许多出色的实例和环境中与 ECS 一起运行。以下是它们的一些用例:
选择并部署 Windows Server 或 Linux 发行版机器映像 (MI) 来运行企业应用程序。
创建自定义应用程序并将其部署到云中。
创建高度可配置的环境或实例类型,并应用安全性、数据保护、身份访问管理 (IAM) 和网络规则。
利用灵活性来定义最小、期望和最大容量,或使用自动扩展组来控制应用程序资源利用率。
使用 Docker 部署容器化应用程序,无需 Kubernetes 作为编排层。
支持从单体架构到微服务的转变。
添加 Amazon ECS Anywhere 以在多云环境中部署容器,例如 Google Cloud Platform (GCP) 和 Microsoft Azure。
使用 AWS 弹性负载均衡器 (ELB) 在多个集群服务器之间实现负载平衡。
虽然 EC2 启动类型有很多,但 DevOps 团队可以选择两种 Amazon ECS 启动类型。用户可以在运行独立任务或创建服务时选择 ECS 启动类型来确定托管任务和服务的基础设施。
EC2 –此启动类型允许部署和管理 EC2 实例集群。它提供对实例和集群的完全控制,尽管管理负担较重。
AWS Fargate –这是 EC2 的无服务器版本,其中 Amazon 控制基础设施和配置,因此企业可以专注于运行其应用程序和任务。
对于对 CPU 和内存要求较高的较大工作负载,企业可以使用 Amazon EC2 更好地优化性价比。
否则,AWS Fargate 更适合需要低开销的工作负载。Fargate 也非常适合突发处理工作负载和批处理。由于 AWS Fargate 通过按秒计费自动扩展,因此与 EC2 相比,它可以显着降低成本。
Trianz 是 AWS 高级咨询合作伙伴,在管理 EC2 和 ECS 工作负载方面拥有丰富的经验。我们的顾问团队可以帮助您确定哪些 Amazon 服务最适合您的应用程序工作负载,并系统地对应用程序进行现代化改造,以提高性能、功能和成本效率。