百度云智峰会Workshop技术干货第5弹——百度云原生应用解决方案亮相百度云智峰会

百度云原生应用解决方案亮相百度云智峰会

 

传统企业近年来数字化转型的趋势相信各位读者已经有了非常清晰感知。在这个过程,企业在数字化路径选择上的不同也会影响企业数字化转型的最终成果与实施成本。根据市场调查和预测,企业近些年来越来越多的采用云原生的手段来让自身业务通过新一轮的数字化转型实现快速发展。

 

在本次2019百度云智峰会上,由百度效率云联合智能云微服务推出了云原生应用解决方案,并推出了基于百度效率云和CNAP平台的云原生DevOps实战workshop。

 

 

看到这里,您可能会好奇,什么是云原生?百度设计的云原生解决方案有什么特色?Workshop上又实操了哪些实践?下面我来为读者一一道来:

 

什么是云原生应用

云原生是一种方法,用于构建和运行充分利用云计算模型优势的应用。云计算不再将重点放在资本投资和员工上来运行企业数据中心,而是提供无限制的按需计算能力和根据使用情况付费的功能,从而重新定义了几乎所有行业的竞争格局。IT 开销减少意味着入行的壁垒更低,这一竞争优势使得各团队可以快速将新想法推向市场,这就是软件正在占据世界,并且初创公司正在使用云原生方法来颠覆传统行业的原因。

---摘选自pivotal.io

 

云原生应用平台

企业为了实现云原生应用的开发,就离不开一个用于构建和运行云原生应用和服务的平台,来自动执行并集成 DevOps、持续交付、微服务和容器等概念:

 

 

基于云的云原生平台和自建平台对比

根据CNCF(CLOUD NATIVE COMPUTING FOUNDATION)所提供的landscape,我们看到云原生已经发展为一个领域细分明确,工具丰富的庞大生态:

 

 

对于想搭建一套云原生应用开发平台的企业来说,就面临着几种不同的方案,要么采购现成的,基于成熟的云的PAAS,SAAS方案;要么自己在上述的开源产品中进行选型,自主搭建一套云原生的开发,运维解决方案。我们从以下几个方面对两种方案的成本结构进行了比较:

 

方案一

方案二

基于开源自建方案

采纳成熟的云上方案

技术选型成本

资源虚拟化改造成本

技术人员招聘成本

平台运维成本

定制化改造成本

学习使用成本

采购成本

学习使用成本

当然,很多人会说,采纳云上方案,我们在采购成本里就已经支付了技术选型,虚拟化等方面的成本;但是对企业来讲,整个方案的搭建,还包括了团队的组建,人员的招聘和维护。笔者和很多企业的IT部门沟通过,企业反馈的是: 我们都知道有哪些开源的产品和方案,但是我们没有办法长期维护一支熟悉相应技术的运维团队。从而导致很多企业很难开始云原生的尝试。

 

而采纳云上方案,一定程度上将基础设施的运维工作和方案的设计工作托管出去,企业可以更加专注在自身业务。更不用说云上多种有针对企业业务特色的PAAS服务,能够进一步的为企业赋能。

 

百度内部研发和IT技术基础架构的变迁

 

 

IT技术设施的变迁

百度内部也经历了从12年机器管理和变更管理的初步自动化,逐渐发展到15年左右开始基于CI/CD的持续集成和PaaS平台部署交付,再到现在公司内部大规模的容器化,实现存储底层系统到大数据、AI与在离线业务场景全覆盖。

在运维团队的目标上也从提升迭代效率、服务稳定性之外,更加的关注资源利用率与成本管理。

内部软件研发模式的变迁

百度内部的软件研发模式也从传统的瀑布式,逐渐发展到以迭代为主的敏捷研发模式,最后发展到现在的全面拥抱基于最前言IT技术设施的DevOps模式。

百度内部对于软件研发的关注点也在不断扩展,在瀑布研发模式时代,我们更加关注软件研发的合规性;在敏捷开发时代,我们提倡基于稳定的质量不断缩短发布周期;在现下,我们对于软件研发的关注点除了速度和质量之外,也同样关心技术的复用,开源,以及每个工程师自身能力的成长

百度云原生应用解决方案介绍

百度的云原生解决方案凝结了百度多年的开发,运维经验,本次大会上发布的全套解决方案如下:

架构特色

 

 

从架构上, 以 Kubernetes为基石,我们实现了微服务应用平台、容器引擎的同构私有化交付,这也使得我们的混合云纳管能力更加完备。同时在边缘计算上,我们也实现了函数引擎同构部署在CDN节点,使得在CDN节点运行云端函数成为可能;

 

与开源生态的结合

 

同时,秉承着开源开放的心态,整体解决方案支持多种开源技术栈:

完全兼容开源 Kubernetes: 

  • Kubernetes 支持13.4(1.14.1 近期上线);
  • Docker 支持09;
  • CCE 会持续支持社区最新稳定版本。

应用管理层面: 

  • 支持 K8S 原生资源对象可视化管理;
  • 支持 Helm Chart 仓库及 Helm 实例管理。

服务和容器监控: 

  • 基于开源 Prometheus + Grafana;
  • 提供基础监控模板及数据持久化能力。

日志服务: 

  • 支持对 K8S 资源对象可视化配置;
  • 支持推送 ES/Kafka/BOS 等三方存储。

 

产品介绍

依托于百度云稳定可靠的基础服务,百度云原生应用解决方案提供了从产品定义,协同开发,持续部署,到微服务治理,集群管理,线上监控的完整DevOps生命周期服务,正好对应云原生应用平台中的四个方面,下面我就来为大家介绍方案中的各个产品:

 

  • 百度效率云
  • 云原生微服务应用平台(CNAP)
  • 容器引擎CCE

