现在没有更好的时间开始计划2020年并确保您的应用程序已为即将发生的变化和趋势做好准备。
欢迎来到明天的世界! 尽管2020年似乎还很遥远,但它仍然在我们不知不觉中。 即使距离我们已经一年多了,分析师和研究公司仍在发布软件世界2020年趋势的报告和预测,这将决定我们的应用程序成败。
作为我们自身向未来转型的一部分,我们收集了该领域中一些有趣且相关的2020年预测。 如果您像我们一样,不想让您的应用程序落后于竞争对手,请查看我们对2020年不可错过的5大预测。
1.将手册切换为自动
专注于技术的现有和潜在影响的研究公司Forrester发布了一份报告,该报告介绍了从2018年到2020年将出现的十大技术趋势。他们在报告中写道 :
“软件机器人将取代人类做不到的常规任务。 到2020年,机器人将从事推动客户成果的工作。”
Forrester有一个严峻的预测,指出软件机器人将取代人类做不到的常规任务。 虽然我们不同意人类做得不好,但我们也同意总有更好的方法。
如果我们从更积极的角度看待这一预测,则意味着平凡而耗时的任务将成为过去。 换句话说,我们无法相信现在是2018年,而开发人员仍在手动筛选日志文件。 检测并重现问题可能要花费几个小时,有时甚至要花费数天,试图了解问题出在哪里以及如何解决。 那就是如果我们确实记录了此问题。
快速发展的公司和服务需要更快,更自动化的工作流程,从而可以将更新和修复更快地推入生产环境,并在问题发生时立即进行处理。 因此,领先的公司和团队正在朝着完整的CI / CD工作流程迈进。
这种转变已经开始,但是它正在不断发展和壮大,以实现软件交付生命周期中越来越多的零件的自动化。 我们已经可以看到并为自己做出贡献的一种趋势是自动进行根本原因分析。
公司意识到,将代码部署到生产环境中的周期不会结束,并且到2020年,监视将成为CI / CD周期不可分割的一部分 ,并且自动化部署需要更智能的监视。 您想知道某个版本何时引入新错误而不依赖于用户报告,并拥有修复该问题所需的所有信息。
2.随着自动化进入人工智能
自动化是难题的一部分,下一步是使我们的应用程序不仅自动化,而且自动化。 这就是人工智能(AI)的适用范围。这是一个广阔(而且很酷)的领域,已经存在了一段时间,而且每隔几年它就会以某种形式出现。 但是,它似乎一直在上升, Gartner在去年7月表示 :
“到2020年,AI技术将几乎出现在所有新软件产品中。”
在软件世界中,AI包含许多要素,例如机器学习,数据挖掘,神经网络,而且清单还在不断增加。 每个元素都可以帮助我们和我们的团队为用户创建更好的产品,使我们的应用程序具有更高的响应速度并增强我们的用户体验。
曾经只能被某些人访问的东西已经变得非常普遍,您可以找到可以快速实现的开源库和/或预编写的机器学习算法的列表。 即使您不具备有关机器学习及其工作原理的深入理论知识。
最好的开始方法是查看您的应用程序,规划出您认为这些元素可以提供帮助的区域并开始实施新功能。 我们已经介绍了Java中一些比较知名的机器学习库,例如Deeplearning4J(DL4J),Neuroph和BID Data Project,您可以在此处阅读有关内容。
3.由被动变为主动
期待意外。 这听起来像是个陈词滥调,但知道用户出了错之后,才在用户抱怨后才听到它,这是有区别的。 当涉及到您的应用程序时,您想保持领先地位。
根据您的要求以及要监视和处理的元素,可以使用各种监视,可靠性,APM和日志管理工具来完成此操作。 有很多工具可以帮助您监视和分析代码,应用程序和服务器,这对我们来说意义非凡。 这就是为什么了解您正在寻找的内容以及想要监视和分析的内容很重要的原因。
这里有广泛的范围,从AppDynamics,Dynatrace和New Relic等APM工具开始,再到 Splunk,ELK,SumoLogic,Loggly和其他汇总日志的日志管理,使您可以更好地了解代码的变化。
您还有另一个选择是专注于异常检测。 与APM或纯日志管理不同,它可以帮助您将工作集中在某些峰值以及比其他更为严重的异常上。 该列表包括X-Pack,Loom Systems,Coralogix和Anodot等。
但是,如果您花时间先登录,这些工具通常会起作用。 即使您确实记录过多日志,它也仅占应用程序中实际运行情况的一小部分,并且可能会花费您一些时间(从几个小时到几天)来找到您要查找的内容。
TripAdvisor公司Viator的软件开发总监Steve Rogers告诉我们,他们过去的故障排除过程可能需要几天时间,从而导致日志非常嘈杂且成本很高。 这使他们的识别和调查错误的过程成为团队的真正挑战。 即使使用APM和日志管理工具。
最重要的是,您选择使用哪种工具都没有关系,请记住该工具应该为您工作,为您提供解决问题所需的急切答案,而不会让您忙得不可开交。
4.开启达到88MPH的道路(或:创新)
迈向2020年的步伐将使您迈向更快的发行周期,为每个发行版增加更多功能。 太好了,因为随着您的前进,您的用户将期望您不断进行更新和创新。
但是,您很幸运,因为向自动,学习和主动方法的转变意味着开发人员将有更多的时间投资于构建新功能和推进公司的路线图。 与其浪费宝贵的时间来筛选日志,不如尝试检测问题并确定流程中出了什么问题。
这就是为什么创新将成为2020年的关键要素之一,但创新不会独立的原因。 我们需要确保我们在比赛中处于领先地位,而不是徘徊在后面,而是让我们的团队随着时间的推移努力追赶。
创新是实施我们之前提到的所有要素的结果,但是如果没有最终且最重要的要素,创新就并非全部:
5.可靠性为王
我们最糟糕的噩梦在半夜醒来,PagerDuty的声音提醒我们出了点问题。 即使我们已经实现了自动化,人工智能并采取了积极主动的方法来帮助我们的应用程序为2020年做好准备,但是如果我们的用户无法依赖我们的应用程序,这将毫无意义。
换句话说,即使拥有最好的开发人员,DevOps和QA团队,我们也可以确保我们的应用程序中存在未知数量的错误情况,并且无法预测所有错误情况。 但是,确保他们不会损害用户体验是我们的工作。
这就是为什么2020年将要求我们变得更加敏捷。 随着向自动化工作流程的转变,作为连续可靠性方法的一部分,可靠性在该周期中占有重要地位。 这种方法可以帮助Intuit等公司确保其所有产品都能正常运行,从而为客户提供最佳体验。
最后的想法
如果我们的计算是正确的,那么到2020年……我们将看到一些严肃的软件。 软件行业正处于正确的轨道上,您不希望落后于不满足客户需求或团队需求的应用程序。
时钟在滴答作响。 正如唐·马奎斯所说:
“拖延是跟上昨天的艺术。”
我们确信您和我们一样,不想早上醒来就发现自己落后了。 现在是迈向变革和创新的最佳时机,而最佳的开始方式是调整路线图,分配任务,并为今天的精心设计的计划做好准备。
翻译自: https://www.javacodegeeks.com/2018/03/if-youre-planning-to-write-java-code-in-2020-here-are-the-top-5-predictions-you-cant-afford-to-miss.html