关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

云平台下架构有什么区别及不同点呢?

发布时间:2019-04-10 22:34:39

毫无疑问,现在是云计算时代,前文也阐述了云计算不仅是一种IT资源的使用方式,而且已经演变成一种生态,它不仅会对软件开发人员的开发流程带来一定改变,更重要的是会为软件架构设计带来深刻影响。二者相互结合,也将导致对整个产品的上线和迭代速度产生连锁反应,比如云计算使得开发者无须再关注硬件资源,使得交付流程更快。然而,又可能由于依赖云服务厂商的技术稳定性不一样,所以在架构设计的时候要更多考虑到云的特性来满足非功能需求。2013年微服务的呈现到现在非常火热的场景刚好和云计算的发展一致,有些人甚至认为它就是云服务时代的产物。如何基于“云”做软件架构设计,或者如何让自己原来的软件架构能迁移到“云”上,本书给出了原理和初步的方法,相信能给读者带来一些启示,我们先来总结一下云计算对技术人员的影响。

4.jpg

开发模式的区别

开发人员和测试人员之间传统的开发人员在本地开发或测试完成之后,还需要重新上传到服务器端进行环境的安装、搭建和调试,在最后上线时又要重新做一次之前的工作,整个流程不仅烦琐,而且容易出错;除此之外,测试人员也会对测试的内容质量没有完全的把握,因此不能完全保证所有的运行环境完全一致,容易产生沟通矛盾等问题。

开发人员和运维人员之间

一般来说,产品经过开发测试之后,常常会分发到各阶段流程中,即产品上线。上线的流程通常包括资源申请、系统安装、环境配置等,有些可能包括容量规划、资源申请与审批、工单申请和反复沟通等,即使是在使用虚拟机的阶段,也需要有一个过程。根据权威的调查报告,一般虚拟机的创建时间最长不超过15分钟,然而业务上线却要长达2到3周,整个流程非常缓慢。4.jpg

图 1-1中,基于物理的开发流程要经过业务需求、采购审批、安装机器、软件安装到应用部署5个步骤,基于虚拟机的开发流程只要经过业务需求、软件安装和应用部署3个步骤,相对来说流程有几步优化。但是实际上由于软件安排、升级的依赖性,团队仍然需要大量的时间去做基础的重复劳动,效率提升不明显。基于以应用为中心的模式只需要从业务需求到应用部署2个步骤,把第二种开发流程中烦琐的软件安装通过自动化的模式来完成,保证了软件环境一致性,减少了系统依赖的风险,同时开发人员只要聚集在应用上,其他由基础设施服务一键完成,大大提高了软件的生产效率。



1.2.2 交付模式的区别

开发人员或者架构人员在完成应用的开发测试后,还要编写对应的文档来和运维人员描述系统的部署架构,但是开发人员和运维人员对技术的理解存在不一致,同时对业务的理解也不一样。我们不可能让运维人员重新学习相关的业务知识,让他们完整理解整个业务的架构又相当困难,毕竟运维人员不像开发人员一样能理解整个产品的需求和开发过程,而且他们同时还可能兼任各个产品的运维任务,没有那么多精力来完全了解整个业务架构。因此整个发布流程是中断、有隔离的,并不流畅,如图1-2所示。

5.jpg

除此之外,无论大小公司,还存在运维人员人力招聘、成本预算等问题,由于这个问题和本书的主题关系不大,对应的背景和上下文在此就不再详述。总之,无论在创业型的互联网企业,还是在传统的互联网+企业,甚至是大型的互联网企业,都希望能够进行比较流畅的开发测试上线的流程体验。最后,从开发到测试再到上线及监控反馈,整个过程应该能够不断反馈和螺旋上升,如图1-3所示。因此,为了解决相关的问题,除了流程、组织、工具等需要培养之外,既需要技术人员在实现软件开发和交付模式的转变,也更需要在技术上关注架构的调整来满足软件的架构需求作保证。



/template/Home/Zkeys/PC/Static