关于云原生-cloud-native:SAE-的极致应用部署效率

5次阅读

共计 1269 个字符,预计需要花费 4 分钟才能阅读完成。

作者 | 文俊 阿里巴巴云原生团队
本文整顿自《Serverless 技术公开课》

作为 Serverless 平台,SAE 提供了利用全托管的服务,充分利用了云原生的技术红利,以容器作为利用载体,提供了麻利的部署、编排、弹性等能力。SAE 屏蔽了底层的基础设施,对于用户来说,感知到的最底层资源是利用实例自身,利用创立、部署等操作是用户交互的次要接口。

接下来将介绍咱们在利用创立、部署、重启等过程所做的效率优化工作。

利用创立

首先是利用创立。目前,用户界面可通过镜像或 war、jar 安装包的形式部署利用,最初在平台侧,以对立打包成容器镜像的形式进行散发,而后平台去申请计算、存储、网络等 IAAS 资源,再开始创立容器执行环境和利用实例。

在这个过程中,波及到调度、云资源创立和挂载、镜像拉取、容器环境创立、利用过程创立等步骤,利用的创立效率与这些过程严密相干。

咱们很自然而然地能想到,这其中局部过程是否能并行,以缩小整个创立的耗时呢?通过对每个过程的耗时剖析,咱们发现其中的一些瓶颈点,并且局部执行步骤之间是解耦独立的,比方云弹性网卡的创立挂载和利用镜像拉取,就是互相独立的过程。基于此,咱们将其中独立的过程做了并行化解决,在不影响创立链路的同时,升高了利用创立的时耗。

利用部署

利用的部署,即利用降级。咱们晓得,传统的利用部署过程能够分为以下几个步骤:

  1. 首先创立新版本的实例;
  2. 而后期待实例启动、业务过程 ready 后,接入流量,即创立对应 SLB 后端;
  3. 最初将老版本实例从 SLB 后端摘除并销毁。

在分批公布的场景下,如此持续循环下一批实例,进行滚动降级。咱们能看到,在这个过程中,利用实例产生了重建,同时实例 ip 也会产生浮动。

上文咱们讲到,利用实例的创立过程包含调度、云资源创立挂载、镜像拉取、容器环境创立、利用过程拉起等步骤,对于利用部署而言,齐全能够不必重走一遍所有的流程,因为咱们须要的仅仅是基于新的镜像,创立新的利用执行环境和过程而已。

因而,咱们实现了原地部署的性能,在滚动降级过程中,保留原来待降级利用实例及其挂载的云网络、云存储资源,只更新实例的执行环境,无需通过调度、云资源创立等过程。这样,原来的部署流程也简化为:

摘流,将运行实例从 SLB 后端摘除 -> 原地降级实例 -> 接入流量

原地降级后,利用实例仍放弃原来的 ip。通过测试,对于 2 实例利用,部署效率将晋升 4 倍,将部署时长从原来的将近 1 分钟缩短到十几秒。

利用重启

最初,简略介绍下咱们行将推出的 原地重启性能

重启实例在某些运维场合是必要的操作,说到利用重启,咱们心愿相似于 linux 零碎一样,能够只执行一次 reboot,而不是重建实例。具体的做法是,咱们在容器环境下,通过容器引擎 API 执行一次启停操作即可。原地重启相比原地降级,省去了镜像更新和执行环境创立的过程,并且相比 ECS,容器的重启更轻量,能达到秒级。

该性能近期会上线,敬请期待。

Serverless 公众号,公布 Serverless 技术最新资讯,会集 Serverless 技术最全内容,关注 Serverless 趋势,更关注你落地实际中的遇到的困惑和问题。

正文完
 0