日志集中化是开启分析的前提,包括日志的采集和存储。传统的日志集中化是将日志文件数据从分散的服务器上采集到服务端。在Serverless下面对的需求更加复杂:各种各样形态的数据源,对数据存储的可靠性存储以及后续大数据分析需求。
广义的Serverless,可以分为三类:
Container as a Service,容器即服务 常见形态有:通过Docker或Kubernetes等软件来部署、管理容器;云服务商提供的host容器、全托管服务(例如:阿里云容器服务、Serverless Kubernetes)。
容器的特点是弹性,在系统运行过程中容器会动态创建出来或被销毁掉,要求动态的日志采集能力,并且传统服务器上的日志采集方案无法直接移植过来。
容器场景下的日志业务种类多,例如微服务、Kubernetes pod有很多类别日志可能分散在多台宿主机上。容器级别的日志采集点设置繁琐易出错且管理成本高。
Backend as a Service,后端即服务 BaaS是一种更广泛意义的Serverless,可以是存储、host软件、关系型数据库、NoSQL数据库、消息队列、API服务等多个方向上的无服务器化。最早的商业化Serverless平台可能要追溯到谷歌的App Engine,如今AWS、阿里云、Azure等大厂都提供了丰富的云服务。
使用云服务的过程中,用户需要审计日志、服务访问日志、网络流量日志等等。这些日志的采集门槛在于用户无法通过客户端抓取数据。云服务日志采集需要具备实时能力,例如负载均衡(SLB)、对象文件存储(OSS)、自定义网络访问(VPC)、内容分发下载(CDN)等系统处于业务架构的核心链路上,运维监控、风险安全等场景都对实时日志有很强需求。同时,业务的流量峰谷会直接反应到云服务日志的流量上,例如网站会在晚9点后PV走高,就会对应到SLB访问日志量飙升,高吞吐采集和弹性伸缩的日志存储能力是必须的。
Function as a Service,函数即服务 FaaS是在计算层面的Serverless,正在快速发展,根据BusinessWire的报告,预计到2021年其市场规模会增长到77.2亿美元。典型的代表有:阿里云FunctionCompute、AWS Lambda。它实现了更细粒度的资源租用,按照每一次执行来付费。用户可以通过写代码、配置一些参数来搭建自己的应用。
FaaS的函数实例由触发器或用户主动触发,日志的生命期在函数运行完成后也会结束。第一个需求是有快速的方案将函数运行过程中产生的日志持久化下来。第二是在完成日志收集后,针对不同类型的运行日志、函数运行指标能够完成诊断层面或监控层面的分析需求
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。