serverless阿里云(阿里云essd)
129
2023-01-21
本文目录一览:
摘要: 洛神是阿里云飞天中负责虚拟网络的系统,她为阿里云客户提供了丰富的网络产品,如VPC、SLB等。同时,她也是ECS,RDS,OSS,NAS等100多个云产品的网络基础设施。她还支撑了阿里巴巴集团和蚂蚁金服集团众多业务,如电商、支付、物流等。
“最好的网络就像神一样,无处不在,又感知不到她的存在 …… 大繁至简,这是我们努力的方向。” – 阿里云网络高级技术专家 孙成浩
2018杭州·云栖大会的主会场上,阿里云产品总监何云飞介绍了阿里云自主研发的云操作系统飞天的全面升级版飞天2.0。作为飞天2.0核心组成部分之一,洛神首次向外界揭开了她神秘的面纱。在随后的未来网络技术专场上,阿里云网络高级技术专家孙成浩对飞天洛神进行了更为详细的阐述。本文是首次对飞天洛神的概念、演进、架构、特点等方面进行系统化的解读。
什么是飞天洛神
从物理网络到用户感知到的网络之间存在一个虚拟网络层。在阿里云,我们给这套虚拟网络系统起了个名字,叫做洛神。洛神是阿里云飞天中负责虚拟网络的系统,她为阿里云客户提供了丰富的网络产品,如VPC、SLB等。同时,她也是ECS,RDS,OSS,NAS等100多个云产品的网络基础设施。她还支撑了阿里巴巴集团和蚂蚁金服集团众多业务,如电商、支付、物流等。在全球范围内,洛神服务着百行百业超过百万的用户。在双十一、世界杯、春运等互联网流量的尖峰时刻,为每一个消费者的流畅网络体验而默默保驾护航。
很多人都知道阿里云有一个飞天(Apsara)系统,系统中各组件是用各种神的名字命名的,包括盘古,伏羲,女娲,神农等,其中盘古是分布式文件系统,伏羲是分布式调度系统。为什么叫虚拟网络系统叫洛神呢?在古代,河运是非常重要的交通手段,就好比今天的网络一样。因此,在给虚拟网络系统起名的时候,我们就起了一个河神的名字,叫洛神。
飞天洛神的架构
洛神是阿里云的分布式操作系统飞天的一部分。在飞天的基础架构里面,最上层是各种云产品,包括大家熟悉的云产品RDS,ECS,VPC,SLB等等,支撑这些是飞天的3个基础组件,包括存储系统盘古,资源管理伏羲和网络管理洛神。也就是说,洛神除了支撑了阿里云的网络云产品之外,另外一个重要的角色就是支撑了其他云产品的网络基础设施。
讲到洛神的技术架构,洛神系统由3大模块组成
– 数据平面,控制平面和管理平面。
数据平面负责云网络中数据包的处理,它就如同物理世界中的网线和路由交换设备,把数据包高效率低延迟的从发送端送到目的地。类似的,洛神数据平面也包含各种不同角色的组件,包括支持各种不同类型计算形态的虚拟交换机,用于数据中心互连的DCN网关,用于云网络连接公网的internet网关,用于云上云下互连的混合云网关,提供负载均衡能力的负载均衡网关和提供端接入能力的智能接入网关。为了提高这些组件的转发性能,洛神不仅使用了软转发的技术,而且也对软硬件结合甚至纯硬件的技术进行了广泛应用。
控制平面则控制如何处理数据包,他是洛神的业务大脑。从技术上看,洛神的控制平面是一个层次性的分布式控制系统,最底层的设备控制器主要负责控制和管理数据平面的各种组件,同时在每个区域存在一个虚拟网络控制器,在全局存在一个全球路由控制器。区域的虚拟网络控制器则负责本区域的云网络的管理与调度, 全局路由控制器则负责协调调度各个区域的资源形成一张全球的云网络。基于虚拟网络控制器和全局路由控制器之上的则是NFV控制器,完成虚拟网络高级功能例如VPN等产品的编排和抽象。
洛神的管理平面是网络运维和运营的中枢,它管理着海量的网元以及用户,这里的海量指的是千万级虚拟机和百万级网元。为了能做到这一点,洛神的管理平台是基于大数据以及机器学习技术实现的,它对网络运行当中产生的海量数据进行实时/离线计算,数据建模,来驱动网络资源的提前规划,网络系统的日常维护以及网络产品的智能运营。整个管理平面包括了一套高性能,分布式的数据分析系统,由它分析出来的数据提供给智能运维和智能运营系统,完成资源规划,网络建设,系统变更,实时监控,故障逃逸,产品运营等整个网络产品生命周期的工作。最终达到排无人值守的网络变更,先于用户的问题发现,高效简单的故障逃逸以及丰富全面的产品及用户运营的效果。
飞天洛神的技术演进之路
洛神能够成为飞天的四大支柱之一,不是一天炼成的。洛神的演进经历了四个阶段。
首先是经典网络阶段,在这个阶段,网络只有一个概念,就是公网带宽。经典网络阶段的问题是用户无法自定义网络拓扑,这样使得用户无法完成云上云下的混合云联通。为了解决这个问题,洛神进入了VPC阶段,VPC阶段里,洛神在每个地域虚拟了数百万张网络,并且用户可以完全自定义这张网络。随着网络规模越来越大,洛神也从区域网络进入到全球网络的阶段,在这个阶段,洛神主要解决如何更好的管理超大规模网络的问题,云企业网和云连接网构成了第三代洛神的两个主要特性。
满足了主要的客户的需求之后,我们开始思考如何进一步提升用户体验。用户对网络的核心诉求是什么?其实,客户的最大诉求是网络足够强健可靠,不要发生问题。就像使用水和电一样,用户是不需要了解发电站和泵站在哪里的。因此,洛神希望网络对用户是无感知的,又是无处不在的。洛神的发展,是一个从0到1,到100,再回到0的演进过程,大繁至简,这是我们在研发下一代洛神中努力的方向,这也是我们首先在业界提出Networkless理念背后的思考。
飞天洛神的特点
洛神的关键特点,包含安全,弹性和可靠,这3个特性也是洛神达到最终Networkless状态的关键特征。
安全是基本盘,因为overlay技术把网络逻辑的隔离掉,用户的网络之前完全不会互通。并且洛神中还包含了各种加密服务可以给到用户,打造更深层次的的安全。弹性有两个数字,一个是秒级的转发性能的弹性,洛神支持从1MB到1TB在一秒内完成弹性,另一个是规模的弹性,洛神的单网络支持10w台计算节点的规模。这样,洛神既可以支持小到虚拟web主机这样的服务,也可以支持打到双11零点这样的海量峰值流量。谈到可靠性,我们参考年平均故障时间这个参数,洛神引发的单实例故障时间只有50ms,这个故障时间是极其短的。
关键设计
接下来我们详细分析下洛神弹性和可靠性的关键设计。洛神系统的数据面,本身就是一台巨大的交换机。大家都知道,交换机的转发芯片对数据包的处理,都是pipeline的,硬件处理永远不会停下来,那洛神的数据面也是如此。从一个数据包进入洛神系统开始,到出去洛神系统的整个过程,经历了洛神系统里面的各个组件,都是不会被打断的,这样只处理一件事情的数据面,一定是高效的。洛神的数据面包含了软硬件结合的转发技术和架构。此外,洛神系统的网络永远不会因为维护而中断,这意味着,洛神里面的所有组件,都支持热升级。
在可靠性角度上看,多机房容灾是高可用的基础。当阿里云的某一个数据中心云机房开始部署的时候,洛神系统在物理设施部署完成之后会首先进行部署。这个时候,机房里面有计算集群,网关和控制平台。计算集群上面有我们的虚拟交换机组件。对于数据面和控制面的关键结点都是集群部署的,单台服务结点的问题不会对用户产生任何的影响。当vm的宿主机出现宕机等严重问题的时候,可以在机房范围内进行迁移,迁移本身也不会对vm的网络属性和连通性产生任何的影响。每个云机房里面都会部署集群的网关和控制器结点,而且随着机房的增多,会自动在云机房里面形成环形的备份关系。当一个新的机房建设起来,洛神系统部署之后,会自动加入到这个备份链里面。这样,当某一个机房的关键结点由于异常出现问题的时候,都可以自动在秒级切换到备份机房,由备份机房的洛神系统来提供服务。这种多层次容灾机制,保证用户可以在很快的时间内恢复业务。
除了多机房容灾之外,如何快速发现bug和快速恢复,是可靠性的另一个关键点。为了解决这个问题,洛神首先设计了基于流的染色系统。如果把洛神系统看成一个整体的交换机,那么从特性上来看,洛神系统是一个支持流跟踪的交换机,具有各种丰富的策略。洛神系统的下面是物理网络的设备和交换机,通过洛神系统的流标记的能力和设定的策略,可以同时在物理网络和虚拟网络里面具备流的染色,特定报文的镜像,采样,跟踪等的能力。这些动作产生的日志,都会通过采集后做实时计算,如果流量有异常,会产生报警和日志给到管理员,部分报警可以触发故障的自动处理和恢复。还有一部分数据经过计算处理,会产生数据报表和用户画像,也可以给到用户一张炫酷的大屏。这个本质上就是数据化的能力。
结束语
飞天洛神的使命是让网络更简单。大家都知道AWS提出了Serverless的概念,和Serverless类似,洛神以Networkless的理念作为设计目标,我们希望用户不再去关心网络拓扑,网络带宽,网络地址这些专业技术,让用户感知不到网络的存在。Networkless首先是通过不断的提高弹性和网络的可靠性来达到的,除此之外的关键特性就是NAAS化,让用户只关心网络通,而不需要去关心网络各种组件。
安全。根据查询相关公开信息显示,unicloud具有安全,稳定,高效的性能,调用函数安全。uniCloud是DCloud联合阿里云,腾讯云,为开发者提供的基于serverless模式和js编程的云开发平台。
在了解阿里云的Serverless服务之前,需要知道Serverless的概念,可以参考上一篇文章: 什么是Serverless
在阿里云中,负责Serverless的服务叫做函数计算,下面一步步手动操作来讲解函数计算的使用方法。
1. 登陆阿里云控制台
进入阿里云官网后,点击右上角登陆按钮,输入用户名和密码后登陆进入Dashboard
2. 进入函数计算服务
3. 创建服务
输入服务名称再点击确定
4.创建函数
输入函数名,选择运行时,点击创建
这里以Node14作为例子
5. 测试hello world
看到hello world的返回,点击测试即可看到返回结果
6. 创建API网关
找到阿里云API网关服务
创建分组
输入分组名称
创建API
输入API名称,点击下一步
选择https,输入路由
点击下一步,选择刚刚创建的函数计算
输入发布描述,点击发布
进入分组,找到api网关的临时地址
通过Postman调用, 即可获取到函数计算的返回
导读: 全文将围绕以下三方面内容介绍阿里云Elasticsearch技术。
01
阿里云Elasticsearch业务
1. 业务规模
阿里云Elasticsearch业务(简称ES),从2017年至今已经服务了几千个客户,数据规模达20PB,在公共云上拥有10000+集群,10W+节点规模,是一个成熟的云原生服务。
2. Elasticsearch在日志场景通常会遇到的问题
在企业的数字化转型过程中会生成大量日志数据,企业通过Elasticsearch满足日志检索、存储、归档审计的需求,而这些需求归根结底都会落到成本的增加,体现在以下三个方面:
3. 风险解读
在正常情况下,流量到ES协调节点,然后将数据写入Data Node;当流量变成正常情况的10倍时,对ES集群的压力就变得很大,一系列问题会接踵而来。
这种情况可以通过集群扩容的方式进行缓解,但扩容的同时又会产生新的问题:
① 稳定性风险
② 运维复杂度风险
③ 成本风险
--
02
阿里云Elasticsearch日志Serverless服务
1. 日志Serverless服务能力解读
基于上述问题和风险,阿里云引入了 两个新功能 :
① Indexing Service
Indexing Service是一个超大的ES集群阵列,专做Indexing Build,每个客户可灵活使用, 它具有以下特性:
图中灰色虚线内是用户的ES集群,当流量洪峰到来时,用户可以将流量转发至Indexing Service的SLB中进行build index,然后通过segment merge的方式,回到用户ES集群的Data Node。这样通过外部的云上弹性服务,减轻了用户ES集群压力,实现秒级弹性扩缩容的需求。
② 智能海量存储引擎
2. 日志Serverless服务价值解读
① Serverless日志写入服务:Indexing Service
通过读写分离架构,ES集群的数据写入在云端服务进行托管加速,为用户实例和云端服务搭建桥梁,依托云端弹性计算能力,突破本地集群的物理资源限制。
对比开源ELK生态:
② Serverless日志存储服务:智能海量存储引擎
基于计算存储分离架构及多层存储介质混合,提供可靠的海量弹性低成本存储并保证查询性能,无须提前预留集群存储容量,根据实际数据的存储量按量计费。
3. Elasticsearch日志Serverless服务发布
全球范围内首个在云上提供Serverless能力的云原生Elasticsearch服务, 其核心价值体现在三个方面:
4. 真实案例收益
①客户场景描述
汽车 行业的IT系统,大多是分批建设,技术架构及系统复杂有 历史 包袱,IDC、多云架构比较普遍。新兴的业务部门,一方面需要满足政策合规要求,一方面希望对整体日志数据进行价值挖掘,通常会遇到如下问题:
②方案构架及价值点
--
03
阿里云Elasticsearch技术演进之路
阿里云Elasticsearch技术演进图
Elasticsearch未来的发展会继续在云原生Serverless上进行演进和迭代,在日志场景下优化成本,通过服务化的能力提升日志场景中的ES产品的易用性,帮助客户解决日志场景下前置日志链路上的问题。
同时,与ES社区就Elasticsearch TSDB时序引擎进行共建,相信很快可以在未来的ES新版本中推出TSDB能力。
今天的分享就到这里,谢谢大家。
分享嘉宾:赵弘扬 阿里云 高级产品专家
出品平台:DataFunTalk
01/ 分享嘉宾
02/ 报名看直播 免费领PPT
04/ 关于我们
欢迎转载分享评论,转载请私信。
发表评论
暂时没有评论,来抢沙发吧~