当前位置: 首页 > 科技观察

OpsDev时代已经到来!_0

时间:2023-03-14 09:41:13 科技观察

在最近于旧金山举行的WWDC(苹果全球开发者大会)大会上,开发者、最终用户、投资者、分析师和竞争对手都渴望知道苹果(AAPL)如何保持其在手机市场和市场的领先地位分享。发布会上没有令人兴奋的产品发布,苹果股价居然下跌。然而,一个共同的主题在不同的会议上被多次提及:用户体验。苹果不断调整其所有产品和应用程序,让拥有多个苹果产品的用户在从一个产品或应用程序切换到另一个产品或应用程序时可以有类似的体验,降低用户使用新产品的门槛。苹果注重用户体验,而不是产品的某些功能或某些说明。苹果善于思考用户体验。当他们的竞争对手通过宣传相机的高分辨率和新智能手机处理器的强大功能来吸引客户时,他们向用户展示了通过iPhone拍摄的美丽而鼓舞人心的照片。照片而不是手机的任何技术细节。我们都知道,现在大多数人都离不开智能手机,很多以前需要花很多时间才能完成的事情,现在都可以很快完成,因为很多信息在手机上点击几下就可以获取。例如,在我没有智能手机之前,我想在一个陌生的小镇找个好地方吃饭。我曾经想过这个地方谁去过,然后看他推荐什么。如果没有人来过,我到酒店问问那里的服务员。这意味着即使我极度饥饿,我也必须先去酒店才能吃饭。在离开机场之前,我还必须在谷歌地图上获取前往酒店的路线,然后才能登上前往酒店的飞机。但是今天,我只要拿出我的iPhone打开Yelp,我就能找到我想去的餐厅。然后我可以通过Waze找到去餐厅的路线,更方便的是,Waze还推荐绕行路线,因为通常最近的路线最堵。然后我可以使用OpenTable在去餐厅的路上预订座位。今天,苹果正在思考如何让我们的生活更有效率。从上面的描述可以看出,为了在一个陌生的小镇找到好吃的地方,我需要打开很多不同的app来完成一系列的事情。Apple设想有一天我可以通过他们提供的服务做同样的事情。无需打开那么多应用程序。这一愿景需要一种新的产品或服务设计模式,任何想要加入Apple服务以提供个性化用户体验的公司都必须考虑OpsDev而不是DevOps。接下来我会解释为什么。进入OpsDev时代,想象一下我们正在为一家机械公司设计一款智能冰箱。用户体验大致是这样的:当你开门上车时,智能冰箱会通过手机通知你去超市买东西。它会给你三个选择,第一个超市离你最近,但是没有你喜欢的冰淇淋;第二家超市需要多开车10分钟,但是你可以买到你购物清单上的所有东西,还有你喜欢的所有品牌;***超市多开15分钟,除了你想要的应有尽有,还会送你一些优惠券,可以省下12美元。一旦你选择了你想去的超市,你车内的多媒体系统就会为你提供最佳路线。企业要想提供上述完整的用户个性化体验,需要整合所使用的数据和服务,包括智能冰箱提供的食品清单、连锁超市的库存数据、食品企业和连锁超市的优惠券信息、流量和地理位置信息。这些数据存储在不同的数据中心,由不同的提供商提供。为了获得这些数据,您需要使用不同的证书、不同的流程和不同的API。这种个性化服务的设计者必须了解不同数据源和服务的SLA(服务水平协议,servicelevelagreement),因为综合服务如果不能及时获取正确的信息,会影响用户体验。作为零售商,您不希望最终用户多开车15分钟才发现他们想要的商品已售罄,而且他们比预期多付了20美元,因为优惠券无效或需要买一个替代品。如您所见,提供这种个性化软件服务需要转变传统的设计模型。DevOps倾向于从开发人员主导的挑战(例如代码审查、代码标准、构建管理和持续集成)开始,运维人员只有在应用程序投入生产时才会参与。OpsDev则相反,只有了解不同数据源的相互依赖性和可用性,我们才能设计组件并将它们连接在一起。此外,智能冰箱软件不断更新,提供不同类型数据的新传感器。个性化服务软件必须不断获取新型数据以提供不同的个性化服务,软件更新的频率取决于它所依赖的其他服务。因此,设计人员必须开发一个自动化系统,用于获取依赖服务更新的通知并立即分析服务的哪些组件受到这些更新的影响,以及决定何时更新个性化服务以同步依赖服务。什么是OpsDev?OpsDev指的是在正式开发应用程序之前,首先要了解不同组件的依赖关系并进行建模。此外,必须优先考虑基本服务稳定性、环境建模、安全性和审计/合规性措施。应用程序组件是存根,它们不一定是最终形式。其次,必须对组件在生产中部署的环境进行建模。此外,将不同组件部署到目标环境的过程必须尽可能自动化。通过这种方式,设计和开发团队可以以一致的方式复制应用程序和环境模型,并在开发和测试阶段自动化部署过程。通过在开发和测试阶段简单地复制生产环境和部署过程,设计、开发和测试团队可以及早了解生产环境的约束和参数,从而在开发时充分考虑这些约束和参数。应用。使用传统模型,大量的时间会浪费在排查QA部门在staging环境(译者注:Staging,正式进入生产环境之前模拟生产环境的阶段)或生产环境中发现的问题上。很多时候,由于环境因素略有不同,部署被取消,并且经过验证的应用程序将无法部署到生产环境中。此外,借助OpsDev,您可以使用版本发布管道工具来编排应用在开发、测试、模拟和生产环境中的部署。这不仅可以通过自动化和并行化加速不同环境中的整体部署过程,还可以减少容易出错的手动任务。提高综合素质。发布管道工具由多个提交管道组成。提交管道是一个独立的应用程序管道,用于编排持续集成和持续测试。一个版本可能包含由不同工程团队开发的多个应用程序,每个应用程序可能有自己的提交管道。集成来自不同团队的不同应用程序提交管道构成了发布管道工具。发布管道工具了解应用程序的相互依赖性,并能够将应用程序编排到暂存和生产环境中。发布管道工具使用手动和自动批准方法来确保发布得到批准并且部署过程是正确的。使用OpsDev,发布管道工具可以集成ITSM(InformationTechnologyServiceManagement,IT服务管理)和APM(applicationperformancemonitoring,应用程序性能监控)解决方案。发布管道工具通过将要部署的应用程序的电子清单发送到ITSM服务台来寻求批准并打开更改请求。在ITSM服务页面,IT服务总监会看到应用即将部署的通知,然后进行审核和相应的审批流程。当IT服务主管批准后,ITSM会向发布管道工具发送一个信号以进行部署。成功部署后,发布管道工具将通过更新变更请求的状态通知ITSM应用程序已成功部署。发布管道工具也可以与APM解决方案集成。发布管道工具在模拟环境中部署应用程序,然后通知APM监控性能和负载测试。APM报告应用程序是否满足SLA,如果满足,应用程序可以继续部署到生产环境。否则,发布管道工具会终止部署并警告应用程序未满足目标SLA。在生产环境中,APM可以监控事务、性能和负载。当达到一定阈值时,APM会通知版本发布流水线工具在数据中心部署更多的应用,以增加服务容量。当收到来自APM的请求时,发布管道工具将创建一个更改请求给ITSM,当ITSM批准后,它将部署更多的应用程序以提供更多的服务能力。当服务容量过大时,APM会通知版本发布流水线工具关闭部分服务,为其他服务留出资源。众所周知,物联网和基于移动应用的用户体验的不断扩展,企业已经不能再使用传统的开发模式来开发产品,因为SaaS服务和应用组件(设备软件、数据中心软件、移动应用和Web应用))是相互依存的增强功能构成了单一且有凝聚力的用户体验。苹果通过鼓励开发者首先考虑用户体验,提供完整的苹果个性化服务,这一改变让我们的生活变得更有效率,这也将加速DevOps向OpsDev思维的转变。