首页 > 其他分享 >DevOps 初学者宝典

DevOps 初学者宝典

时间:2023-09-04 09:48:33浏览次数:35  
标签:集成 持续 宝典 DevOps 初学者 交付 自动化 工具

什么是DevOps

随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发—测试—发布)模式已经不能满足快速交付的需求。2009 年左右 DevOps 应运而生,简单地来说,就是更好的优化开发(DEV)、测试(QA)、运维(OPS)的流程,开发运维一体化,通过高度自动化工具与流程来使得软件构建、测试、发布更加快捷、频繁和可

Devops 的好处与价值

在2016 DevOps 新趋势调查报告显示,74% 的公司在尝试接受 DevOps,那么 Devops 有哪些好处与价值呢?

  • 代码的提交直接触发:消除等待时间,快速反馈
  • 每个变化对应一个交付管道:使问题定位和调试变得简单
  • 全开发流程高效自动化:稳定,快速,交付结果可预测
  • 持续进行自动化回归测试:提升交付质量
  • 设施共享并按需提供:资源利用最大化

以上可以看出,DevOps 的好处更多基于在于持续部署与交付,这是对于业务与产品而言。而 DevOps 始于接受 DevOps 文化与技术方法论,它是部门间沟通协作的一组流程和方法,有助于改善公司组织文化、提高员工的参与感。

Devops与持续集成

DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。

纵观各个 DevOps 实践公司的技术资料,最全面最经典的是 flickr 的10+ deploys per day最佳实践提到的 DevOps Tools 的技术关键点:

1.Automated infrastructure(自动化,系统之间的集成)  
2.shared version control(SVN共享源码)  
3.one step build and deploy(持续构建和部署)  
4.feature flags(主干开发)  
5.Shared metrics  
6.IRC and IM robots(信息整合)  

以上的技术要点由持续集成/部署一线贯穿,主干开发是进行持续集成的前提,自动化以及代码周边集中管理是实施持续集成的必要条件。毫无疑问,DevOps 是持续集成思想的延伸,持续集成/部署是 DevOps 的技术核心,在没有自动化测试、持续集成/部署之下,DevOps就是空中楼阁。

 

DevOps 的技术栈与工具链

Everything is Code,DevOps 也同样要通过技术工具链完成持续集成、持续交付、用户反馈和系统优化的整合。Elasticbox 整理了 60+ 开源工具与分类,其中包括版本控制&协作开发工具、自动化构建和测试工具、持续集成&交付工具、部署工具、维护工具、监控,警告&分析工具等等,
补充了一些国内的服务,可以让你更好的执行实施 DevOps 工作流。

  • 版本控制&协作开发:GitHub、GitLab、BitBucket、SubVersion、Coding、Bazaar
  • 自动化构建和测试:Apache Ant、Maven 、Selenium、PyUnit、QUnit、JMeter、Gradle、PHPUnit
  • 持续集成&交付:Jenkins、Capistrano、BuildBot、Fabric、Tinderbox、Travis CI、flow.ci、Continuum、LuntBuild、CruiseControl、Integrity、Gump、Go
  • 容器平台: Docker、Rocket、Ubuntu(LXC)、第三方厂商如(AWS/阿里云)
  • 配置管理:Chef、Puppet、CFengine、Bash、Rudder、Powershell、RunDeck、Saltstack、Ansible
  • 微服务平台:OpenShift、Cloud Foundry、Kubernetes、Mesosphere
  • 服务开通:Puppet、Docker Swarm、Vagrant、Powershell、OpenStack Heat
  • 日志管理:Logstash、CollectD、StatsD
  • 监控,警告&分析:Nagios、Ganglia、Sensu、zabbix、ICINGA、Graphite、Kibana

 

DevOps = Culture + Tools

如果想整个业务部署 DevOps,不但需要软性要求即从上而下的培养 DevOps 文化自上而下地进行探索,也有硬性工具链要求,才能获得更高质量的软件交付。

最后,不论你是技术Leader,还是一名Dev、QA 或 Ops,实现全面的 DevOps 非常理想化也十分有挑战。

