您的位置:首页 > 职场人生

2019年技术盘点容器篇(三):阿里专家谈容器:既叫好又叫座? | 程序员硬核评测

2019-07-09 13:31 465 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/sch881226/article/details/95187113

据相关调研机构出具的报告数据显示,目前应用容器市场规模将从2016年的 7.62亿美元增⻓到2020年的27亿美元。

显而易⻅,引入容器所展现的巨大灵活性有效推动了其采用速率,使企业日益依赖该技术,与此同时容器技术也逐渐成⻓为虚拟机的实力替代品。对此,调研机构Forrester公司曾指出,58%的开发商计划在未来一年内使用容器或正在计划使用容器。

总结一句,使用容器可以帮助企业提高效率、降低成本,甚至在安全性方面有更可靠的保障, 这些易于打包以及轻量级的组件可以与同一虚拟机中的其他组件一起运行。

此外容器的大力采用也让开发者通过创建虚拟“沙箱”来更快、更好地工作,从而完成编写、管理和操作软件代 码,可以在不影响服务器或虚拟机(VM)上运行其他应用程序和系统的情况下就可完成此操作。

基于此,CSDN云计算特别策划了容器服务盘点系列文章,欲以CSDN中立技术社区专业、客观的角度,探讨当前云服务商眼中的“容器服务”并为开发者选择合适的容器服务提供部分可参考的建议,以帮助其实现容器技术的创新应用等。

为此我们采访了数家提供容器服务的云服务厂商,而本期程序员硬核评测则特别邀请到阿里巴巴容器平台资深技术专家吕奇针对目前的容器技术发展、阿里巴巴内部云化战略以及新产品ECI等诸多方面展开技术分享。

用技术专家吕奇的话说,过去容器技术的发展长期处于叫好不叫座的尴尬状态,但随着企业对该技术需求程度的逐年上升,"既叫好又叫座"逐渐演变成该领域的关键词;同样这点在Gartner的预测报告中也有所体现:初步预计到2020年,将会有百分之五十左右的企业大力采用容器技术。容器作为云计算领域的核心技术之一,各大云服务商也铆足劲头频繁动作,其中不乏谷歌、亚马逊这样的巨头。

“从今年目前的发展情况来看,很多企业级用户都将目光聚焦在容器生态上,而不是纯粹为了技术跟风来关注容器技术,有需求、真正用起来是基调。因为冷静的态度所以企业了解技术更加深入且得心应手,在多集群运营、安全保障、成本降低等方面要求较多。”吕奇总结道。

另外,“通过容器技术牵引企业上云”的思想一时间让技术聚焦点从资源管理的层面逐渐转移应用层面的发力,例如服务网格技术与容器相结合的探索等也逐渐崭露头角。这对于阿里巴巴本身来说,针对成本节省的ECI技术成熟研发以及内部整体云化的长远规划等都带来了影响。

弹性是价值、ECI一马当先

谈及阿里云弹性容器实例 ECI(Elastic Container Instance),其实可以被认为是普惠云计算的一种表现,TA 成功将时下大火的Serverless 和 Container 技术相结合,出炉一款既敏捷又安全的Serverless容器运行服务。

主要表现在通过使用ECI+ACK(Aliyun Container Service for Kubernetes)服务,用户能够做到无需管理底层服务器的情况,只需要提供打包好的Docker镜像,就能让容器运行起来,也就是说通过结合容器技术和无服务器技术,将运维边界从基础设施的整机层面提升到了容器运行时层面。

通过吕奇的深入介绍,阿晶了解到,ECI产品缘起云计算用户对于基础设施弹性、灵活的迫切需求。具体来说,ECI 服务构建在阿里云整体计算资源的平台上,与阿里云 ECS 服务使用相同的库存管理与调度策略。

图片来源网络

在性能方面,ECI在资源占用和启动时间方面都做了深度优化,以此达成降低容器组资源成本和加快启动时间的目标;此外其使用容器组作为交付的资源实体,涉及之间的共享网络以及文件系统,这个概念有点儿类似于Kubernetes中的Pod,这样可以做到使用过程中更加自然以及顺畅的效果,尤其是在处理资源共享以及业务逻辑方面。

ECI对于使用K8S的用户来说,主要通过使用Virtual Kubelet构建虚拟节点就可以将业务无缝部署在上面,来提升系统弹性能力以及 应对突发情况的处理。此外在使用 ECI 服务后,用户不用再需要关心操作系统的升级,安全漏洞修复等这些琐碎问题。关于这个产品,吕奇表示,如今还在不断做出有关性能提升的调整,尤其是在创建速度上。

从“云化战略”看大促与富容器

