完全无服务器化后,它将对DevOps产生巨大影响

发布于:2021-01-19 15:07:53

0

76

0

无服务器 DevOps

错误报告比以往任何时候都重要。在本次采访中,BugReplay的创始人兼CTO Sam Kaufman教我们如何简化错误报告,并讨论容器和无服务器的下一步发展。

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

萨姆·考夫曼(Sam Kaufman): 在软件发布中,大部分代码发生了更改,通常会引入一些新的错误。当用户看到该版本时,就有一个新问题会影响其中一个或多个的风险。如果用户发现问题,则对于软件公司而言,必须尽快将其报告给您。公司诊断,修复,测试和发布软件补丁的速度越快,软件问题带来的负面影响就越小。

错误通常不是公司喜欢的事情,因为每个人都想认为自己的软件是完美的,但是,从用户的角度来看,报告问题并及时进行修复的客户服务经验非常重要,因此无法解决。持久的印象。对于网站和Web应用程序的性能,消费者并不轻易原谅,因此,毫不夸张地说,错误报告在今天比以往任何时候都更为重要。关键问题是:我们如何才能使有关各方减轻这一过程的痛苦?

我认为有一些明确的方法可以使错误报告更加容易。对于用户而言,他们希望看到一个报告错误的地方。不要让他们在高低搜寻联系人链接。在页眉或页脚中放置明显的内容。在实际填写错误报告时,可以自动解决许多我们需要解决的问题。对于Web应用程序,大多数主流浏览器现在都在浏览器中内置了强大的诊断实用程序。

我们构建了BugReplay工具来轻松捕获该关键信息,并将其直接插入浏览器并记录视频以及开发人员解决问题所需的所有数据流(网络流量,浏览器控制台错误和日志),因此-技术用户可以向您发送详细报告。

贾克森特: 在漏洞方面,敏捷是一把双刃剑吗? 

山姆考夫曼: 是的,绝对。公司之所以采用敏捷方法,是因为他们对软件发布需要花费多长时间感到沮丧。敏捷非常适合通过省去传统的冗长文档和冗长的角色,从而更快地发布版本。

开发人员和测试人员通常不会获得有关所有工作原理的手册,这使测试更加全面。如果没有每个要素的书面行为以及紧迫的最后期限通常意味着敏捷,那么就无法完全测试软件版本。对于大中型软件项目,无疑会在每个发行版中引入错误。从积极的一面来看,敏捷方法论意味着更快地发现并修复关键错误。敏捷商店可以迅速地集中精力,专注于一个重要的问题,并协同工作以尽快解决问题。 

JAXenter:您对2018年的DevOps有何预测?我们应该注意什么?

萨姆·考夫曼(Sam Kaufman): 预计来年会有更多,更大的安全问题。随着安全研究人员和安全研究工具变得越来越复杂,通过默默无闻的安全性已不再是真正的防御。寻找更快,更轻松的方法来确保基础系统的安全和最新。

JAXenter: 容器(和编排工具)现在非常流行。您认为今年人们对集装箱的兴趣会增加吗?

Sam Kaufman: 尽管容器的采用正在增长,但是它们的真正用例是可重现的体系结构和关注点分离,这可以通过其他方式来实现。我认为容器和编排工具仍然很新,因此尽管人们的兴趣将继续增长,但我仍然看到许多公司不愿依赖工具来快速更改系统。

我个人已经在笔记本电脑和Debian系统上的生产环境中使用了Mac版Docker,在Mac上,我仍然看到许多奇怪的错误,这些错误通常是通过重新启动Docker或采取其他严厉措施来“修复”的。当然,这是可以预料到的,因为该软件仍是相当新的并且非常复杂,但是它将使更多的传统和保守派操作人员远离,直到它像传统系统一样稳定为止。

JAXenter:您如何看待无服务器在2018年将发生变化?会对DevOps产生影响吗? 

萨姆·考夫曼(Sam Kaufman): 随着Google,亚马逊,微软和IBM的云产品不断完善,我认为无服务器选项将继续增长。完全烘焙后,它将对DevOps产生巨大影响,因为您无需维护基础服务器。

DevOps的不幸影响是,需要编写更多特定于服务的软件工具才能在不同的云平台上处理,监视和警报。您可以运行软件并将服务器维护留给具有管理服务器专业知识的巨型平台,这真是令人惊讶,但您仍然需要编写工具来与平台服务进行通信,或者依靠其他工具或SaaS公司为您完成此任务。

JAXenter: 能为我们提供一些您今年发现并决定坚持的提示和技巧吗?

山姆·考夫曼:

Slack Alerts:今年,我真的专注于改进一些监视和警报,尤其是在Amazon上。使用Slack(或任何类似Slack的产品),您可以创建一个Webhook来提醒或登录到某个频道,并在任何东西到达该频道时将您的通知更改为ping您。尽管电子邮件可以实现相同的目的,但您会惊讶于电子邮件的交付确实如此复杂。在Slack中获取所有通知大大改善了我的响应时间和服务正常运行时间。

结构化日志记录:结构化日志记录使您能够以非常强大的方式对切片进行真正的切片和切块处理并发出警报,并迫使您对日志记录的内容和时间进行更多的思考。(我在2016年底在自己的博客上写了有关此内容的文章,但直到去年才真正投入其中。)

Vim 8.0:如果您是Vim用户,并且具有各种linting或错误检查插件,则您可能会注意到,随着项目的扩大,Vim将冻结很多。Vim 8.0具有异步功能,并且通过“ Ale”(异步棉绒引擎),所有冻结的工作现在都消失了。如此好用,以至于我不能再回到早期的Vim版本了。

JavaScript中的Async / await:花了我一段时间,但我真的开始喜欢异步并在JavaScript中等待。编写了大量异步代码后,将其移植到异步/等待状态使其再次可读。另外,将常规JavaScript移植到Typescript对我的代码的可读性和可伸缩性产生了巨大影响。