云原生的新思考,为什么容器已经无处不在了

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 阿里云容器服务总监易立表示:“云原生不但可以很好的支持互联网应用,也在深刻影响着新的计算架构、新的智能数据应用。以容器、服务网格、微服务、Serverless为代表的云原生技术,带来一种全新的方式来构建应用。”

4月24日,中国信息通信研究院主办的首届云原生产业大会在北京举行,在《云原生数字引领未来》的主题演讲中,阿里云容器服务总监易立表示:“云原生不但可以很好的支持互联网应用,也在深刻影响着新的计算架构、新的智能数据应用。以容器、服务网格、微服务、Serverless为代表的云原生技术,带来一种全新的方式来构建应用。”本文根据易立演讲内容整理而成。

拥抱云原生技术,解耦系统复杂度

如今,大多数企业开始全面拥抱云计算,在All-in-Cloud全面到来的时代,三个重要转变:基础设施的云化、核心技术的互联网化、业务的数据化和智能化。在各行各业中,都有很多业务应用从诞生之初就生长在云端,各个企业也因此越来越像互联网公司,而技术能力被视为不可或缺的核心竞争力。在2019阿里云峰会·北京站上,阿里云智能总裁张建锋在谈及‘核心技术的互联网化’时,也提到了大力投资云原生。

为什么要拥抱云原生?一方面,云计算已经重塑了软件的整个生命周期,从架构设计到开发,再到构建、交付和运维等所有环节;另一方面,企业IT架构也随之发生巨大变化,而业务又深度依赖IT能力。这带来了一定程度的复杂性和挑战性。

正如人类社会发展伴随着技术革命与社会大分工一样,云原生技术的出现解耦了很多复杂性,这是IT技术的进步。

首先,Docker实现了应用与运行环境的解耦,众多业务应用负载都可以被容器化,而且应用容器化满足了敏捷、可迁移、标准化的诉求;其次,Kubernetes的出现让资源编排调度与底层基础设施解耦,应用和资源的管控也开始得心应手,容器编排实现资源编排、高效调度;随后,Istio为代表的服务网格技术解耦了服务实现与服务治理能力。此外,阿里云还提供了Open API、SDK等丰富的开发工具,实现第三方被集成,为云的生态伙伴提供广阔的可能性。这样的技术分层推动了社会分工,极大促进了技术和业务创新。

在阿里云看来,云原生首先可以支持互联网规模应用,可以更加快速地创新、和低成本试错;其次,屏蔽了底层基础架构的差异和复杂性;同时,服务网格、无服务计算等新的计算范型的不断涌现,给整体IT架构能力带来了极致弹性,从而更好地服务于业务。用户可以基于阿里云容器服务构建面向领域的云原生框架,如面向机器学习的Kubeflow,和面向无服务器的Knative等等。

image

方兴未艾,容器应用的新思考

容器已经无处不在了, 作为容器服务的提供者,我们认为容器技术会继续发展,被应用于“新的计算形态”,“新的应用负载”和“新的物理边界”,在此将相关观察和新思考分享给大家。

1 新的计算形态:云原生的Serverless Runtime已来

云原生技术理念,是使企业用户及开发者只关注应用开发,无需关注基础设施及基础服务。与之相似的Serverless计算,将应用服务资源化并以API接口的方式提供出来,使用者只需从客户端发起调用请求即可,更重要的是,pay as you go 能够真正为用户节省成本。

Serverless Runtime 分为面向基础架构容器的实现,面向应用服务封装的实现,和事件驱动面向函数计算的实现。
image