阿晶了解到,其实阿里巴巴提出内部的云化战略构想已有不短的时间,但为了更好地表述其中的进展进程,吕奇先列举了容器技术对于内部大促的显著影响。

通常,秒杀、抢购、付款……用户关注的是每次着手的“丝滑体验”,而像阿里巴巴这样拥有庞大电商业务的企业则更多着眼的是成本。在此基础上,从每年大促将至大量采购机器储备计算资源到面对双11之后资源大量闲置的窘迫,所以从2015年,阿里巴巴的技术团队就尝试将对延迟要求不高的计算任务和对延迟敏感的在线业务统一部署到一个集群中运行,做到让在线服务的空闲资源被计算业务充分使用,据了解这种“退让机制”目前可以做到毫秒级,其中涉及到容器层面的隔离以及调度方面的切换,以此来提高集群的整体利用效率,其实也就是混部技术。

在具体的混部技术实施中,由于在线服务机型以及计算服务机型针对不同的资源显示了很大的差别,技术团队还通过存储计算分离的技术将资源节点进行了区分,例如计算节点、存储节点等。通过讲述,阿晶得知通过混部技术,阿里巴巴集团范围内能够节省30%左右的成本支出,能够在双11这个特殊的时间将每万笔的交易成本下降50%。

一直以来,阿里巴巴的云化技术战略其实是其在基础设施领域持续努力的方向,其中除了混部技术、计算存储分离的尝试之外,还涉及到富容器的应用创新。

谈及PouchContainer 的历史,吕奇表示,其实从2011年阿里巴巴的技术团队就开始打造容器技术,但并没有做到像后来的Docker 那样流行,主要还是因为这套技术集中服务在内部,聚焦在容器环境的打造来提高集团资源的利用率,直到2016年引入镜像,逐渐研发出“完全透明的技术”(不对开发以及运维造成入侵性,且能做到迅速容器化所有业务),即富容器,如今已经被转化为轻量级模式。

通常来说,企业引入容器技术服务并不希望对自身应用和开发以及运维带来任何影响,否则推广的难度肯定会有所增加,说“不”的几率比较大,基于此,我们在富容器内部会先拉起systemd,再由它来拉起其它进程,这一点有点儿像虚拟机,这种模式主要用来做好容器内部更细致化的管理;当然同时还有能力去管控其他的系统服务,例如SSHD等,这样在运维层面就不会涉及到习惯修改,没有入侵性。

图片来源网络

此外,富容器在管控层面作出了很多细致化的要求,例如 prestart hook、post stop hook等,在这个过程中无论是启动前置化工作还是终止后置化都是方便快捷的;另外据阿晶了解,富容器完全兼容容器镜像,对业务交付效率没有任何影响。

谈及云化战略,阿晶觉得除了需要让企业业务真的像云一样具有弹性之外,很重要的一点就是在统一调度上“下功夫”,其中必然包含容器技术,资源交付的统一化等。绝对不是将运行时从之前的VM或者物理机直接替换成容器那么简单,甚至更多会涉及到一种生态的变迁。

关于日志采集与容器化AI的新尝试

关于容器的日志采集问题,吕奇表示这一直都是个老大难的问题,作为阿里的技术团队也在不断尝试并探索新的方法。“通常来说企业都会使用开源的采集工具,在这方面阿里云有一款日志采集产品名叫SLS,不但可以提供一个从采集、过滤、处理、聚合到在线查询的完整海量日志处理平台来满足各种类型的日志处理分析需要,还可以做到与云上容器服务ACK相集成,使用起来很方便。当然,未来也会在采集方面做一些优化,比如性能和稳定性等,在更新模式上也会加大研发力量。”

提到容器化的AI应用,他提出主要还是集中在资源管理的层面,聚焦于此AI 与容器额结合效果还是不错的,毕竟AI 计算还是需要很多GPU资源,加入容器之后不但在调度上更高效,还能顺版提升计算速度,何乐而不为?

另外一方面则集中在Arena,这款深度学习开源工具上。它可以做到用一个命令行去完成环境管理、任务调度等复杂性工作,便于解决AI科学家的疑问,例如如何运行机器学习代码、如何检查训练结果,包括模型和日志等。毕竟数据科学家通常的工作模式都是编写一些简单脚本,在桌面机上运行代码,但这种情况下进行模型训练,硬盘驱动器带来的空间限制会导致处理数据量不足,无法利用分布式训练就带来了算力瓶颈。

谈及未来关注的新技术、新方向,吕奇坦承K3S是一个很优秀的项目;此外阿里内部在边缘计算方面也将持续发力,甚至还会大力考量云边端一体化,他认为边缘计算上的应用能够进行统一管理才是未来一个重要的形态;关于物联网和区块链也将成为大热不降的方向。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: