发展之势:
随便最几年微服务和Serverless(Lambda)的盛行,把原来一套系统能够按业务,人员或业务架构拆分得更加详细,让开发人员更专一于本身负责微服务或Serverless模块,同时利用DevOps管理流程,这样能够提高业务的快速迭代。虽然微服务或Serverless确实是能够提高业务的持续服务和可靠性,可是业务复杂度,管理难度和管理成本随之提高,如何作好业务故障排查,特别是性能和稳定是不少企业开发及运维团队所关心的,AWS为此提供一项易用且可视化的服务X-Ray,借助 AWS X-Ray,开发人员可以轻松分析其生产行为及具备端到端跟踪功能的分布式应用程序。您能够使用 X-Ray 肯定性能瓶颈、边缘状况错误以及其余难于检测的问题。X-Ray 支持各类类型或大小的开发或生产应用程序,从简单的异步事件调用和三层 Web 应用程序到使用微服务架构构建的复杂的分布式应用程序。这让开发人员可以快速找到并解决其应用程序中出现的问题,并改善最终用户对其应用程序的体验。数据库
功能介绍:
X-Ray是能够很好的与AWS近几年特别流行的技术(ECS/Lambda等)集成,尤为是将来有可能成为主流技术的Lambda,它能够提供数据跟踪,数据轨迹采集与性能分析等可视化技术服务。如下咱们来介绍如今及将来都比较经常使用的API化的应用,API化采用基础技术就是Lambda,而优化Lambda和业务代码的工具服务是X-Ray,咱们经过一个例子来讲明X-Ray如何帮助开发与运维团队提高业务体验。安全
1)X-Ray对Python for Lambda的请求分析
AWS Lambda 上的 Python – 对 Lambda 函数配置启用 X-Ray 以分析传入请求。添加X-Ray SDK for Python以分析 AWS 开发工具包、HTTP 和 SQL 客户端。
有多个 AWS 服务提供 X-Ray 集成。集成服务提供不一样级别的集成,能够包括采样和向传入请求添加标头、运行 X-Ray 守护程序以及自动将跟踪数据发送到 X-Ray。
主动分析 – 采样和分析传入请求。架构
被动分析 – 分析已经由其余服务采样的请求。less
请求跟踪 – 对全部传入请求添加一个跟踪标头,并将其向下游传播。运维
工具 – 运行 X-Ray 守护程序以从 X-Ray 开发工具包接收分段。异步
业务例子配置:
1)API化的业务架构图:
使用 AWS X-Ray 检测无服务架构工做流程中的响应瓶颈,将其运行时间提升了70%。
使用 X-Ray 的日志聚合器和可视化视图发现执行时间较长的 lambda ,使用 X-Ray 的明细功能,检查该 lambda 的 CloudWatch 日志。分布式
2)配置X-Ray
在 AWS Lambda 函数上配置 X-Ray 集成ide
打开 AWS Lambda 控制台函数
选择您的函数微服务
选择 Configuration,在调试和错误处理下,选择启用活动跟踪
切换到 X-Ray 的可视化仪表盘
条件筛选
问题定位
从上图能够看出: lambda 自身的业务功能较复杂调用频率太高;lambda 读取数据库的延时太高。
【关于博思云为】做为一家专业的云计算服务型企业,博思云为专为客户提供 AWS 上的运营服务:包括架构咨询服务、迁移服务、云安全集成服务、混合云管理服务、大数据服务以及 DevOps 服务。目前,博思云为在大数据、DevOps、架构、数据库以及操做系统等都已取得厂商认证,在上海、南京、杭州、武汉等地设有分公司。为创新服务模式、引领 IT 服务业的发展,博思云为将持续投入资源开展智能混合云管理平台、图数据库的研发等。