云原生Serverless Runtime形态包含多种方式。业界各个厂商也相应地设计出了不同服务解决方案:

  • 面向函数的Function as a Service(FaaS) - 比如AWS Lambda,阿里云的函数计算,提供了事件驱动的编程方式,用户只需提供函数实现响应触发实践,开发效率很高。阿里云函数计算按照调用量计费,可以根据业务流量平滑调整计算资源,在典型场景下,会有10%~90%的成本下降。客户码隆科技做模型预测,利用函数计算降低了40%的计算成本。
  • 面向应用 - 比如Google App Engine、新发布的Cloud Run和阿里云EDAS Serverless,用户只需提供应用实现而平台负责应用弹性、自动化运维,这主要面向互联网类型应用。相比于FaaS,面向应用的Serverless形态无需改造现有应用,阿里云EDAS Serverless为流行的开源微服务框架提供了无服务器应用托管平台,支持Spring Cloud,Apache Dubbo,或者阿里云HSF框架。
  • 面向容器 – 比如AWS fargate,或者是阿里云的Serverless Kubernetes 应用的载体是容器镜像,灵活性很好,配合调度系统可以支持各种类型应用,而无需管理底层基础架构。针对容器化应用,阿里云在去年5月推出了Serverless Kubernetes容器服务,无需节点管理和容量规划,按应用所需资源付费,弹性扩容。针对阿里云基础能力优化,安全,高效。极大降低了管理Kubernetes集群的。Serverless Kubernetes的底层是构建在阿里云针对容器优化的轻量虚拟化弹性容器实例之上,提供了轻量、高效、安全的容器应用执行环境。Serverless Kubernetes无需修改即可部署容器类型应用。

image

2 新的应用负载:容器正被用于越来越多类型应用

最早容器被认为不适合传统的已有应用,但是现在状况已大为改观。容器已经开启了对Windows生态的支持,新发布的1.14版本中Kubernetes 的Pod,Service,应用编排,CNI 网络等绝大多数核心能力都已经在 Windows 节点上得到了支持。当今Windows系统依然占有60%的份额,比如企业的ERP软件、基于ASP的应用、大量的Windows的数据库等,这些传统的基于虚拟化的应用,都可以在代码不用重写的情况下实现容器化。

基于容器技术构建的新架构,会催生新的应用业务价值。云原生AI是非常重要的应用场景,快速搭建AI环境,高效利用底层资源,无缝配合深度学习的全生命周期。对于AI工程,云原生系统可以在四个维度上为提效:

  • 优化异构资源调度
  • 弹性、高效、细粒度(支持GPU共享)
  • 简化异构资源管理复杂性,提升可观测性和使用效率
  • 可移植、可组装、可重现的AI流程

以深度学习分布式训练为例,通过阿里云容器服务可以获得三重加强。资源优化:统一调度CPU/GPU等异构资源,使用VPC/RDMA网络加速;性能提升:GPU 64卡P100,加速比提升90%,相比原生Tensorflow有45%提升;算法优化:MPI代替gRPC通信、ring-allreduce环形通信、计算和通信重叠、梯度融合等。

还有其他高性能计算的场景,以基因数据处理为例,阿里云某用户在5小时内完成WGS 100GB数据处理,支持5000+步骤的复杂流程, 90秒实现500节点扩容充分发挥容器极致弹性。

3 新的物理边界:云-边-端,容器不止运行在IDC服务器中

容器最被熟知的基础环境是数据中心,在业务流量高峰与低谷之时,凭借容器极致弹性可以实现应用与资源伸缩,有效地保证高利用率与高性价比。

随着5G和物联网时代的到来,传统云计算中心集中存储、计算的模式已经无法满足终端设备对于时效、容量、算力的需求。将云计算的能力下沉到边缘侧、设备侧,并通过中心进行统一交付、运维、管控,将是云计算的重要发展趋势。以Kubernetes为基础的云原生技术,在任何基础设施上提供与云一致的功能和体验,实现云-边-端一体化的应用分发, 支持不同系统架构和网络状况下,应用的分发和生命周期管理,并且针对边缘及设备进行如访问协议、同步机制、安全机制的种种优化。
如前所述,应用容器化实现了标准化的可移植性,促成了敏捷弹性的云原生应用架构。不仅大大简化了多云/混合云的部署,而且优化成本,同时提供更多的选择,比如满足安全合规的要求、提升业务敏捷性、提升地域覆盖性等等。

容器可以适用于多种基础环境,比如数据中心、边缘云、和多云/混合云,使得开发者关注回归到应用本身。

写在最后

云原生时代,是开发者最好的时代。

云原生不但可以很好的支持互联网应用,也在深刻影响着新的计算架构、新的智能数据应用。以容器、服务网格、微服务、Serverless为代表的云原生技术,带来一种全新的方式来构建应用。此外,云原生也在拓展云计算的边界,一方面是多云、混合云推动无边界云计算,一方面云边端的协同。

云原生时代,也是云厂商更好发挥作用、为客户提供更多价值的时代。

