云原生技术在不同企业场景中的应用解析 | 附PPT资料下载

云原生技术在不同企业场景中的应用解析 | 附PPT资料下载
2020年07月25日 10:05 InfoQ

在新基建背景下,云计算作为其中重要的信息基础设施,是新基建中的关键支撑点之一。而在云计算领域,云原生也正在成为实现新基建的重要抓手,业务应用软件云原生化改造成为企业“上云”后的重要创新方向。

企业在向新技术靠拢的同时,也意味着对数字化人才需求迫切,人才培养需求呈现新的特点,那么云原生人才如何培养和成长?云原生如何实现、在实现过程中有哪些需注意的点、企业管理者又是怎样推进云原生呢?

7 月 19 日,由腾讯云主办,TGO 鲲鹏会承办的「优才计划·企业新技术实践云沙龙——企业上云与云原生技术演进」在深圳落地,来自腾讯云、Shopee、汇丰科技、亲邻科技的 4 位讲师为大家分享了企业云原生技术的应用。本篇文章整理自 4 位讲师的分享。

(需要 PPT 的小伙伴可在文章末尾下载~)

1

云原生技术在不同场景下的应用

腾讯云 Serverless 应用实践及案例解析

腾讯云近年在 Serverless 领域的加速布局,也使得其在 Fass 领域脱颖而出。Forrester 今年 2 月的评估报告中,凭借在产品体验、安全性、战略愿景等方面的优势,腾讯云 Serverless 综合评分位居全球前三,也是中国唯一进入全球 Top3 的云厂商,并被 Forrester 官方赞为“强劲表现者”。腾讯云 Serverless 与微信联合,推出的小程序云开发平台,也是目前国内最大的 Serverless 解决案例,目前上面有 50 万开发者。

腾讯云 Serverless 高级架构师卢萌凯在现场分享了 Serverless 的优势,以及基于 Serverless 构建 REST API、构建音视频转码方案等落地实践。Serverless 作为云原生重要的技术方向,拥有以下优势:1) 高可靠、高弹性伸缩性能 ; 2) 弹性收费 ; 3) 让人力更多聚焦在业务开发,而不是在环境部署或者后期运维。

卢萌凯从三个典型案例场景入手为大家分解演示腾讯云 Serverless 平台提供的服务。

第一、REST API。如果企业有需求想做 REST API 的一组接口,腾讯云 Serverless 的云函数 SCF 服务,会给用户提供一个框架,用户使用云函数的组件,可以把写好的代码用这个框架做开发。

这里分享了江娱互动 Serverless API 实践。江娱互动作为一家网络游戏研发商,主要从事网络游戏开发,以及相关游戏服务,旗下游戏有《世界争霸》、《农场小镇》等。原有服务不能承载高并发的突增流量,服务垮掉之后,影响用户几小时不能使用。其通过云 API 网关 + 云函数开发方式后解决了难题。

第二,Serverless SSR(服务器渲染)面向前端工程师的技术。很多 APP 应用或者 Web 页面都会关注首屏的加载速度,最早当在浏览器端或手机端请求后端服务时,一般会请求 H5 页面或 html 页面,加载的流程包括把数据从后台返回到浏览器端,浏览器端做渲染再完成加载。如果把这个流程改成直接在后端服务器渲染,在请求页面时,以 html 字串的方式出现,就可以使首屏加载速度变快。

但 SSR 的困难点在于要搭建一个 Node 服务器集群做后端,二是 CPU 负载高,三是自动扩缩和资源浪费显著。而随着 Serverless 的发展,前端写 UI 只要会写 Node 开发就能从前端转到全栈,直接部署到后台服务器,不需要运维和管理,这是 Serverless 给 SSR 场景带来的价值。

第三,音视频转码。做音视频转码首先要拿到原音视频,一般会把音视频存到对象存储,当对象存储上传一张图片或者视频的时候,自动触发云函数做转码,再把转码放到对象存储。在云函数中,可以基于不同的编程语言 (Python/Node/PHP/JAVA/GO),撰写自定义业务逻辑,以转码为例:

步骤一:创建函数,部署 ffmpeg 资源包、部署转码逻辑。

child=subprocess.run(target (download_path,upload_path),stdout=subprocess.PIPE,stderr=subprocess.PIPE, close_fds=True,shell=True)

步骤二:配置 COS Bucket/API GW 等触发器,对源视频实时处理加工;旁路生成日志和监控、支持告警。

步骤三:对转码后的视频回传 COS,并触发自动预热。

Shopee 基于 grpcd 微服务框架设计

Shopee 技术架构师赖大贺分享了在电商支付业务中,微服务如何做服务拆分。由于其原来技术栈是采用 python+django,,属于弱类型语言,运行效率低;在团队层面,随着团队快速扩张, 单体项目不利于团队划分,故而往微服务拆分方向发展。