百度效率云

百度效率云(以下简称效率云)是百度自主研发的一站式DevOps解决方案,凝聚了百度多年来在软件工程领域的探索和实践经验。效率云在百度内部服务10000+工程师的日常产品管理、开发、测试、发布等研发工作,每天支持百度内部30000+次的云端编译、70000+次的构建、700+次的服务发布(如下图)

效率云已经加入百度智能云产品序列,于2019年5月正式对外提供服务。百度效率云目前同时服务外部2000+企业及个人客户的项目管理,研发,测试等研发工作。

效率云的核心理念是: 用先进的软件工程技术使复杂的开发工作更简单!

 

百度效率云的产品架构

整个效率云包括三大平台类工具和四大主要功能模块,分别是产品和项目管理工具iCafe、代码托管和协同开发平台iCode、持续交付平台iPipe;

 

 

依托于三个基础工具平台,五大主要功能模块包括静态代码扫描工具iScan、容器化构建工具iBuild、构建产物管理工具iRepo,iPipe插件市场(私有化版本)和工程能力地图(私有化版本)

 

 

百度效率云的特色功能

和其他同类DevOps解决方案对比,百度效率云有如下产品特色:

  • 基于用户故事地图的产品规划

 

 

  • 代码入库前的云端流水线:

 

与大多数基于pull request的流水线不同,效率云提倡进一步将质量保证手段前置。工程师在提交代码后、代码入库之前即经过一系列的自动化代码检查和Code Review环节;只有通过所有的质量保证手段,代码方可合入到当前代码库中。

 

 

  • 基于特征识别的静态代码分析手段

得益于百度内部多年对代码分析技术的研究,效率iScan插件中植入的BCA系列扫描规则将漏洞的误报率降低至5%,高于业界的10%。通过特征识别等手段,iScan还可以支持增量代码的扫描,大大提升扫描速度

 

 

  • 镜像打包存储,一键发布至微服务治理平台

这是本次介绍的重点功能,百度效率云在Maven和Gradle构建插件中增加了镜像打包功能,研发人员可以在完成构建的同时制作Docker镜像,并存储至自己项目专属的镜像仓库:

 

 

完成构建后,研发团队可以在iRepo的镜像仓库中找到构建结果。

镜像的发布由iPipe上的另外一个重要插件--CNAP插件来完成:

 

 

在使用CNAP插件之前,研发团队需要在CNAP中配置相应的工作空间,应用和部署组。也就是说,实际对资源和部署的管理是在微服务应用平台CNAP中完成的;效率云中的CNAP插件调用了用户已经配置好的资源。这样,通过自动化的流水线,研发团队就可以完全自动化的将服务的变更快速推上线;研发人员可以在2-3分钟内完成线上环境配置,资源配置到服务变更的全过程。而且整个过程不需要写额外代码,学习门槛极低

 

云原生微服务应用平台CNAP

云原生微服务应用平台(Cloud-Native Application Platform,简称CNAP)是一个为企业提供应用托管和微服务管理能力的PaaS平台,可以帮助企业简化部署、监控、运维等应用生命周期管理工作,同时提供服务注册、服务治理、服务监控和调用链等微服务管理和运维能力。

CNAP的主要场景

 

CNAP平台的主要场景之一: 基于容器的应用托管

CNAP为企业的开发运维人员提供了稳定的应用部署环境,监控方式和灵活的弹性伸缩机制,方便企业高效的实施运维工作

 

 

CNAP平台的主要场景之二: 微服务治理

 

 

容器引擎CCE

百度容器云引擎(简称CCE)提供Docker容器的生命周期管理,大规模容器集群的运维管理、业务应用的一键式发布运行等功能,无缝链接百度智能云其他产品,提供弹性、高可用、高效便捷的平台服务,助力系统架构微服务化、DevOps高效运维、AI应用深度学习容器化等业务场景。

 

 

容器云的主要特色

  • 提供紧跟开源趋势的Kubernetes托管服务,优化Kubernetes的安全性、可靠性和易用性,在保障开源原生使用体验的基础上降低用户搭建和维护容器集群的成本与风险。
  • 利用容器技术抹平基础设施差异,打造异构化、多集群、跨区域、云+边的容器化基础设施,为上层业务提供一致性的容器管理控制平台

 

 

本次大会的workshop

本次云智峰会上的云原生DevOps workshop,就是围绕上述三个核心产品,让参与的学员体会将一个基础服务通过效率云的自动化流水线,发布到自己配置好的容器环境中,并在CNAP平台中配置外部访问接口,最终在线上观察系统的变更。

 

整个workshop的操作,对于有一定研发及运维经验的人员来说,可以在30-40分钟内完成全部的配置和操作。相比基于传统IDC实体服务器的配置和操作过程,可以说是数量级上的效率提升。

 

 

对于Workshop感兴趣的朋友,可以关注”百度效率云官方公众号”,后续我们会在公众号上放出整个workshop的视频版。

 

Workshop主办方介绍

百度开发者中心(developer.baidu.com)专注于为开发者打造一个有温度的技术交流社区,一直伴随着中国开发者的成长,通过分享知识、交流。自成立以来,坚持为广大开发者提供优质服务。百度云智学院(abcxueyuan.baidu.com)作为百度对外知识赋能的平台,依托百度ABC战略,整合内外部优质教育培训资源,定义满足产业需求的人才标准和培训体系,以“AI引领未来,茁壮科技人才”为使命,致力于为ABC时代的人才培养、技术分享等问题提供全新的解决思路。

收藏 评论(2)
分享到:
共2条回复 最后由二号月台zd 回复于2019-09-06 20:46
#2 筱Myselfkv 回复于2019-09-06

0