12月1日-2日,由51CTO主办的WOTD 2017全球软件开发技术峰会在深圳中洲万豪酒店召开。会议包含大数据系统架构设计、微服务与容器技术、物联网(IOT)技术、深度学习与智能应用开发、创新运维探索等10个技术主题。
华为云 PaaS容器技术总监刘赫伟博士应邀进行了大会的主题演讲《容器技术加速企业业务云化创新》。从四个方面循序渐进地阐述了容器理念、容器技术应用、华为容器服务及实践案例。
刘赫伟博士•华为云PaaS容器技术总监
1、容器与云原生计算
演讲开场,刘赫伟博士介绍道:云原生计算主要包括三个核心理念: Containerized (容器化)、Dynamically Orchestrated (动态编排)、Microservice Oriented (面向微服务)。而本次主要讨论的容器化是云原生计算最基础,也是最核心的理念,包括应用层和基础设施层。应用层强调应用的编排、调度以及分布式的基础服务;基础设施层强调容器运行环境,以及HostOS如何更好地支持容器、管理容器镜像等技术。
容器技术伴随基础的OS内核相关技术发展而来,而今Google开源的Kubernetes(K8S)已经成为业界公认的容器编排与调度的事实标准。现场,刘赫伟博士用数据图例向大家展示了近年来K8S采用率的上扬曲线;并且根据OpenStack社区的用户使用度调查,K8S业务负载已经有32%运行在生产环境。这些充分说明容器技术发展之迅速,云计算领域的关注热点已经开始从基础设施层向容器所代表的云原生计算和PaaS层转移。
2、容器与企业业务云化创新
容器技术与企业业务云化创新是什么样的关系?华为云基于企业应用上云深度理解,总结了“三类场景,七种方案”:传统业务快速上云->企业业务SaaS化->企业业务轻资产化敏捷创新。涵盖了从企业业务上云到业务轻资产化运作与NoOps的全云化之路。三类场景是一个递进的关系:首先是传统业务如何快速上云,可以自动并简化运维,持续快速创新。其次是企业业务上云后的SaaS化,解决多租和服务化问题,从卖license到卖服务的转变。***是企业业务进一步轻资产化,核心是更敏捷的Serverless技术,强调业务轻资产化运作、NoOps和更细粒度的按需使用。
基于演讲主题,刘赫伟博士主要讲解了应用容器化改造方案的优势:容器化可以和虚拟化做对比理解,虚拟化技术解决物理服务器管理成本高、自动供给能力和弹性伸缩能力比较弱的问题。容器化技术解决应用快速上线和快速弹性的问题。首先大幅提升应用构建->发布->上线的整个流程效率;其次业务快速上线之后可以做到分钟级的持续迭代发布和在线的秒级快速扩容,因为容器是进程级的技术,可以做到秒级弹性;另外容器本身管理面占比极小,可以大大提升资源利用率。
刘赫伟博士强调:“我们基于华为云客户反馈的情况来给大家做一个数据上的参考:应用交互性能一般平均1-2倍的提升;资源利用率提升可达50%以上。”
3、云容器引擎CCE与Kubernetes(K8S)
CNCF基金会提供的云原生技术全景图将服务划分为七大类别,包括:开发与集成、编排与管理、运行时、资源与镜像、云基础设施层、平台层和监控分析。华为云云原生服务栈目前已覆盖全部,华为云云原生服务栈目前已覆盖所有七大类别,包括PaaS类服务:云容器引擎CCE、微服务引擎CSE、应用性能管理APM、Serverless函数服务FunctionStage、应用编排服务AOS、镜像仓库服务SWR、一站式微服务应用管理ServiceStage、API网关服务、企业级中间件服务DCS/DMS/DDM,和软件开发云服务DevCloud等。
这里重点介绍云容器引擎CCE,其最核心的特点是基于K8S构建。
华为公司作为 Kubernetes最早的采用者,从2014年起参与K8S社区,2015年CNCF基金会创立的时候,华为是初创成员之一。目前华为在K8S社区的贡献国内***,全球前五,同时也是全球首批Kubernetes认证服务提供商。云容器引擎CCE是一个开放的原生K8S平台,是全球首批通过CNCF的K8S一致性验证的产品。CCE同时能够快速跟进K8S社区版本,基本上是三个月会更新一次版本,目前的版本是1.7,计划12月份升到1.8。早期华为公司主要聚焦K8S调度贡献,因为华为内部K8S最早运用于改造华为电信级和企业级内部业务,这些业务场景对调度要求非常高,需要做独占、反亲和的资源分配,资源与应用之间复杂的基于标签的调度。
在K8S商用增强方面,CCE聚焦于K8S集群的自动化配置、部署上线的整个流程。社区原生工具不支持管理面HA、多集群管理较薄弱,未考虑公有云复杂和大规模场景;CCE也支持多种异构资源,包括虚机、X86裸金属和ARM服务器等。同时,CCE结合客户应用场景,提供一站式DevOps、灵活自动弹性伸缩、丰富的应用调度特性等。
4、更强大的云容器引擎CCE2.0和软件开发云DevCloud
刘赫伟博士重点介绍近期上线的CCE 2.0的 3个新特性:
1)裸金属容器。华为结合自身硬件与操作系统优势,通过OS内核级加强,保证了在裸金属物理服务器上运行的容器足够安全、可靠、稳定,***支持对高性能有要求的AI、深度学习、游戏等行业。
2)iCAN容器网络。华为公司有深厚的网络技术积累,网络可以做到协议层的优化。Flannel是K8S原生所带的网络插件,对比而言华为iCAN性能可以提升20%以上。iCAN网络也可以做到灵活配置,K8S社区的网络多租隔离华为在主要贡献。
3)支持有状态应用。 CCE对接到华为云上多种存储,包括对象存储、块存储等,数据也可以保存到开箱即用的容器化数据类中间件,具备持久化存储能力。
***介绍一下华为软件开发云DevCloud,软件开发云DevCloud,源自于华为公司内部三十年的软件研发流程经验,提供容器化的标准DevOps流程,从项目与代码管理、到容器镜像的自动化构建以及部署到CCE,覆盖开发、测试以及生产全流程。
5、总结与案例
本场演讲分析的案例是一家游戏运营公司,目前已经使用了CCE裸金属容器业务。最主要的是容器所带来的DevOps快速发布上线的流程,另外就是在线的快速弹性扩缩容。因为游戏这个东西是有很明显的高峰和低峰访问段,在高峰的时候,比如晚上访问量很大,就会做自动的弹性扩容,保证不会因为访问量太大而中断。而夜里,没有人玩游戏就会通过自动缩容把资源降下来,这个效果非常好。
演讲***,刘赫伟博士总结了华为云PaaS的核心理念:一是拥抱容器,所有服务的设计围绕着容器技术进行;二是开放生态,现在做公有云的玩家越来越多,对于客户而言越来越关注如何避免与厂商绑定,这种开放生态,尤其K8S的生态是非常重要的。
云容器引擎CCE: