最近看了一些这方面的文章,其实DevOps和微服务这个概念与已经在很早句被提出了,但是在实际落实中中小型公司一直没有 ,但是在一些大型公司和大型系统中很常见。
先理解一下概念:DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。我的理解是 devops 跟像是一个软件管理过程,通过有效的方法 和管理实现高效软件相关人员的效率。把开发 运营 支持 很好的融合起来,devops要求各软件相关人员在项目中紧密协作。
DevOps生命周期可以大致分为以下阶段:
1.持续发展 这是DevOps生命周期中持续开发软件的阶段。与瀑布模型不同的是,软件可交付成果被分解为短期开发周期的多个冲刺,开发并在很短的时间内交付。这个阶段涉及编码和构建阶段,并使用Git和SVN等工具来维护不同版本的代码,可以转发测试的QA
2.持续集成 这是现有代码和新代码的融合,功能的不断增加使软件变大,如何平滑连续的过渡,代码更新保证正常, 以及对以前代码的影响,代码的更新中我们可以使用jenkins
3.持续测试 在多项目项使用自动化测试工具并行测试,使用docker搭建生成测试环境 部署代码,测试通过 代码真整合 使用像Selenium,TestNG,JUnit等自动化测试工具
4.持续监测 检测的实现 主要为两部分 A.码运行的监控 这个在bug 出现的时候 快速排查问题 这个可以时运一下开源的日志库 写日志到 监控平台中 比如ELK B.部署环境的监控 常规服务器监控等一些,可以使用zabbix 等其他
5.持续部署 部署代码 在devops中把代码拆成一个微服务 部署到每个容器 拆的越多 部署难度增加 这里就需要自动化部署工具 注意在每个微服务的配置可能不通 要做好集中配置的设置
网友评论