借力Rancher管理2000节点!“日本微信”LINE的架构大升级

王宏仁 Rancher

原标题:【拥抱K8s、微服务和通用资料平臺新架构】AI转型也得换体质,LINE资料平臺和IT架构双双大翻新


原文链接:

www.ithome.com.tw/news/134658


活动预告

7月21日北京,第四届企业云原生创新大会(ECIC)重磅来袭!14场云原生主题演讲,实践案例覆盖航空、证券、制造、AI等行业,中国科学院空天信息创新研究院首席架构师、人民在线技术总监、安信证券研发负责人等云原生技术专家莅临现场分享K8S落地实践!


赶紧扫描下方二维码,免费报名咯:



LINE打造了一个数据特征微服务(Feature as a Service)架构,将原始内容转换成不同特征的向量数值,并且利用了混淆工程技术,来进行去识别化处理之后,才提供给ML(机器学习)团队进行分析之用。


LINE是一款着名的即时通讯软件,风靡日本、泰国以及中国台湾,目前拥有超过4亿用户。


从2017年全力冲刺AI转型之际,LINE也展开了IT架构的大改造。一来将发展多年的私有云Verda升级,不止引进Kubernetes和Knative,来发展云原生架构的资源调度弹性,另外,LINE也展开了100PB大数据资料各集群的整合工作,并开始打造新的数据工程平台数据特征微服务化(Feature as a Service),将数据去识别化变成基础预设功能,来兼顾隐私和庞大数据量分析的需求。LINE在东京开发者大会上,也分享了这两大技术架构改造工程的细节。





强制改用云原生架构

借助Rancher让K8S运维管理自动化


LINE很早就用OpenStack构建了一朵私有云称为Verda,但随着LINE各式各样的服务快速成长,对于虚拟机的需求也越来越大,今年6月时所承载的VM数达到3万5千个之多,其中光是过去一年就增加了2万个VM的需求。


在LINE原本的开发流程中,从AP的开发、部署到运维,都可以由AP工程师完成,唯有私有云运算资源的准备,则由私有云服务自动调度。但是,LINE现有4千个专案,每个专案每次需要的运算资源规模大小不一,有些只是要执行一小段脚本程序,但还是得调用一个VM来执行,导致Verda中有6成服务器的CPU利用率低于10%,仍有9成闲置算力,相当的浪费。


后来,运维团队决定引入Kubernetes,要求AP工程师,必须采用云原生架构,将每支AP的需求都建立在AP配置文档中,而运算需求较低的脚本程序,则改用Knative来提供无服务器服务,让一个VM可以执行更多脚本程序,而不是每个脚本程序就占用一个VM。


LINE Verda平台开发团队经理Yuki Nishiwaki表示,连私有云都强制要求采用云原生架构,有两大好处,AP工程师不用再担心基础架构的管理,而运维团队也不需要与AP工程师沟通了解所需资源的细节,才能进行优化调度。


LINE采用了Rancher来进行跨集群的运维自动化管理,包括部署、更新和监控都可以自动化。目前只需要5个人就足以管理130个集群的2000个节点。


不过,目前只能提供基础的运算需求调度,例如简单的HA集群、外部组件管理、运维自动化。LINE下一步,不止要支援更多种外部组件,还希望可以开始考虑到AP效能来调度资源。




自行开发微服务框架

强化非同步通讯能力


除了改造基础架构资源来提高调度弹性之外,在应用程序架构上,LINE Messenger原本就按AP的特性来开发各自的专用、简单的APP服务器,方便扩充之用,例如授权机制有6个服务,贴图小铺超过20个服务,[email protected] 账号或Bot后端更有超过40个微服务,但几年发展下来,变成了一套庞大的微服务架构。目前LINE微服务架构上已有超过2500个微服务。


采用微服务架构的好处是,可以加快开发速度,减少各服务间的功能冲突,但缺点是网络失效的频率增加了,服务配置的管理复杂度越来越高,甚至潜在雪崩式错误的风险也越来越高,光是贴图小铺的微服务,就需要25个人力来管理。


负责LINE Messenger微服务架构的LINE Z部门团队成员Masahiro Ide指出,现有庞大复杂的微服务架构,需要增加三大功能,强化网络连接性、建立目录服务和强化路由能力。


后来,LINE决定自己打造微服务框架,称为Armeria,设计了自己的RPC分层架构,可提供非同步的RPC层通讯需求,也将基础通用功能,变成微服务框架的预设功能,来简化重复构建的工作,如Logging、客户端负载均衡、监控整合、追踪、重试机制、健康检查等。另外,还针对文本配置,如JSON、YAML、XML,打造了一个储存库服务Central Dogma,可提供高可用性、版本控制和进阶查询机制,来强化配置文件的管理,将这两项技术,与LINE自己用Erlang打造的事件交付网关LEGY(Line Event Delivery Gateway)搭配使用。LINE也将Armeria和Central Dogma两项技术开源。有了这两大武器之后,下一步,LINE就准备进一步细分拆解现有的微服务架构,从“按特性拆解”细化到更小颗粒度的“按功能拆解”来设计新的微服务架构。




