去年11月,我有幸宣布的预览Amazon EC2服务容器(ECS)再保险:发明。在那个时候,我写了关于集装箱化更容易为客户将他们的应用程序分解为较小的构件导致增加主版本的敏捷性和速度。我也谈过客户面临的一些挑战,因为他们试图规模基于容器的应用程序包括在集群管理的挑战。今天,我想更深入到一些关键的设计决策我们在构建亚马逊ECS解决客户所面临的核心问题。。

在集群上运行现代分布式应用程序需要两个关键组件——可靠的状态管理和灵活调度。这些具有挑战性的问题工程师构建软件系统一直试图解决很长一段时间。在过去,许多集群管理系统认为,集群是致力于一个应用程序或将静态分区为多个用户。在大多数情况下,应用程序运行在这些集群是有限的,由管理员设置。你们的工作经常被放在工作队列,以确保公平和集群利用率增加。对于现代分布式应用程序,许多这些方法分解,特别是在高度动态的环境中通过Amazon EC2和码头工人容器。客户希望自旋向上一个计算资源池的集群需求和动态变化的可用资源随时间变化。他们希望这些集群跨越多个可用性区域,并且越来越想分配多个应用程序-封装在集装箱码头工人不需要静态分区集群。这些应用程序通常都是长时间运行的流程和短暂的工作水平不同的优先级。或许最重要的是,我们的客户告诉我们,他们希望能够从一个小集群和发展随着时间的推移他们的需求增长在不增加操作的复杂性。。

现代调度系统需求更好的状态管理与传统的集群管理系统可用。客户在Amazon EC2实例的集群运行码头工人容器需要知道这些容器运行以及他们是否期望状态。他们还需要的信息资源使用和剩余的可用资源,以及应对失败的能力,包括一个完整的可用性区域的可能性可能会变得不可用。这需要客户集群的状态存储在一个高可用性和分布式键值存储。我们的客户告诉我们,缩放和操作这些数据存储系统是非常具有挑战性的。此外,他们认为这是未分化的重任,宁愿集中精力在他们的应用程序和运行其业务增长。让我们深入亚马逊ECS的创新可以解决这些问题并移除大部分的复杂性和“神气活现的”运行一个高性能、高可伸缩Docker-aware集群管理系统。。

与亚马逊ECS状态管理

在亚马逊,我们已经建立了分布式系统核心原语支持我们的需求。亚马逊ECS建立在这些原语之一——Paxos-based事务日报》,维护状态转换的历史。提供和接受使用这些转换乐观并发控制并接受然后复制允许提供高可用性和高度可伸缩的酸兼容的数据存储。然后我们让这个状态管理一组简单的api。你叫亚马逊ECS列表和描述api来访问您的集群的状态。这些api给集群中的所有实例的细节和所有那些实例上运行的任务。亚马逊ECS api快速响应是否与一个实例集群和一些容器,或动态集群的实例与100年代和1000年代的容器。没有安装和没有betway88体育官管理网。。

调度与亚马逊ECS

状态管理系统底层亚马逊ECS使我们能够为我们的客户提供非常强大的调度功能。亚马逊ECS是共享状态的集群管理系统允许调度器全面了解集群的状态。调度器争夺他们所需的资源和我们的状态管理系统解决冲突和提交serializable事务以确保一致和高可用性的集群视图状态。这些事务担保必须确保不会丢失的变化状态,一个非常重要的属性,以确保你的工作有他们需要的资源。这允许并行调度决策是由多个调度器,允许您迅速创建分布式应用程序变得越来越普遍。。

亚马逊ECS包括调度器等常见负载长时间运行的服务或运行一次工作,和客户可以编写自定义调度程序,以满足他们独特的业务或应用程序需求。这意味着没有工作队列,没有等待任务开始时锁到位,最重要的应用程序,得到他们所需要的资源。。

我希望这篇文章能给你一些见解如何以及为什么我们建立了亚马逊ECS。必威体育精装版应用官网荷兰国际集团(ing)系统与这些能力是很困难的,需要耗费大量的建设经验,缩放和操作的分布式系统。与亚马逊ECS,这些功能都可用几个API调用。构建现代应用程序从来都不是一件容易的事。预排的新的亚马逊ECS服务调度程序和其他功能,请阅读杰夫·巴尔的文章在AWS的博客和特性和功能的完整列表,克里斯·巴克利的文章阅读AWS计算博客

评论

博客评论的Disqus