瀑布式开发

瀑布式开发是一种老旧的、正在过时的开发模式,基本流程是 需求 → 设计 → 开发 → 测试 ,以整个项目为单位进行。

当产品研发完成后, 在产品测试阶段发现重大问题 ,或者发现其无法满足市场需求, 那么就需要重新开发,甚至需要重新规划产品,风险较大,项目失败率比较高。

 

敏捷开发

以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发,增量开发,阶段性交付,期间可以根据用户、客户的返回进行调整、完善,有效降低了风险。

在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

在这里插入图片描述
在这里插入图片描述

 

Devops

DevOps:Development + Operations,是一组过程、方法与系统的统称,用于产品、开发、测试、运维、质量保障(QA)部门之间的沟通、协作,可以把DevOps看作开发、技术运营、质量保障(QA)的交集。
 

devops对应用程序发布的影响

  • 一站式闭环研发管理,便于各研发部门间的协调,降低项目管理成本
  • 提供高效的代码审查
  • 自动化构建、部署

在这里插入图片描述

 

DevOps与CI/CD

CI/CD是实施开发运维的常用方式,在应用的整个生命周期内(集成、测试、交付部署)都引入了持续的自动化、监控,能够快速发现问题、缺陷,大大减少了人工干预。

  • CI:Continuous Integration 持续集成,属于开发人员的自动化流程,提交代码更改时自动化构建,检查代码规范,测试,并合到svn、git等共享存储库中。
  • CD:Continuous Delivery|Deployment 持续交付|部署,自动将生产版本的代码发布到代码存储库,自动部署到生产环境。

DevOps、CI/CD只是一个理念,各公司的devops实现往往有差异,CI/CD的自动化程度也不一定相同。

 

DevOps与k8s

DevOps可以集成k8s,CD阶段自动化部署到云平台。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