两阶段用集群联邦串接庞大Hadoop集群


除了基础架构改善之外,LINE的另一个大改造工程是数据基础架构。因为采取隐私优先政策,每一件与数据相关的事件,都需要进行隐私、安全的审查,但是跨不同子公司、不同系统的数据运行方式非常复杂,再加上LINE的数据量非常庞大,光是LINE Messenger一天的信息就高达1兆笔,每天新增的数据就算压缩后仍多达390TB,各种数据处理查询任务,一天也高达7万个。其他服务的数据再加总起来的量更是庞大,如何兼顾隐私权和大量数据的挑战,Verda部门主管Yoshihiro Saegusa指出,有三大问题要解决,包括了数据可用性(Accessibility)、多租户管理(Multi-tenancy)和数据品质(Data Quality)。


LINE的策略不是把现有的大数据集群全部打掉重建,而是将几个主要集群连结起来,建立了一个共用流程,透过单一登入服务,来控制谁可以使用哪些数据,让跨服务的工程师,就可以用到其他服务产生的数据。


更进一步看来,LINE用Hadoop来储存多达100PB的异质数据,包括了数据库、原始Log、前端Log、服务器Log等数据。总共有超过10个集群,节点总数达到2000个,其中最大一个集群,甚至多达1200个节点。LINE没有采取先建立一个超大新集群,再搬运所有数据的做法,也不是直接对所有集群进行整合,前者得准备1倍的服务器,成本太高,后者不同Hadoop集群所用的版本甚至不一样,直接整合集群的复杂度太高,数据损失的风险也太大。


后来,LINE的做法是,先挑出几个重要的大型Hadoop集群,将其他小型、次要的Hadoop集群,整合到这几个大集群种,再通过Hadoop的Cluster Federation功能,来建立跨集群的通用管理层,并且通过单一个YARN资源管理系统,来管理这些串连后的Hadoop集群。




建立数据特征微服务架构

用混淆工程去识别化来保护隐私


另外,LINE还将数据分为两大类,一类是原始数据,另一种是经过特征提取的数据,LINE打造了一个数据特征微服务(Feature as a Service)架构,先通过第一层的ETL工具梳理数据来减量,再通过特征工程技术,将内容转换为不同特征的向量数值,再结合用户行为和内容特征,就会变成了用户个人的使用特征Y Feature,并且利用了混淆工程技术,来进行去识别化处理。


因此,就算是跨团队的工程师拿到了一批数据,他们都无法知道用户真实数据是什么,数据工程师只会看到一笔笔转换过后的特征向量数据,各自对应不同的内容类型或行为特征的强度。


“通过这样的技术,就可以同时解决隐私和数据量的问题。”LINE台湾资深技术总监陈鸿嘉强调,不论是哪一种数据分析,都需要做到合法、合情和合理才能用。IT基础架构和数据架构的大改造工程,正是LINE可以安心冲刺AI发展的关键。




推荐阅读

单主机容器网络完全理解指南

从入门到上手:什么是K8S持久卷?
入门指南丨上手理解Deployment、Services和Ingress


About SUSE Rancher

Rancher是一个开源的企业级Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理。Rancher一向因操作体验的直观、极简备受用户青睐,被Forrester评为“2020年多云容器开发平台领导厂商”以及“2018年全球容器管理平台领导厂商”,被Gartner评为“2017年全球最酷的云基础设施供应商”。


目前Rancher在全球拥有超过三亿的核心镜像下载量,并拥有包括中国联通、中国平安、中国人寿、上汽集团、三星、施耐德电气、西门子、育碧游戏、LINE、WWK保险集团、澳电讯公司、德国铁路、厦门航空、新东方等全球着名企业在内的共40000家企业客户。


2020年12月,SUSE完成收购RancherLabs,Rancher成为了SUSE “创新无处不在(Innovate Everywhere)”企业愿景的关键组成部分。SUSE和Rancher共同为客户提供了无与伦比的自由和所向披靡的创新能力,通过混合云IT基础架构、云原生转型和IT运维解决方案,简化、现代化并加速企业数字化转型,推动创新无处不在。


当前,SUSE及Rancher在中国大陆及港澳台地区的业务,均由数硕软件(北京)有限公司承载。SUSE在国内拥有优秀的研发团队、技术支持团队和销售团队,将结合Rancher领先的云原生技术,为中国的企业客户提供更加及时和可信赖的技术支撑及服务保障。

文章推荐