拆分上 Shopee 做了两个分层:网关结构层,业务聚合层,业务聚合层下分领域层。业务聚合层不会涉及到库表的读写,真正和数据库打交道的是在领域层,会对数据库做聚合的查询。这对上游来说,屏蔽掉了数据库的具体操作。同时他们也引入一些其他的中间件来辅助微服务框架的运行,包括注册中心、调用链跟踪、发版构建、k8s、日志中心等。

在实现服务化具体实现过程中,Shopee 经历了几个关键步骤:首先,确定远程调用的框架,公司内部使用比较广泛的是 grpc 框架——微服务拆分以后,注册发现机制选用了 etcd——在接入层设计设置业务网关和透明网关。

另外在服务监控上,支持多个监控指标,日志方面做了两大分类:流水日志和 Debug 日志,流水日志一个请求是严格只打一条,这一条里面包含 traceid、响应码、接口耗时、UID、grpc 接口名、请求体、响应体、自定义消息等。Debug 日志组件会分装好,每个组件自动打印 traceid、uid、grpc 接口名,最后用 filebeat 归拢日志到 logstash 中,帮助业务层减少使用时间,

最后采用 Jenkins_pipeline 实现发布,通过在公司代码库里按 tag 拉取代码,然后构建镜像并推送到远程仓库,之后调用 k8s 接口做更新。

银行遗留系统微服务改造与上云之路

汇丰科技基金服务部门软件负责人刘华分享了传统银行引入云计算的看法,以及微服务实践。

传统银行面临的问题是:大量的遗留系统和非自建系统、业务形态和业务流程较互联网行业滞后、缺乏弹性的基础设施等。汇丰银行的解决之道重点在实行以下两方面:1) 对单体系统进行微服务改造;2) 通过微服务的方式做 API 的自研系统。

加入微服务后的技术架构

对于上云的理解,刘华提到,云是手段,最终要实现的是实时响应、弹性伸缩、异步处理这些问题。在汇丰银行,过去所有的服务器都是在自己的机房,最近三年则提出了云优先的策略。

刘华说到:“现在我们所有的新项目或者新系统,要拿新计算服务器资源时,包括我们有一些现有的系统做硬件升级时,都会被问,你可不可以上云?倒逼着我们每一个团队都要去上云。但是,我们在上云的过程中,也要充分地考虑到底这个系统是不是适合上云或者应该怎么去上云。”

智慧社区平台的云原生实践

亲邻科技技术总监苏煦烽分享了在智慧社区业务中,IoT 场景下,云原生可以发挥的作用。

亲邻科技整个智慧社区平台采用云原生架构,四个大层包括访问层、接口层、服务层、存储层。互联网的服务层以 Spring Cloud on TKE 为基础架构,部分系统融合了 DubboX,物联网的服务层采用的云原生的物联网平台。

云原生智慧社区平台架构

在实行云原生过程中,苏煦烽还介绍了碰到 IO 问题、微服务拆分问题、弹性伸缩、成本问题、安全问题后,打怪升级的方法。比如在微服务拆分问题上,建议:

按照业务边界拆分,不要因人设服

高并发的服务尽量单独开服,并尽量减少对其它服务的依赖

能异步处理的,不要同步

能用 Serverless 解决的事情,不要开服务

在云原生人才培养上,汇丰银行刘华和亲邻科技苏煦烽都提到了:对个人来说,对技术不设限,大胆尝试新技术,打破边界;对企业来说,搭建知识分享平台,资助考证,引入新技术,助力人才成长。

2

腾讯云“优才计划”携手 TGO 鲲鹏会,助力新基建技术人才培养

在沙龙活动现场,腾讯云“优才计划”与 TGO 鲲鹏会达成签约合作,双方将基于“优才计划”,发挥各自优势资源,协力构建新基建下技术人才培养新生态,打造具有行业示范价值的产业技术人才培养新模式。

腾讯云培训认证于今年 6 月份推出了“优才计划”,携手行业权威组织机构,链接全国高校、腾讯云合作伙伴及用云企业,以就业为牵引,构建数字化人才培养新生态,为新基建下的产业互联网发展提供人才支撑。

此次腾讯云”优才计划”与 TGO 鲲鹏会签约合作,将依托腾讯云认证体系、产业实践资源及人才培养经验,帮助 TGO 鲲鹏会的会员企业加速灵活应对新趋势、新挑战,并将为 TGO 鲲鹏会会员企业提供云计算、大数据、人工智能、安全等新技术人才培养百万福利资源包,企业的招聘岗位可以上挂优才计划官网,共享万人云认证人才库。

优才计划官网:

https://cloud.tencent.com/edu/talents

【申请流程咨询】请添加小助手微信infoq111

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部