同样,如果您的测试环境不是生产环境的精确克隆(在大多数情况下是正确的),那么很有可能在某次上线后爆发,或者错误发现问题的时机,错误浏览器兼容性的BUG。...测试自动化在生产中的优势 到目前为止,我们知道在生产中测试 Web 应用程序变得势在必行。但是我们需要自动化它吗?Selenium测试自动化有什么好处,让我们看一看。...在完成了测试环境测试套件后,在生产中测试相同的东西会成为一种让人刚到非常无趣的体验。 生产中测试策略 接下来的问题是围绕如何实现!!如何在生产中开始自动化测试?线上环境需要哪种自动化策略?...让我们进一步探讨在生产中执行测试的策略或方法。 蓝绿部署 在此策略中,部署在两个类似的生产环境中完成,这些环境是蓝色和绿色,彼此相同。在任何时候,只有一个环境处于活动状态,为所有生产提供服务。...然后可以进一步分析哪个版本性能更好,基于您保留性能更好的版本。 自动回滚策略 在此策略中,每当发现故障时,服务仍处于监视阶段时,都会将应用程序返回到以前的稳定版本。
Lambda的托管平台(70%) - 云原生技术的三大优点是更快的部署时间、改进的可伸缩性和云可移植性 - 40%来自企业公司(5000+)的受访者在生产中使用Kubernetes 关于调查方法和受访者...Kubernetes 58%的受访者在生产中使用Kubernetes,42%的受访者在评估未来使用。相比之下,40%的企业公司(5000+)在生产中使用Kubernetes。...隔离Kubernetes应用程序 受访者使用名称空间(78%)、单独的集群(50%)和只使用标签(21%)来分隔Kubernetes应用程序。 在生产中使用的云原生 云原生项目有哪些好处?...- Minio:27%的受访者正在生产中使用,而73%(从28%上升)正在评估。 - OpenSDS:16%(从7%上升)受访者正在生产中使用,而84%(从14%上升)正在评估。...- REX-Ray:18%的受访者正在生产中使用,而82%的受访者正在评估。 - Openstorage:19%(从31%下降)受访者正在生产中使用,而81%(从36%上升)正在评估。
49%的受访者在生产中使用容器,另有32%计划这样做。...2019年中国云原生调查包括300名受访对象-其中97%来自亚洲,主要是中国。 容器使用 我们知道容器已经改变了基于云的基础架构,但是在过去的一年中,容器在生产中的使用已成为常态。...Dragonfly(17%受访者在生产中使用)和KubeEdge(11%受访者在生产中使用)是最常用的两个沙箱项目, 现在两个都在孵化阶段。...您的组织使用哪个无服务器可安装平台?...您如何了解云原生技术?
任何软件堆栈或应用程序层的故障都可能破坏客户体验。 传统的 QA 测试方法不会在这些潜在问题条件实际发生之前发现它们。 此外,大多数传统的 QA 活动都被其他团队吸收了。...验证 更广泛的软件和基础设施场景 发现问题 传统测试无法暴露 安全地进行 并在生产中有效 帮助团队了解 系统在现实世界中的行为方式,而不仅仅是它们如何破坏或它们有什么错误 由于混沌工程可以在运行时测试代码质量...我们使用混沌实验来模拟我们知道有可能导致问题的金丝雀实例上的事物,例如网络延迟。新服务在轻量级测试下是否有效?中等的?重的?我们努力推动新实例。在生产中。...这在生产中是安全的,因为服务的其他实例正在处理客户需求;甚至没有人能说我们正在做混沌工程。 混沌工程是在当今复杂的现实中发现系统性问题的唯一方法,无论我们是否使用金丝雀部署。...当网络延迟增加两微秒时,我们的 REST API 驱动的库存服务将如何表现?当大量延迟的请求全部并发到微服务时会发生什么?我们怎么知道?我们对其进行测试。
您应该知道的顶级Java的异常检测工具 ? 应用程序故障可能由于各种原因而发生,并且有一些工具可以解决每个可能的错误源,例如日志管理工具,错误跟踪器,性能监视解决方案等。...实际上,我们已经研究这个颇有几分,不同发现的方法记录在生产中,最常见的方式来解决的Java应用程序中的错误,如何以及应用监控点的工具可以检测错误帮助。...底线: Loom使用应用程序日志和指标来尝试了解应用程序的正常行为,并提供建议的解决方案和操作项。 3. OverOps OverOps告诉您代码在生产中的时间,地点和原因。...它不需要任何代码更改,也不依赖于记录的信息,而是依赖于直接来自应用程序的信息。...这就是为什么它对日志文件没有依赖,而且数据直接来自JVM本身由于OverOps是为每个错误提供完整源,状态和堆栈的唯一工具,因此它提供了应用程序中异常和问题的360度视图。
确定你的用户应该在受保护的环境中做什么和不应该做什么是良好的安全和操作卫生的关键。 特权和活动 接下来,我们想知道谁会进行具体的行动。...找到-exe,vi,tcpdump,netcat 重要的是要注意,这些活动不应该发生在生产服务器上。...生产中心需要回答的问题是在使用的不同应用程序堆栈中,并将这些问题与服务器主机名与标签进行匹配。 您需要为生产回答的一些关键问题如下: 什么应用程序堆栈在生产中运行?...一旦您对工作负载有深入的了解,您需要回答这些问题,那么您不知道的进程和活动就会快速浮现。这一步是开展运营理解的一部分,因为这是一项安全性的练习。...同样,一旦开始警报进入,将会识别先前不知道的其他网络连接。 威胁情报 通过添加IP信誉信息,还要考虑与已知的错误IP地址进行通信时应采取的操作类型。
我们第三次使用中文进行了"云原生调查中国",以更深入地了解中国采用云原生的速度,以及如何在这个庞大且不断发展的社区中增强开发人员的能力并改变其发展。...本报告以2018年3月和2018年11月发布的前两份中国报告为基础。 中国云原生调查的重点 49%的受访者在生产中使用容器,另有32%的人计划这样做。...与2018年11月相比,这是一个显着的增长,当时生产中仅使用了20%的容器。72%的受访者在生产中使用Kubernetes,高于2018年11月的40%。...《 2019年中国云原生调查》共收到300人的回应-其中97%来自亚洲,主要是中国。 容器使用 我们知道容器已经改变了基于云的基础架构,但是在过去的一年中,容器在生产中的使用已成为常态。...在中国调查中,将近一半(49%)的受访者在生产中使用了容器–从我们2018年3月的调查中的32%和2018年11月的20%跃升至更高。
目前,94% 的调查对象至少在一个阶段使用容器。在使用容器的调查对象中,68% 在生产中使用,比上年增长 39%。...82% 的单位在生产中使用 Kubernetes,和上一次调查的72%相比有所增长。 各单位使用 Kubernetes 集群的数量也在增加。...去年,毕业 CNCF 项目的使用量增长了 64%,有几个项目在生产中的使用呈现出跨越式增长。 生产中使用 Prometheus 的用户从57% 增加到 75%,增长 32%。...Service Mesh 服务网格 服务网格非常流行,38% 的单位在生产中使用服务网格,但其复杂性仍然有待降低。...去年排名第四的 Envoy,超过 F5 和 HAProxy 从15%的份额增长到29%。 存储 云原生存储工具人气也非常之高,将近 2/3(64%)的单位在生产中使用有状态应用程序。
这种垃圾代码——浣熊的最爱——是一种维护负担,开发人员必须解决它才能在进行其他重大更改时继续通过测试。这种代码通常不会最终进入垃圾箱,因为很难知道在不破坏应用程序的情况下可以安全地删除什么。...但是,如果你了解如何查找它,你可以更好地识别不良代码。 识别死代码或未使用的代码 的典型方法是通过静态分析或日志审查。...Java 中的未使用的死代码 Java 工程师可以将未使用的死代码检测视为类似于垃圾回收:选择你的设置,让 JVM 完成剩下的工作。代码是否在生产中使用的问题取决于该方法是否被调用(或内联)。...如果再次使用该方法,则无需影响记录第一次调用的性能。该方法已在生产中使用,因此代码不是未使用的或死的。在此场景中,JVM 运行被标记为“应用程序环境”,以帮助记录哪个应用程序为给定环境调用了该方法。...保持这些环境分离有助于识别代码和单元测试仅用于相互保持活动的情况。 监控代码以查看你可以丢弃什么需要增加时间维度。在你观察应用程序一段时间之前,很多代码还没有运行。
如何在生产环境中安全、高效地运行 Kubernetes 集群平台,是一个至关重要的 Topic ~ 为什么选择 Kubernetes ? ...随着容器的应用,软件打包越来越左移,这意味着(取决于我们的团队组织)开发人员正在承担应用程序容器化的责任。开发人员可能还负责 Kubernetes 配置的某些部分。...SRE 还需要确保使用最佳实践配置应用程序并启用健康探测和健康检查,以便应用程序能够在生产中可靠地运行。 ...3、安全团队:需要知道组织是否正在运行易受攻击的容器版本,以及应用程序是否配置为安全的。 4、工程副总裁:需要安全、可靠的基础设施来支持下一波业务增长。 ...我们可以使用策略创建边界规则的一些方法示例包括仅允许来自受信任存储库的图像、确保设置 CPU 和内存请求,以及需要健康探测。
作者 | Joe Pelletier 译者 | Luga Lee 策划 | Luga Lee 如何在生产环境中安全、高效地运行 Kubernetes 集群平台,是一个至关重要的 Topic ~ 为什么选择...随着容器的应用,软件打包越来越左移,这意味着(取决于我们的团队组织)开发人员正在承担应用程序容器化的责任。开发人员可能还负责 Kubernetes 配置的某些部分。...SRE 还需要确保使用最佳实践配置应用程序并启用健康探测和健康检查,以便应用程序能够在生产中可靠地运行。...3、安全团队:需要知道组织是否正在运行易受攻击的容器版本,以及应用程序是否配置为安全的。 4、工程副总裁:需要安全、可靠的基础设施来支持下一波业务增长。...我们可以使用策略创建边界规则的一些方法示例包括仅允许来自受信任存储库的图像、确保设置 CPU 和内存请求,以及需要健康探测。
了解CI / CD管道以及如何以及在何处自动执行任务。 熟悉配置和编排工具。 了解常见的Git命令以及版本控制的基础知识。 过程 不在生产中测试?在生产中进行测试!...在生产中进行测试的概念是一个棘手的话题,但是Ann Marie Fred在《不要在生产中进行测试?在生产中进行测试!从历史上看,从安全性,合规性和风险管理的角度来对待开发,测试和生产系统是不同的。...复查与错误查找日相关的风险,并从一开始就设置适当的防护栏。 遵循混沌工程学的原则:提前计划;包含爆炸半径。 是的,生产中存在与测试相关的风险,但可以通过适当的防护措施将其最小化。...安排定期的团队培训,培训所需的工作技能,从软技能到如何使用特定工具。 使团队能够做出自己的决定并从错误中学习。 拥抱不确定性。...代码测试覆盖率可及早发现错误,并确保用户对应用程序感到满意。代码测试框架有助于编写测试,而代码质量建议工具则有助于提高代码质量。
最终的项目在Github上可用,并具有以下特点: 1.一个简单的性能监控代理 2.基于Express和MongoDB的测试应用程序 介绍 在生产中运行Web应用程序时,性能很重要。...缓慢的Web服务器提供了降级的用户体验,并可能威胁整个公司的业务。 为了充分了解Web应用程序如何在生产环境中运行,负载测试是不够的。...如果我们专注于我们的应用程序的一个更小的版本: 我们可以通过重写Cat.find方法来监视在MongoDB中花费的时间: 在这个代码中: 1.我们提取Cat对象的原型。...来调用原始方法(这里引入apply和arguments) 当我们启动进程并在浏览器上输入http:// localhost:9090 / cats时,控制台显示: 但是,这个补丁会有几个问题: 1.我们不知道哪个...Bonus: Viewer 由于我们的代理正在生成JSON输出,所以我们应该能够以更加用户友好的方式显示时序数据。
本文将探讨CI(持续集成)/CD(持续部署)流程中的各个阶段;以及从快速、规模交付的视角探讨为什么CI/CD流水线对于我们的组织是必不可少的。...因此我们首先需要了解CI/CD流程中的各个阶段,以及从快速、规模交付的视角探讨为什么CI/CD流水线对于我们的组织是必不可少的。...此阶段可帮助避免生产中的错误。根据构建的大小,此检查可能持续数秒至数小时。对于由多个团队提交和构建代码的大型组织,这些检查在并行环境中运行,以节省宝贵的时间并尽早将错误通知开发人员。...测试人员(或称为QA工程师)基于用户描述的测试用例和场景设置自动化测试用例。他们执行回归分析、压力测试来检查与预期输出的偏差。测试中涉及的活动有完整性测试、集成测试、压力测试。这是一个高层次测试方法。...如果生产中出现任何问题,将通知利益相关者以确保生产环境的安全性和可靠性。此外,监视阶段可帮助组织收集有关其新软件更改如何为收入贡献的情报,帮助基础设施团队跟踪系统行为趋势并进行容量规划。
本文将探讨CI(持续集成)/CD(持续部署)流程中的各个阶段;以及从快速、规模交付的视角探讨为什么CI/CD流水线对于我们的组织是必不可少的。...参与者:测试人员、QA 技术:Selenium,Appium,Jmeter,SOAP UI,Tarantula 过程:发布构建过程后的一系列自动测试将验证代码的准确性。此阶段可帮助避免生产中的错误。...测试人员(或称为QA工程师)基于用户描述的测试用例和场景设置自动化测试用例。他们执行回归分析、压力测试来检查与预期输出的偏差。测试中涉及的活动有完整性测试、集成测试、压力测试。这是一个高层次测试方法。...CD:Bake Baking是指在生产时使用当前配置从源代码创建不可变的镜像实例。这些配置可能是数据库更改和其他基础结构更新之类的事情。...如果生产中出现任何问题,将通知利益相关者以确保生产环境的安全性和可靠性。此外,监视阶段可帮助组织收集有关其新软件更改如何为收入贡献的情报,帮助基础设施团队跟踪系统行为趋势并进行容量规划。
流量——让你知道某项服务有多忙或“有需求”。通常用每秒对服务的请求数来衡量。 错误——请求失败的数量。通常与总流量相结合来生成一个“成功率”——成功请求与遇到错误请求的比率。...如果仔细观察下面的命令,你将看到我们实际上是在向应用程序添加linkerd(我们称之为“注入”),然后将应用程序部署到Kubernetes。(如果你想知道这是如何工作的,请查看我们的文档[9])。...当我们的应用程序使用许多相互通信的微服务时,跟踪是一个很好的工具,可以用来调试缓慢的请求,并找出哪个服务是瓶颈。...Tap是在生产中调试Kubernetes服务[14]的强大工具。 最后,应用程序日志当然是开发人员在怀疑某个特定进程不正常时首先要做的事情之一。...一个服务网格在分布式跟踪方面最终只能做这么多: https://linkerd.io/2019/08/09/service-mesh-distributed-tracing-myths/ [14] 在生产中调试
如果你对如何以及为什么建立这些工具、基础架构和流程感到好奇,那么本文正适合你。 基础架构即代码 通过Tungsten Fabric提供用于配置网络的API,我们现在有机会自动化应用程序的网络需求。...为了使构建和部署具有可重复性,应对应用程序及其环境的每个部分进行版本控制和审核,以便知道谁更改了内容。这意味着不仅要在源代码管理中拥有应用程序代码的每个版本,并且还描述了其环境并将其版本化。...收到新的玩家连接后,我们将在交换机中执行哈希计算,以确定性地计算出哪个服务器接收了流量。哈希基于数据包头中的IP地址和TCP端口值的组合。...全套测试更加耗时,更具破坏性(我们宁愿中断系统并立即开始学习,而不是在生产中学习),并且比基本测试还要复杂,因此我们运行全套故障转移测试的频率并不高。...如果我们在生产中遇到无法预见的问题,而故障切换测试中没有发现该问题,我们会将该测试快速添加到套件中,以确保不再发生类似情况。我们的目标始终是尽早发现问题,越早发现问题,就可以越快地解决它。
故障排除意味着当警报触发时,你必须筛选日志,寻找“大海捞针”,以确定问题的根本原因。通常,这意味着依赖“机构知识”——谁最了解我们的系统,以前见过这个问题,并且知道如何解决它?...例如,在 2020 年之前,谁能预见到一场百年不遇的流行病,会对美国经济造成重大打击? 应用程序开发中潜在错误的长尾与此类似,这就是为什么在 2024 年,仍然很难预见和防止生产中断的原因。...在应用程序开发上下文中,完全理解和预测所有可能出错的方式是不可能的。 建立了复杂的可观测性实践的大型组织可能能够在这些条件下蓬勃发展。但是,对于运营资源有限的中小型组织呢?...对于任何构建创收软件的人来说,卓越的性能(速度和可靠性)至关重要,无论规模大小。 人工智能作为可观测性“副驾驶” 如上所述,在生产环境中,许多导致生产中断的原因可能只发生一次。...在此用例中,人工智能算法 可以识别不同时间范围内的正常活动——从几个月到几周,甚至到个别天——并在异常情况出现时发出标记。
我们希望有某个地方可以快速查找问题的原因:哪个维度没有同步,是什么导致了你的播放错误。...我们有数以万计的实例,所有这些实例在发送指标。一旦出现问题,我们应该知道哪个指标最有用,哪个是我们应该关注的指标。我们必须保持一个高信噪比。 克服挑战 应对这些挑战的第一步是要有专家。...它的第一个组件捕获阈值和SLAs。我们有数千个微服务,我们如何知道哪个服务需要第99个百分位的延迟?...我们创建集群并确保它采用了正确的配置,有正确的版本和有内置的最佳实践。 在CDE服务之前,联系信息只保存在系统外部。对于每个应用程序,我们需要知道该联系谁,要通知哪个团队。...我们比较前后两次的基准测试来查看升级是否已经引入了回归或已经引起了增加时延的问题。这有助于在生产中出现很多问题之前就调试它们。当这个特别的比较暴露问题时,我们从不升级。
领取专属 10元无门槛券
手把手带您无忧上云