看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!
在过去的几年间,我们已经讨论过站点可靠性工程(Site Reliability Engineering,SRE)的角色,尤其这个群体如何从Google 这种领域的公司得到发展,进而满足金融和医疗等行业公司的期望。最近科技记者 Alex Handy 撰写了 SRE 和微服务架构如何适配的文章:
[…] 尽管 SRE 和微服务在世界范围内的软件公司中并行发展,但是前者实际上让后者的生活更加艰难。
Alex 认为造成这一点的原因是非常清晰的:
[…]SRE 的存亡依托于所要维护和优化的整个系统的全栈视角。这个角色将开发人员的技巧和管理员的技巧结合在了起来,这样所产生的员工能够在事情偏离方向的时候,调试生产环境中的应用。
Alex 接着介绍了 SRE 的一些背景知识以及该功能如何在像 Google 这种规模的公司中运转,他引用了 Google 的一位 SRE 主管 Todd Underwood 的观点,阐述了 Google 如何安排实践和系统,帮助开发团队能够在分布式系统中既能考虑到可靠性和可用性,又能采用像 Paxos 这样的技术方式实现一致性。
Underwood 强调 SRE 工作的另外一个重要方面,也就是可见性。当微服务在不断变化的基于的云的服务器、容器和数据库中运行时,会抛出数以亿计的数据包,不管处理哪种类型的问题,首先找到哪里有问题都是至关重要的。这也就是 SRE 工作的全栈性要发挥作用的地方了。
按照 Google 的一位产品主管 Morgan McLean 的说法,这里的关键在于微服务的监控和跟踪,关于这个话题,过去有人也提到过,我们也曾经在其他地方讨论过。在 Alex 的文章中,他提到了 Google 发布的一些新工具,以便于解决这个问题:
[…]Google 最近发布了 Stackdriver Trace 、 Stackdriver Debugger 和 Stackdriver Profiler 。这些工具的名字听起来很像传统企业厂商的老式测试和运维工具,其实这是有原因的:它们所执行的正是传统的故障诊断任务,也就是开发人员和运维人员所熟悉的工作内容,但是它们聚焦于微服务,并且在云端完成它们的任务。
Alex 引用 Morgan McLean 的内容总结了这些工具是如何确保 SRE 团队更好地管理新的基于微服务的架构的,尽管跟踪非常重要,但是 Google 相信他们所提供的工具目前在 profiling 和调试方面是独一无二的,能够为开发人员和 SRE 带来重要的收益。在文章的结尾处,Alex 通过 Google 和其他的行业参考资料进一步介绍了监控、指标(metrics)和可见性,这是非常重要的,因为它们可能会与越来越多的公司息息相关。
我们看到越来越多的开发人员和公司采用微服务,其中很多正在使用,或者将要使用 SRE 团队,了解架构和工具如何演化以保证可靠性、可用性以及一致性是非常有意思的事情,这样的话,开发人员和 SRE 团队才能和谐相处。如果在这方面你有经验要分享,不管是正面的还是负面的,对于整个社区来说,能够倾听这些经验都是非常有用的。
评论