前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >流水线救赎:Spinnaker如何塑造SAP卓越的交付

流水线救赎:Spinnaker如何塑造SAP卓越的交付

作者头像
CNCF
发布2019-12-04 15:38:17
6210
发布2019-12-04 15:38:17
举报
文章被收录于专栏:CNCF

作者:Serge Poueme

作为一名负责卓越交付的现场可靠性工程师(Site Reliability Engineer,SRE),可靠的部署对我来说很重要。我已经在SAP工作了一段时间,我很自豪能够成为他们使命的一部分:帮助世界更好地运行。信任是这一使命的核心,为了建立信任,我们必须成为社区的可靠资源。作为SRE,我们的目标是在所有方面提供可靠性,特别是在DevOps团队通常落后的方面:基础设施、部署、配置、监控和文档。因此,确定一个有效的CI/CD流水线系统,对我们的成功,以及我们的客户和合作伙伴的成功至关重要。这就是我们向Spinnaker致敬的原因。

发现Spinnaker的奇妙世界

我们的SRE团队一年前遇到了Spinnaker。我们被要求构建一个标准CI/CD流水线的蓝图,以提高开发人员的工作效率,并减少冗长的开发周期。我们立即开始了深入的研究,从GitLab、Bamboo、Jenkins、Concourse等寻找解决方案,最后敲定了Spinnaker。在进行我们的概念证明(Proof of Concept,POC)时,Spinnaker让我们的生活变得更容易了,这也让我们很容易地决定采用它的平台。

到目前为止,我们已经有了使用这个平台的很好的经验。首先,因为它的开源环境。如果我们遇到问题,Spinnaker庞大的在线社区可能有解决方案。其次,它与Slack完全集成(在SAP中已经广泛使用),允许我们的团队共享关于部署流的见解。交流是任何平台的关键,Spinnaker在这方面做得很好。

为什么我们坚持使用

Spinnaker赋予了我生命的意义 - 只是开个玩笑 - 不,但它确实帮助我到达了我想去的地方。在SAP,我的重点是CI/CD流水线标准化和创建DevOps自助服务,我可以有把握地说,Spinnaker正通过更快地推动云计算的创新做出贡献。我敢说我们在通往天堂的大道上吗?我想我能。特别是考虑到我们现在的情况:Spinnaker为我们的10个开发团队运行部署流水线。这意味着在生产中有30个Kubernetes集群,以及40个不同的部署流水线。不坏,对吧?有些团队在投入生产之前,每天要进行200次灰度(金丝雀)部署(canary)。

这是我们的一个流水线在13分钟内执行一个产品版本。

因此,由于我们的效率水平提高了,我们的速度自然也提高了。使用Spinnaker更简单,因为不涉及编码。相反,您可以在界面上获得一个易于理解的UI,并在后端获得一个可控制的环境。少一点犯错的空间,多一点创新的空间。

Spinnaker帮助我们扩展了CI/CD流水线,超出了我们业务的需要。现在,我们在全球范围内提供共享服务。因为它不仅是可扩展的,而且是难以置信的直觉 - 让队友上手轻而易举。通过利用Halyard配置工具和GitOps方法,我们可以在团队中使用自助服务模型(DaaS)。这是一个游戏规则改变者,因为在部署过程中,流水线向我们发送信号,而不是开发人员联系我们进行更改。我想我们都同意自动化是未来的趋势,Spinnaker让我们离这个目标更近了一步。

我的一个同事正在做一个很棒的项目,叫做SAP Graph,它是一个易于使用的API,用于跨应用程序构建扩展。我的同事Michael对Spinnaker感到欣喜若狂,因为它既简化了他的生活,又降低了成本。SAP “Graph是13个组件的集合,通过Spinnaker,我们能够保持部署相对简单,同时保持它们松散耦合。”他在一次团队讨论中补充道。由于与Jenkins和GitHub的兼容性,他和他的团队节省的时间和金钱是非常值得的。

“一个清晰的错误日志是任何SRE都希望拥有的最好东西之一。” - Michael Sabbagh,SAP现场可靠性工程师

Spinnaker可以提升的地方

与任何平台一样,总是有改进的空间。我发现Spinnaker缺少的一点是它缺少深入的文档。例如,我喜欢钻研Halyard配置工具之类的主题,而用户指南似乎仅限于典型的实例。如果能找到一个空间,让我们能更深入地探索Spinnaker和它的工具能为我们做些什么,那将会很有帮助。另一件事是,我们必须操作配置文件,以自动改变Spinnaker。我们的团队已经开始将Halyard嵌入到一个API中,但是我们进展缓慢,因为我们想看看Spinnaker的开发之旅会走向何方。在他们的SIG中进行的讨论可能导致使我们免于麻烦的解决办法。

https://www.spinnaker.io/community/

安全也可以做得更好,特别是围绕着Spinnaker使用的docker镜像。我认为强制扫描可以解决此问题,可以更快地覆盖盲点,保护我们免受网络攻击。当我们讨论安全问题时,我的队友William摇了摇头,“问题是在配置LDAP身份验证和授权时,在设置到Active Directory服务器的连接时,很难将企业CA证书添加到信任存储中。”Spinnaker团队确实记录了一个解决方法,但即便如此,他还是花了一段时间才在我们的自动化系统中实现了它。

总结

一般来说,Spinnaker拥有每个SRE团队都需要的部署工具集。它是开源的,这意味着它有一个社区的人们来分享经验。与Spinnaker用户进行大规模的连接不仅很容易,而且它与Slack的集成使得与队友的协作也很简单。Jenkins和GitHub也被整合到这个平台上,这使得它很容易被其他开发者采用和使用。这就是为什么我们在跨SAP提供共享服务时没有遇到任何问题的原因。以SAP Graph为例!Spinnaker帮助Mike和他的团队简化了他们的部署过程,节省了时间并把钱放回了他们的预算中。

但这并不是说这个平台是完美的。仍然有一些领域我们希望看到改进,然而,我认为Spinnaker正在做出诚实的努力来解决这些问题。当William发现一个bug时,他确定了根本原因,然后通过拉取请求提出了一个修复方案。Spinnaker很快做出了回应,然后为他提供了更多的文档,让他为这个项目做出贡献 - Spinnaker的开源又一次得到了应得的赞扬!总之,总结一下,我认为这张照片本身就说明了一切。

没有什么比看到这些亮绿色的数字更好的了。

特别感谢Jessie Metivier与我共同撰写这篇文章。

文章转载自LFAPAC。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CNCF 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
CODING DevOps
CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档