标签:集成,持续,宝典,DevOps,初学者,交付,自动化,工具
From: https://www.cnblogs.com/roccn/p/17676075.html

相关文章

  • 连接未来,驱动创新|腾讯云 CODING DevOps 主题沙龙完美收官
    点击链接了解详情近日,由腾讯云COIDNG主办的“连接未来,驱动创新”主题沙龙在深圳圆满结束。活动现场,来自不同行业的研效专家汇聚腾讯滨海大厦,共同探讨了在不断变革的市场环境之下,组织研发效能提升的前沿策略与实践经验。活动上,Agilean首席顾问、腾讯云TVP吴穹作为研效领域......
  • DevOps 运维平台审计开发
    过期提醒过期配置页通知消息:......
  • 《程序员面试宝典》中的一些面试题
    文章目录面试题1--->编程风格问题面试题2--->不用if等判断语句找出两个数中间较大的那个面试题3--->写一个交换两个数据的宏面试题4--->写一个宏返回两个数据中较小的那个面试题5--->char*和char[]的区别面试题6--->临界区,互斥量,信号量的区别面试题7--->网络中常见的ping命令属......
  • .NET 实现Azure DevOps中通过API对工作项的ID列表获取
    前言:最近在做对接AzureDevOps的API的工作,最开始也做了很多调研,官方给的API也是很丰富与完整,但是在对接工作项(WorkItems)时发现,官方并没有给WorkItems的列表或者分页的API,具体原因并不清楚,不过也可以通过id的list去获取工作项的list,id的list就需要通过wiql去获取。这里对A......
  • Stack Overflow开发者调查发布:AI将如何协助DevOps
    StackOverflow发布了开创性的2023年度开发人员调查报告[1]。报告对90,000多名开发人员进行了调查,全面展示了当前软件开发人员的体验。接下来,本文将重点介绍几项重要发现,即重要编程语言和工具偏好、人工智能在开发工作流程中的应用以及这些趋势对DevOps领域可能意味着什么。......
  • Stack Overflow开发者调查发布:AI将如何协助DevOps
    StackOverflow发布了开创性的2023年度开发人员调查报告[1]。报告对90,000多名开发人员进行了调查,全面展示了当前软件开发人员的体验。接下来,本文将重点介绍几项重要发现,即重要编程语言和工具偏好、人工智能在开发工作流程中的应用以及这些趋势对DevOps领域可能意味着什么。......
  • 分享生产项目DevOps CICD流水线解决方案
    一、前言每家互联网业务迭代更新都会有自己的一套DevOps发布上线技术架构体系,不管是采用什么工具都离不开编译、打包、发布、部署等几个环境,随着互联网快速的发展,为了满足企业业务上线需求,大批的技术人员都研发出各种有意思的工具,像我们熟知的Jenkins、Spug等,都为我们互联网公司业......
  • MegEngine 开发者说|SAM 带来的思考与未来,实习宝典,精彩课程干货满满
    你是否需要AI初学者入门级的开源教程?你是否期待和顶尖开发者一起学习,向深度学习领域的大佬看齐?你是否希望通过课程讲解,了解项目实践,掌握深度学习、大模型相关的前沿AI技术?如果你的答案是肯定的,那么「MegEngine开发者说」系列课程正是你想要的!「MegEngine开发者说」是由旷视......
  • 【面试宝典】Git 版本控制常用命令
    一.Git概述Git是目前世界上最先进的分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),包括:代码回溯:Git在管理文件过程中会记录日志,方便回退到历史版本版本切换:Git存在分支的概念,一个项目可以有多个分支(版本),可以任意切换多人协作:Git支......
  • 开源项目分享,实习宝典传授,直播课程报名开启!
    你是否需要AI初学者入门级的开源教程?你是否期待和顶尖开发者一起学习,向深度学习领域的大佬看齐?你是否希望通过课程讲解,了解项目实践,掌握深度学习、大模型相关的前沿AI技术?如果你的答案是肯定的,那么「MegEngine开发者说」系列课程正是你想要的!「MegEngine开发者说」是由......