【7天玩转研发协同实战营】学习笔记--Day01

真爱无敌 发表于 2020/02/24 16:43:36 2020/02/24
【摘要】 华为云软件开发平台(DevCloud)是集华为近30年研发实践、前沿研发理念、先进研发工具为一体的一站式云端DevOps平台,面向开发者提供的云服务,即开即用,随时随地在云端进行项目管理、代码托管、流水线、代码检查、编译构建、部署、测试、发布等,让开发者快速而又轻松地开启云端开发之旅。

image.png



★首先给大家附上本次的课程大纲

173757mqfhkkroa6zadgoq.png

★讲师风采

171608jiiuzioitozmtqah.png

171613mu8d9bozxbpzeadj.png


★Day01:DevOps协同研发实施框架

课程目录:

  • 为什么敏捷开发才是做软件的正确姿势?

  • 研发管理到底需要管理些什么?

  • 敏捷和DevOps是怎样的关系?

  • 研发效能提升的2大 法宝


一、什么是软件的生产制造过程?

以汽车生产为例来说明什么才是软件的生产制造过程。

image.png

二、敏捷让我们重新定义管理!

传统项目管理思维建立在目标确定的前提下如何向既定目标执行的问题。

敏捷项目管理更加关注在目标/价值和质量不断变化的状态下如何平衡投入和产出的问题。

image.png


三、传统开发 vs. 敏捷开发  -- 到底在比较什么?

1)实际上就是瀑布式和迭代式开发模式的对比

2)软件生命周期:软件从出现到消亡的整个过程(这个过程是不断迭代的)

3)敏捷开发:使得首次发布的时间大大提前!

4)永远不要假设我们的需求是对的!

5)计划不是用来限制变化的,而是用来适应变化的!

    ==>计划本身也是“管理单元”,计划对变化的适应能力来源于计划本身“粒度”的缩小。

6)软件研发是一个复杂过程。

    ==>不要试图用复杂方法处理复杂过程,尝试将复杂过程简化成简单过程,再用简单方法处理简单过程。

image.png


四、研发过程全景图

1)这个研发过程全景图也是参考了CMMI的规范。

2)管理属性和工程属性的衔接点,就是版本管理

    ==>版本管理就是让研发中的任何人都可以用一种简单的语言描述我们在做什么,做了多少,还有多少要做。

image.png


五、案例:南航叫停第三方平台值机的背后:场景之争

使用案例来说明敏捷和DevOps的关系:

image.png


众多行业中谁最需要敏捷和DevOps?

==>强烈依赖IT的非IT行业!

*金融企业的业务人员从来不觉得自己是干IT的

*金融企业的IT人员从来不觉得自己是干金融的

image.png


△敏捷提供创新的大脑,DevOps提供创新的肌肉!


六、研发效能提升的2大-法宝

*忘记敏捷和DevOps,记住“效能”

  所谓效能:就是持续适应市场变化,调整自身价值输出方式和速度的能力。

image.png


七、华为云DevCloud HE2E DevOps实施框架

     集合业界先进理念,华为30年研发经验,可操作可落地的端到端一站式开发方法论和工具链

image.png


八、基于华为软开云和云容器引擎CCE的DevOps流水线(全景图)

image.png


九、全流程演示

  • 【凤凰商城】动手实验故事板--门店网络查询功能上线的故事

       团队业务压力巨大,各种问题频发;亲身体验一个研发团队的持续改进过程。

    image.png


  • 【凤凰商城】业务介绍

      项目包含前端网站页面和后端管理页面。

     【凤凰商城】是一套电子商务商城示例代码。此套示例代码具有结构复杂,逻辑简单,代码量少,技术栈丰富的特点,可以帮助开发者快速学习华为DevCloud的各项特性以及使用微服务进行软件开发,测试和部署过程中可能遇到的各种问题。

  • 【凤凰商城】架构和业务场景

      【凤凰商城】示例程序由5个可以独立开发,测试和部署的微服务组件构成,分别为:

       1)客户端UI服务

          业务逻辑:用户可以通过浏览器访问此服务的WEBUI,并在特定商品上点击Like按钮。服务将用户所选择物品的记录保存在Redis缓存中。

          技术栈:Python,Flask框架

          应用服务器:Gunicorn

       2)管理端UI服务  

          业务逻辑:用户可以通过浏览器访问此服务的WEBUI,会动态显示客户端UI上用户点击Like按钮的统计数据。次数据来自PostgreSQL数据库。

          技术栈:Node.js,express框架

          应用服务器:server.js

       3)工作进程服务  

          此服务为后台进程,会监控redis缓存中的物品记录,并将新纪录取出并保存在PostgreSQL数据库中,以便管理端UI可以抽取数据进行统计显示。

          技术栈:.net core 或者 java(此服务提供2种技术栈实现了同样的功能,可根据需要修改配置选择其中一个作为运行时进程)

       4)Redis缓存  

          业务逻辑:此服务作为客户端UI服务的数据持久化服务存在。

       5)PostgreSQL数据库  

          业务逻辑:此服务作为管理端UI服务的数据源。

       整体技术架构图(一期简装版微服务)如下所示:

       image.png


  • 设计与规划阶段

       image.png

  • 开发与测试阶段

       image.png

  • 持续集成和持续部署

       image.png

       image.png

       image.png

       image.png

  • 完整全景图

       image.png






【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。