加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

初创公司技术困境:弹性部署与详尽测试

发布时间:2019-11-04 17:25:10 所属栏目:优化 来源:足下编译
导读:副标题#e# 作为一家初创公司,构建软件要坚持创新,要有吸引力和竞争力。因为,市场在不断变化,新的需求也在不断出现。 从软件角度来说,要保持这样的优势就意味着必须尽可能缩短文档和开发阶段所占的时间。当然,保持软件的弹性也很重要,提供优秀的服务

测试环境只包含供内部使用的集群。出故障时只影响公司内部员工。准生产环境包含面向外部大众用户项目的搜索集群。生产环境包含我们客户的集群。安全环境包含我们最重要的 SLA 客户的集群。根据部署策略,我们通过使用多个不同的环境来降低风险。也就是说,我们会先在对客户影响最小的集群上进行部署。

除了不同的环境,我们还利用了三份复制这个特性,制定了如下的 12 步部署流程:

先部署到测试环境的所有三个节点上;部署到准生产环境的第一个节点上,再部署到生产环境的第一个节点,再部署到安全环境的第一个节点上;观察一天;部署到准生产环境的第二个节点上,再部署到生产环境的第二个节点,再部署到安全环境的第二个节点上;再观察一天;部署到准生产环境的第三个节点上,再部署到生产环境的第三个节点,再部署到安全环境的第三个节点上;第一步可以帮我们发现分布式系统内部的处理集群里,节点之间交互的代码问题。

接下来一个节点一个节点的部署,可以帮我们确认集群内部是否可以同时支持两个不同的版本,以及代码是否足够稳定。

为什么在部署节点的过程之中有两次要观察一天呢?因为这样可以让我们有充足的时间发现性能问题、数据问题或需要长时间运行才能发现的问题。到这一步时,我们就已经解决掉大部分问题了。接下来的部署步骤只是帮助我们发现一些可能的未知缺陷。

每当发现新问题时,我们都会立刻将新版本代码回滚。这样我们提供的服务就可以恢复到一个稳定的状态,我们也可以有充足的时间去修复问题,并增加相应的测试用例。

使用了这样的方法,我们的测试用例集就是客户的真实使用场景。这样效率就非常高了,我们可以每周都发布新版本,满足客户的需求。尽管我们的代码量已经非常庞大,我们仍然做到了这一点。

好比完美更胜一筹  

初创公司的生态环境是相当严峻的。小团队要找到高效的方法,打造出比大公司的大团队更好的产品。

定期发布新功能的重要性,不亚于有着良好用户体验,可以满足用户需求的稳定产品。选择做足够的测试还是选择有足够的测试覆盖率并可以定期发布?对效率的需求逼着我们在这两者之间找到了一个中间的平衡点。

在增加新测试用例时你必须特别小心,因为要消耗的时间太多了:要花时间去写、去维护和运行。那你知道什么时候该写测试吗?90-90 法则适用于这种情况:测试一个功能 90% 的内容是非常容易而直接的,再测试剩下的 10% 会花费相同的时间。所以根据客户的使用情况来处理这剩下的 10% 非常重要,不应该追求完全的覆盖率。

为了降低风险,请多花些时间对软件和基础设施进行设计,让它们可以支持在生产环境进行测试,并把对客户的影响限制到最小。

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读