2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

AWS Fargate 显著提升 Windows 容器的启动时间

  • 2024-07-03
    北京
  • 本文字数:1189 字

    阅读完需:约 4 分钟

AWS Fargate 显著提升 Windows 容器的启动时间

亚马逊云科技宣布改进在 AWS Fargate 上运行的 Windows 容器的启动时间。启动时间的改善是通过预制 AMI、EC2 快速启动,以及取消网络代理进行的实现,该团队还为用户提供了进一步提高容器启动时间的建议。


亚马逊云科技表示,他们“已经将 Windows Server 2022 Core 的基础设施准备时间缩短了 42%”。他们还指出,Fargate Windows 的启动时间可划分为三个高级桶:基础架构准备时间、容器镜像拉取时间,以及任务启动时间。


基础设施准备时间包括了提供底层计算所需的时间以及拉取容器镜像所需的时间。拉取容器镜像所需时间包括 Containerd 对容器镜像的拉取和提取时间。最后的任务启动时间包括 Fargate 代理和 Containerd 一起使用合适的配置启动任务容器。


亚马逊云科技团队专门针对 Fargate 的优化预制了更为高效的 Windows Server AMI,减少了每个容器所需的设置,降低了部署过程中的潜在延迟和错误。Contino 高级顾问 Mark Nash 将镜像的制作描述为:


创建虚拟机、容器或磁盘的自定义镜像的一种规范化、自动化且可重复的流程。将所需的系统配置拷到虚拟机镜像而不是在实例创建后再进行配置,虚拟机的配置时间将有所加快。


团队还为 Fargate Windows 的任务启动启用了 EC2 快速启动。EC2 快速启动利用预配置快照,最大限度地减少了 Windows 操作系统启动过程中的重启和复杂的初始化步骤。EC2 快速启动会根据提供的设置创建一组临时的 T3 实例,在实例完成标准的启动步骤之后立即快照,原始实例随即被终止,而快照将按需生成实例。AWS 承诺“随时提供足够的快速启动快照,以满足需求”。


团队用一个优化后的进程替代了原先基于 sidecar 的网络代理,该进程可在任务网络的命名空间内运行 Fargate 工作进程,如此一来就完全不需要网络代理了。最后,Fargate 现在可以在 Windows Server 操作系统启动过程完成后立即启动实例引导,无需再等待 EC2 的启动代理启动该过程。


团队也为进一步提升 Fargate 上运行的 Windows Server 任务的启动性能提供了一些建议。为充分利用 Fargate Windows 缓存,需在最新的 Windows Server 基本镜像上构建容器,微软会在每月的第二个星期二发布最新的基础容器镜像。Fargate Windows 缓存只存储最新和上个月的 Windows Server Core 基础镜像。


团队还建议使用 Windows Server 2022 Core 基础镜像,因为其占用的空间更小,启动时间也更快。占用空间更小的部分原因是其不提供 GUI 或 Windows 桌面功能。


谷歌云中和 AWS Fargate 最接近的服务是 Cloud Run。不过在文章撰写时 Cloud Run 的容器还是不支持 Windows 操作系统。Azure 的同类型服务为 Azure Container Intances,同时支持 Linux 和 Windows 容器。


只有在 Amazon ECS 上运行的 AWS Fargate 才支持 Windows,亚马逊 EKS 上的 Fargate 不支持 Windows。所有支持 Fargate 的地区都可享受改善后的启动时间。


原文链接

https://www.infoq.com/news/2024/06/aws-fargate-windows-launch/

2024-07-03 15:575401

评论

发布
暂无评论
发现更多内容

分布式ID生成服务的技术原理和项目实战

百度Geek说

数据库 redis 分布式 企业号十月 PK 榜

在线问题反馈模块实战(五):实现对通用字段内容自动填充功能

bug菌

springboot 项目实战 10月月更

HashMap源码分析(二)

知识浅谈

hashmap 10月月更

Linux下内存空间分配、物理地址与虚拟地址映射

DS小龙哥

10月月更

基于强化学习的测试日志智能分析实践

华为云开发者联盟

人工智能 测试 华为云 强化学习 企业号十月 PK 榜

golang中的init初始化函数

六月的

golang init

“全球金牌课程”【11月CSM认证】国际Scrum联盟认证导师CST授课 | 火热报名中

ShineScrum

Scrum CSM 敏捷项目 ScrumMaster认证

易安联安全应急响应中心EnSRC上线,专为零信任安全守护

权说安全

零信任 应急响应

Go语言入门01—数据类型

良猿

Go golang 10月月更

快速体验React开发基础入门指南

CoderBin

前端 框架学习 #web react redux 10月月更

npm 新型定时攻击或导致软件供应链安全风险

SEAL安全

npm 软件供应链攻击

即刻报名|金融业传统 OLAP 升级及精细化运营实践

Kyligence

OLAP 数据驱动

在线问题反馈模块实战(六):接口文档定义

bug菌

springboot 项目实战 10月月更

“程”风破浪的开发者|你真的会用Redis做消息队列吗

芥末拌个饭吧

学习方法 redis 底层原理 10月月更

优雅代码的秘密,都藏在这6个设计原则中

小小怪下士

Java 接口

第K个语法符号

掘金安东尼

算法 10月月更

华为云从入门到实战 | AI云开发ModelArts入门与WAF应用与部署

TiAmo

华为 华为云 云开发 10月月更

Redis的string内存消耗为何如此之大

芥末拌个饭吧

后端 redis 底层原理 10月月更

Redis哨兵机制了解一下

芥末拌个饭吧

后端 redis 底层原理 10月月更

树莓派4B安装docker-compose(64位Linux)

程序员欣宸

Docker 10月月更 树莓派4

在线问题反馈模块实战(四):封装通用字段类

bug菌

springboot 项目实战 10月月更

如果你看不懂别人画的 UML 类图,看这一篇文章就够了

跟着飞哥学编程

Java设计模式 10月月更 UML类图

计算机体系结构“圣经”新版,图灵奖得主扛鼎之作,影响无数技术人

图灵社区

计算机体系结构

【LeetCode】连续子数组的最大和Java题解

Albert

算法 LeetCode 10月月更

经历了6个月的失踪,我将带着干货终究归来!【RocketMQ入门到精通】

码界西柚

1024 10月月更

【一Go到底】第二十天---闭包

指剑

Go golang 10月月更

golang中的接口

六月的

golang interface

图解 | 聊聊 MyBatis 缓存

悟空聊架构

缓存 一级缓存 悟空聊架构 10月月更 myabtis

计算机体系结构“圣经”新版,图灵奖得主扛鼎之作,影响无数技术人

图灵教育

计算机体系结构 图灵奖

群主发红包带你深入了解继承和super、this关键字

共饮一杯无

Java 关键字 10月月更

AWS Fargate 显著提升 Windows 容器的启动时间_云计算_Matt Campbell_InfoQ精选文章