华为 吴晟 - 《SkyWalking的发展之路;从无名小卒到拥抱全球》

中国开源项目的全球化,起步晚,而且苦难重重。在OSS这个领域,国内更是很少涉猎。那么SkyWalking是怎么样从第一行代码,慢慢成长为如今的Apache孵化器项目,从CNCF OpenTracing到W3C trace context标准,都有SkyWalking的身影。在刚刚的美国之行中,更是得到Google、Microsoft、Zipkin、AppDynamic、New Relic、DynaTrace、Instana等一系列世界顶级公司的尊重与重视,还荣获本次Workshop的热门分享话题,以及MVP。 本次分享,我们将会复盘演绎SkyWalking发展,4次代码重构与技术升级,以及社区发展之路。希望能够帮助大家,更好的发展自己的开源项目。

1. 从无名小卒到拥抱全球 Apache SkyWalking (incubating) 的发展之路 演讲者/吴晟
2. 个人简介 • 华为软件开发云,分布式追踪技术专家,2012实验室 • Open source 爱好者 • Apache SkyWalking (Incubating) 项目创始人, PPMC成员, Committer • CNCF OpenTracing 规范化委员会成员,工业咨询委员会成员 • W3C trace context标准组织成员 • Microsoft MVP • Google Summer of Code 导师 • Sharding JDBC PMC成员
3. 发源自中国的Apache开源项目 Apache顶级项目 Apache孵化器项目 唯一的OSS项目
4. SkyWalking国际化 1. 2018年 1月 旧金山Distributed Tracing Workshop • 顶尖开源项目和APM公司参与 • 开源:Zipkin,Jaeger, SkyWalking, Google OpenCensus, OpenTracing • APM 厂商或云服务商:New Relic, AppDynamic, Dynatrace, Instana, AWS, Microsoft, LightStep, Netflix • 唯一受邀中国团队 • 分享话题MVP得主 2. Friend with Dapper paper author Ben Sigleman
5. 0 -----> Global
6. 序幕:分布式系统之痛 1. 集群应用数量增多 2. 集群关系复杂化 + 动态化 3. 日志开始失效 4. 调用轨迹不确定 5. 性能问题定界困难
7. Why open source?
8. V1 数据模型验证 • APM/Distributed Tracing 并不一定需要字节码 • 受到鹰眼QCon分享启发,使用序号模型 • 非日志型传输,增强交互性 社区: • 推广你的前100 stars,文章,朋友 • 等待第一个对你项目感兴趣的人 • 等待第一个Issue
9. V2 从原型到项目蜕变 • 帮助社区出现项目的第一个贡献者 • 发现项目定位的偏差,和社区诉求 • 部署简单化 • 自动探针 • More than Tracing • 寻求第一个公司支持或者社区组织合作
10. Java C# Go C++ Python JavaScript ObjectiveC Ruby
11. V3 形成社区驱动力 • 从技术原型阶段向业 务转型 • 前提条件 1. 技术成熟度 2. 社区活跃度 3. Committer数量
12. 终于轮到性能了! • 性能是项目社区发展到一定阶段的 要求 • 优化性能可能带来巨大的重构 • 性能测试 1. 500模拟用户,5000 tps,7 spans/trace,100%采集 2. 500模拟用户,1300tps,20 spans/trace,100%采集
13. 更进一步 W3C Trace Context • More Global Specification • For both APM vendors and tracer projects • Specification for tracing context propagation format.
14. Join Apache Incubator • 中国首个个人发起的项 目进入Apache • Diverse • Committer Team • Government Way • High Value Contributor
15. V5 Performance Monitoring • 高性能自动探针 • 良好的手动探针接 口 • 分析、告警能力 • 接入安全控制 • 现代化UI • 多语言社区整合
16. .NET Core社区支持 • .NET Core Community Team关注SkyWalking 2018.1 • .NET Core Community成员开始构建SkyWalking .NET Core Agent 2018.2 • SkyWalking .NET Core Agent v0.1 release 2018.4 规划 • 更多的.NET Core组件支持 • .NET Core Community和Apache SkyWalking进一步合作生态合作
17. 监控追踪 华为云DevCloud • SkyWalking作为运维监控与诊断工具对开发 云服务提供全流程追踪 • SkyWalking很快将在开发云上提供服务
18. 部分应用案例
19. Stars in GitHub?
20. 如何让开源项目成功? • 合理定位 • 社区为先 • 接纳他人 • 耐心 • 注重文档
21. 开源项目 公司 开发者
22. 公司与开源项目 公司诉求 • 知名度 • 技术背书 • 跨公司的非官方合作 • 开源产品到商业产品的孵化 公司对项目的支持 • 更多的时间 • 基础设施支持 • 资金支持 • 宣传