技术开发 频道

无服务器完全崛起之时就是DevOps繁荣之时

  【IT168 评论】错误报告比我们想象的重要,也比之前任何时候都更重要,本文我们和BugReplay的创始人兼首席技术官Sam Kaufman针对如何简化错误报告进行了探讨,同时也对容器和无服务器的下一步工作进行了讨论。

无服务器完全崛起之时就是DevOps繁荣之时
Sam Kaufman

  问:错误报告在软件开发生命周期中扮演什么角色?

  Sam Kaufman: 在软件发布后,代码的重要部分会发生变化,通常会引入一些新的bug。当用户看到这个版本时,会有新问题会影响一个或多个问题的风险。如果用户注意到一个问题,那么软件公司就必须尽可能快而准确地获取到并修复。一个公司能够诊断、修复、测试和发布软件补丁的速度越快,软件问题的负面影响就越小。

  Bug是每个公司都不喜欢的东西,因为每个人都希望自己的软件是完美的,但是从用户的角度来看,报告问题的客户服务体验和及时修复是非常重要的,它会给人留下深刻的印象。如果问题涉及到网站和网络应用程序的性能,那么消费者是不会轻易谅解的,所以bug报告比以往任何时候都更重要,这绝不是一种夸张的说法。目前我们面临的关键问题是:如何才能让双方都不那么痛苦?

  我认为有明确的方法可以使错误报告更容易。对于用户来说,他们希望看到一个报告bug的地方,不要让他们到处寻找联系链接,最好是在页眉或页脚放一些明显的东西。当涉及到实际填写错误报告时,我们需要解决的很多问题都可以自动化。对于web应用程序来说,大多数主流浏览器现在都有强大的诊断工具,这些工具都内置在浏览器中。

  我们构建BugReplay工具轻松地捕捉关键信息,并正确插入到浏览器,并记录视频以及开发人员需要解决的所有数据流 - 网络流量、浏览器控制台错误和日志,非技术用户可以向您发送详细的报告。

  问:敏捷是一把双刃剑吗?

  Sam Kaufman: 绝对是的,公司采用一种敏捷的方法,因为他们对交付软件的时间感到失望。敏捷非常适合通过分发传统的长阶段文档和角色的过度专门化来更快地发布版本。

  通常来说,开发人员和测试人员是没有拿到一份确切的手册,没有对每个元素的文档化的行为,而且敏捷也意味着最后期限非常紧迫,所以几乎没有办法完全测试软件。如果对于大中型软件项目来说,bug无疑会被引入到每个版本中。如果从好的方面来说,敏捷方法意味着找到关键的bug并修复它们的速度要快得多。敏捷可以快速地将注意力集中在一个重要的问题上,并协同工作以尽快解决问题。

  问:您对DevOps 2018年的预测是什么?我们应该注意什么?

  Sam Kaufman: 未来一年会有越来越多的安全问题出现。随着安全研究人员和安全研究工具变得越来越复杂,通过已有的安全性不再能够实现真正的防御,我们需要寻找更快、更简单的方法来保持底层系统的安全和最新。

  问:Containers(和编排工具)现在风头无两,你认为今年人们对容器的兴趣会增长吗?

  Sam Kaufman: 尽管容器的采用越来越多,但它们的用途是可复制的架构和关注点分离,这可以通过其他方式实现。我认为容器和编制工具仍然是非常新的,虽然兴趣会继续增长,但我也看到了许多公司对于依赖于变化如此迅速的系统的工具犹豫不决。

  我个人在笔记本电脑上使用Docker,在Debian系统上使用。在Mac上,我仍然看到很多奇怪的bug,这些bug通常是通过重新启动Docker或采取其他极端措施解决的。当然,这是意料之中的,因为软件仍然是非常新且非常复杂的,但是它会让传统的和保守的操作人员远离,除非它像传统系统一样稳定。

  问:2018年你觉得无服务器会有什么变化?它会对DevOps产生影响吗?

  Sam Kaufman:随着谷歌、亚马逊、微软和IBM的云服务继续改进,我看到无服务器的继续增长。当它完全成熟时,它将对DevOps产生巨大的影响,因为你不需要维护底层服务器。

  DevOps的不幸影响是,需要编写更多的特定于服务的软件工具来处理、监视和警告不同的云平台。虽然你可以运行软件并将服务器维护留给一个在管理服务器方面有专门知识的大型平台,但你仍然需要编写工具来与平台服务进行通信,或者依赖其他工具或SaaS公司来为你完成这些工作。

  问: 你能否给我们提供一些你今年发现的提示和技巧?

  Sam Kaufman:

  Slack Alerts:今年,我真的专注于改善一些监控和警报,特别是在亚马逊上。使用Slack(或任何类似于Slack的产品),你可以创建一个webhook来提醒或登录一个频道,并在点击该频道时改变你的通知。虽然电子邮件也可能实现,但你会发现邮件发送的复杂程度。在Slack中获得所有通知极大地提高了我的响应时间和服务正常运行时间。

  结构化日志记录:结构化日志可以让你在日志中以一种非常强大的方式真正地对日志进行切片和警告,并迫使你更多地思考您登录的内容和时间。

  Vim 8.0:如果你是一个Vim用户,有任何类型的linting或error检查插件,你可能会注意到Vim将会冻结项目所获得的大量内容。Vim 8.0具有异步能力,并且,通过"Ale"(异步Lint引擎),所有的冻结现在都消失了。这很好,反正我是不会再回到以前的Vim版本了。

  JavaScript中的异步/等待:我花了一段时间才得到它,但我真的喜欢他。在编写了大量异步代码之后,将其移植到异步/等待中,使其再次可读。此外,将常规JavaScript移植到Typescript对我的代码的可读性和可伸缩性有很大的影响。

0
相关文章