云厂商需要帮助用户最大化利用“云”的能力,最大化发挥“云”的价值,成就企业创造商业价值。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
3天前
|
Kubernetes Cloud Native 持续交付
构建高效稳定的云原生应用:容器编排与微服务治理实践
【5月更文挑战第14天】 随着企业数字化转型的深入,云原生技术以其弹性、敏捷和可扩展的特性成为现代应用开发的首选模式。本文将探讨如何通过容器编排工具如Kubernetes以及微服务架构的有效治理,构建和维护高效且稳定的云原生应用。我们将分析容器化技术的优势,并结合案例讨论在多云环境下实现持续集成、持续部署(CI/CD)的最佳实践,同时解决微服务带来的分布式复杂性问题。通过本文的阐述,读者将获得一套提升系统可靠性和业务连续性的策略框架。
7 0
|
3天前
|
消息中间件 监控 微服务
【专栏】随着技术发展,未来将探索服务网格、容器化和云原生技术,以提升微服务架构的效能
【4月更文挑战第27天】本文探讨了构建高效微服务架构的后端开发最佳实践。微服务以服务独立、去中心化、自治和轻量级通信为核心原则,带来可扩展性、独立性、技术灵活性和团队协作优势。实践中,要注意服务拆分粒度、选择合适的通信协议(如RESTful、RPC、消息队列)、处理数据一致性与分布式事务、实施服务治理和监控,以及确保安全性与权限控制。随着技术发展,未来将探索服务网格、容器化和云原生技术,以提升微服务架构的效能。
|
3天前
|
Kubernetes Cloud Native 持续交付
构建高效云原生应用:容器化与微服务架构的融合
【4月更文挑战第24天】 随着云计算的不断演进,云原生技术已成为企业数字化转型的核心动力。本文深入探讨了如何通过容器化技术和微服务架构的融合,构建高效、可扩展且易于管理的云原生应用。我们分析了容器化带来的隔离性和可移植性优势,以及微服务架构在提升系统灵活性和促进团队协作方面的重要作用。文章还提供了实施策略,包括选择合适的容器平台、确保服务间通信的安全性以及持续集成/持续部署(CI/CD)的实践,以帮助企业实现敏捷开发和快速迭代。
|
3天前
|
Cloud Native Shell Linux
云原生专题 | 【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(实战技术总结)
云原生专题 | 【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(实战技术总结)
22 0
|
3天前
|
Cloud Native Linux 虚拟化
云原生专题 |【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(底层实现系列)
云原生专题 |【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(底层实现系列)
58 0
|
3天前
|
Kubernetes 监控 Cloud Native
阿里云云原生容器高级工程师认证(ACP级-Alibaba Cloud Certification Professional)考试大纲
介绍阿里云云原生容器高级工程师认证(ACP级-Alibaba Cloud Certification Professional)所需具备的知识及学习方法等。
203 2
|
3天前
|
Kubernetes Cloud Native 安全
云原生技术专题 | 云原生架构未来发展趋势,探索容器技术未来的发展趋势
云原生架构指的是基于云原生技术的一套架构原则和设计模式,目的是最大限度地去除云应用中的非业务代码部分。这样,云设施可以接管应用中大量原有的非功能性特性(如弹性、韧性、安全性、可观察性、灰度等),使非功能性业务中断不再成为难题,为业务提供轻量化、敏捷、高度自动化的优势。
566 6
云原生技术专题 | 云原生架构未来发展趋势,探索容器技术未来的发展趋势
|
3天前
|
监控 Kubernetes Docker
【Docker 专栏】Docker 容器内应用的健康检查与自动恢复
【5月更文挑战第9天】本文探讨了Docker容器中应用的健康检查与自动恢复,强调其对应用稳定性和系统性能的重要性。健康检查包括进程、端口和应用特定检查,而自动恢复则涉及重启容器和重新部署。Docker原生及第三方工具(如Kubernetes)提供了相关功能。配置检查需考虑检查频率、应用特性和监控告警。案例分析展示了实际操作,未来发展趋势将趋向更智能和高效的检查恢复机制。
【Docker 专栏】Docker 容器内应用的健康检查与自动恢复
|
1天前
|
Java 虚拟化 Docker
Docker简介及用途,为什么要使用Docker?Docker容器和虚拟机的区别
Docker简介及用途,为什么要使用Docker?Docker容器和虚拟机的区别
|
1天前
|
存储 Linux Docker
CentOS7修改Docker容器和镜像默认存储位置
CentOS7修改Docker容器和镜像默认存储位置
http://www.vxiaotou.com