今天给大家分享的题目是云端研发如何加速软件生产力变革这样的一个议题。我会跟大家分享一下目前在云和大数据时代的软件交付趋势。第二部分主要讲一下软件开发云解决方案。第三部分,是开启云上开发之旅。
随着云计算和大数据的发展,现在云已经成为软件普遍的承载方式。据资料统计,到2020年,云基础设施的投资,将占总投资的一半。将来我们会把应用布局到云上,这样的趋势越来越明显。第二个方面,随着市场和客户的期望,也要求我们加速软件生产力的变革。
我们主要从七个方面,软件的产业链、研发模式、研发场景、编程语言、软件架构、研发工具、交付形式。接下来,我们会从几个方面主要介绍一下。对于软件产业链,现在开放、协同、供应来打造整体的竞争优势,对于产业链的发展越来越重要了。华为为什么要举办开发者大赛?实际上,也是在打造产业链的一个态势。大家可以想象,我们在软件行业中会涉及到方方面面,研发的资质能力,产品标准、工具,还有其他的一些信用等各方面。我们围绕这些,我们有不同的机构参与其中。有软件的需求方,有软件的提供方,还有一些培训方,还有我们的高校,很多机构都在参与这个产业链。软件需求方和提供方之间如何更好的协作?特别是跨地域的协作?软件园孵化器怎么向软服务转型,整合在园企业的优势呢?第三个是如何更好地评估并展现软件企业、垂直行业、软件产业的整体竞争力?
比如我们大连,比如智慧城市的垂直产业,我们如何把产业内的竞争力整合起来,发挥更大的优势?这是我们面临的问题,我们也需要一种平台或者一种管道,来帮助把软件产业链整体的优势发挥出来,使得我们软件的需求方、提供方和园区之间,甚至包括和行业组织之间形成良性的互动,形成竞争的优势。
大家知道,我们现在有了一种敏捷的方式,现在还有精益和Devops的研发模式,更好地实现交付,更好地满足客户的需要。但是现在大家逐渐注重DevOps的方式,更好地满足客户的需求。未来如果有机会,我们需要将开发云维和部署进行打通,实现良性的互动。实际上需要一些先天的条件,就是有这样环境的支撑等各个方面,都需要进一步地整合,真正地实现协同开发的模式,向Devops转型,现在是技术和业务两方面来驱动,才能逐渐成为现实和可能。
还有编程语言的发展。现在的语言越来越多,Go语言等等发展迅速。在我们的项目当中,多语言混合编程已经成为一种常态。基本上我们在一个项目当中,可能都会用到两三种语言,都是比较常见的,因为每种语言都有自己的优势和不足,我们要根据自己的业务场景来选择合适的语言来完成这项工作。编程首先是对我们团队的能力提出了要求,对我们研发的工具也提出了很多的要求。我们现在和大连的很多企业进行了一些交流,发现有一些企业用到了四五种编程语言的现象。所以这是比较常见的情况。
还有就是软件架构的发展。我们原来可能是单体的架构,现在向原生应用的架构发展,现在向微服务化的方向发展,弹性进行更好的收缩,节省资源,预留未来的灰度发布。有了这样一些支撑以后,我们Devops的反馈会更加好,所以这些技术都是相辅相成的。
在我们研发的过程中,我们肯定离不开工具的支撑。原来大家会应用到一些工具,大家可能通过开元的,有些工具是比较孤立的。但是随着云的发展,工具也向着新的方向发展,包括轻量化,能不能在外面直接完成这样的一个开发。包括服务化、社交化、容器化和智能化。除了我们常用的一些工具之外,我想肯定离不开另外的工具,包括微信等等,未来的一种社交化的工具也是对我们的开发带来很大的便利。
关于交付形式。在软件开发测试的周期,开发和测试相比运行的周期来说非常的短暂。我们怎么更好地去做这种运维?从开发测试环境到类生产环境,到生产环境下,如何更好地使用?要求软件交付必须标准化。整个的部署使我们在不同的云之间进行迁移,这是我们需要做的,可以降低我们整个运维的成本。
所以说面临着这样的一个发展的趋势,不管是工具还是开放协作,还是社交化,还是一些交互架构的发展,华为也结合近二十年来研发的经验,打造了一个软件开发云,想为开发者提供一个云上的服务,让大家很容易就可以在云上完成项目管理、代码托管、代码检查、编译、构建、测试、部署、发布这样一个覆盖全生命周期的一项工作。
总的来说,华为的解决方案是这样的。除了我刚才介绍的八大工具之外,我们还会跟业界的主要厂家和合作伙伴来打造这样的一个原发的生态,也会逐渐 地打造面向互联网+、移动端等领域的方案。实际上,大家可以看到在这个领域,很多都是国外的公司,也希望未来我们国内的公司也可以把自己特有的研发工具提供上来,打造这个平台。
在垂直的领域,包括教育行业做这种垂直领域的,可能也是利用互联网+和互联网的技术,我们是不是可以研究出一些特色的方案,最终提供给其他的客户,这样形成开放协作的生态,提高大家总体的研发实力。
关于软件开发云的使用场景。整个的服务是部署在华为的企业,我们向移动客户端也提供了一些API的服务,后期也会开放出来,让大家打造自己的工具。
关于软件开发云的核心特性,我就不仔细讲了,我们在使用的过程中,可以做进一步的交流。
下面简单介绍一下几个主要的服务。项目管理,目前我们还是敏捷化的开发模式,现在有社交化的协作,大家可以通过社交化的协作来完成需求。我们还会加强社交化协作的功能,打造好这个平台。
关于项目管理,我们要提供多维度的看板,让大家实时掌控。关于代码工具,我们除了提供跨区域的协同之外,在安全方面,我们华为也做了很多工作,确保大家在云上的安全。包括一些安全协议,包括对IP白名单的控制等等,大家可以放心。
关于流水线,通过我们的构建,可以实现混合语言并行的构建,现在支持主流的版本。通过并行构建,大家可以实现相关的单元测试等等一些工作,非常方便。大家在研发的过程中,可能会非常关注代码质量的问题,因为我们及时地发现代码质量问题,它的修改成本非常低。我们现在也提供了代码检查的一个服务,现在已经内置了一些检查的规则,大家可以对开发语言进行检查。大家如果内部有一些检查标准的话,我们未来会把这个平台开放出来,让大家把自己的规范集中到这里来使用。
做完开发以后,我们不可避免地会遇到测试的问题。***步,我们肯定会对用例进行管理,我们现在已经提供了以测试为核心的测试管理的能力。随着产品的演化,我们未来会提供更加安全的测试,使研发的过程更加方便。
打造“一站式”服务体验,助力开发者将业务创新快速变现。通过跟华为企业云的应用,甚至应用市场,还有弹性大数据的服务,来打造一站式的服务体验。这样大家就可以通过云计算,拉一个团队,在云上就可以实现业务的创新和交付。大家可以自己在家里办公,舒舒服服地就把我们的业务交付了。这个可以延伸到大家运营的成本包括数据的备份,给大家解决了安全可靠的后顾之忧。
为什么选择华为开发云?我不详细为大家介绍了。未来我们一起在使用华为软件开发云的过程中,大家可以慢慢体验,包括工具本身的使用和未来的发展,我想大家逐渐会体会。
我讲完了刚才的一些趋势以及软件开发云的特性,因为这次还是要支撑华为开发者大赛,我把软件开发云的具体使用跟大家介绍一下。因为这里有一些关于云计算的新的词汇或者概念,大家开始接触的时候可能会比较困难,我稍微介绍一下,大家回去可能会降低学习成本。
***步是要拥有华为企业云的网页帐号和免费的使用资格。大家注册华为企业云的帐号,申请免费使用的资格,在企业用户下,把相关的用户添加进来,就可以使用华为软件开发云的相关服务了。我特别说明一点,关于华为企业云,包括很多业界的租户和用户的概念,大家可以这样理解,租户对应一个企业、一个团队或者个人。当我在注册完成以后,我就成为了华为企业云的一个用户,那么注册的人就成了根用户,可以实现各个层面的管理。团队的其他人都可以创建相应的用户。
那么在登陆华为企业云的时候,大家可能分不清。跟客户交流的时候,遇到这样的情况。根用户登陆的时候,可以直接用根用户的帐号和密码,就可以登录了。那么其他的用户登陆的时候,一定要使用根用户的帐号和用户的帐号,这是两种不同的形式,大家可以切换一下。
第二步,有了帐号以后,我们就要管理软件开发云的相关服务。这里包括我怎么购买这个服务。目前是免费的,购买一些服务,包括开通。这需要登陆软件开发云的管理控制台页面,完成相关的开通等服务。左侧是提供给根用户的登陆页面,右侧是提供给其他用户使用的,大家注意一下就可以了。
在购买管理或者服务的时候,大家一定要选用“中国东北区1”,就是在我们大连。因为我们这是面向企业推出的服务,所以会涉及到一些费用。我们要购买项目管理服务的名额以后,才能使用项目管理的服务。大家登陆控制台的页面,就可以实现分配,赋予服务的权限也是可以的。在云计算的平台上,大家使用的时候,一定要注意选中国东北区,一定要注意,包括使用亚马逊的平台,也涉及这种情况。
我们已经有了账号了,并且购买了服务了,那么接下来我们就去使用这样的一个相关的服务。比如,首先使用项目管理的服务,我们推荐的路径是大家登陆华为官网以后,登陆到管理控制台,一定要点中国东北区,就可以到页面使用了。
管理控制台的概念,就是实现服务资源的管理。在使用服务资源的时候,有不同的方式。比如可以通过NEC的方式来登陆,也可以通过IaaS的方式。创建项目的时候,一定要确保具有相关的权限。那么权限和用户的管理,是在统一认证的服务当中完成的,也就是华为的IaaS。第二步是我要在这个项目里添加成员,不是企业所有的人员,是项目里进行管理的人员。接下来,如果大家有迭代的话,可以有里程碑的管理,创建里程碑,进行一些事物的管理,包括需求、任务等等。我希望大家在运用的过程中,不断地提出意见和建议。
接下来,我们创建了需求以后,就要进入开发的阶段。大家非常关注代码的托管功能。我们首先要创建仓库,创建仓库以后,到底谁能访问?因为不是所有的成员都可以访问仓库,所以大家可以在仓库这个地方进行成员管理,授权哪些人员可以访问,只有有了授权以后,他才可以上传代码。上传代码的时候,我们提供两种方式。设置完了之后,大家可以通过客户端进行代码的上传或者下载相关的工作。整个过程,大家觉得还是比较方便的。
目前来看,我主要介绍了一下相关的管理和配置管理,也给大家提到了关键的点。比如租户是什么,根用户是什么,用户是什么,如何登陆,包括权限的控制等等,包括使用的一些方法。因为时间的关系,我不就不再介绍了。我们大连有30多个人组成的团队,如果大家有问题,可以为大家现场提供一些帮助。
我给大家介绍到这里,希望大家在参与华为开发者大赛的过程中,能使用开发云的软件,更加专注于进行业务的创新,也预祝大家获得开发者大赛的奖项。谢谢大家!
【责任编辑:李想 TEL:(010)68476606】