2009年,比利时根特市举办了首届 DevOpsDays 大会。至此,Development (开发)与 Operation (运维)的概念合二为一,被缩写为 DevOps (开发运维一体化)。
这一概念的风行并不在意料之外。亚马逊早期就提倡SOA (Service Oriented Architecture ),在亚马逊的每一个工程师都可以完全独立地完成编写代码,测试代码,版本管理,部署上线,服务监测等工作。现在,亚马逊凭借对 DevOps 文化的最佳实践,一跃成为世界级别IT领导者。
目前,DevOps 仍处于高速发展阶段,但如果做到整个业务部署 DevOps,不仅对软性的文化有要求,也有对硬性工具链的要求。南京大学软件研发效能实验室发布的《DevOps ·云原生2021年度中国调查报告》显示,2021年国内企业的 DevOps 工具的普及程度较2019年有明显上升。
DevOps 工具的使用正在变得越来越重要。随着各色工具的出现与应用,让 DevOps 得以从一个概念慢慢变成现实。
目前,DevOps 工具覆盖了从规划、编码、构建、测试、发布、部署和维护的软件生产全过程。
01 敏捷开发工具,加速开发效率
“敏捷”(Agile)这个概念起源于美国,比 DevOps 出现的时间要早。
敏捷开发框架被提出以后,软件的运行和运维方式发生了巨大的变化。因为“敏捷”完全摒弃了传统的瀑布式思维,将小步快跑、不断迭代的分步思想融汇在开发过程中。
随后,敏捷成为 DevOps 中的重要一环,一些敏捷教练认为,工作在这个系统中的所有人需要有全局协作和优化的意识,优化价值流的流量、流速,关注价值的产生。工程师们更要有工具链整体优化的意识,而不仅仅是精通某个环节,或局限在与自己相关的上下游工具上。
在敏捷开发中,往往离不开一些需求和项目管理工具,比如 JIRA、Trello等。
JIRA是一个被广泛使用的问题跟踪器,提供了 bug 跟踪和敏捷项目管理功能。虽然JIRA是由澳大利亚 Atlassian 公司创建的商业授权产品,但也有可有限使用的免费版本。
JIRA详情可查看:https://www.oschina.net/p/jira
此外,Atlassian 子公司所拥有的 Trello 也是在国际上非常流行的协作工具,以设计简约著名,很多团队用它来计划各自的工作 sprint(冲刺)。国内知名的Teambition、Leangoo 等都在一定程度上效仿了 Trello 的设计。
02 持续交付工具,助力落地DevOps
DevOps 是一个完整的面向IT运维的工作流,其中CI/CD是基础。
CI是Continuous Integration(持续集成),而CD对应多个英文,Continuous Delivery(持续交付)或Continuous Deployment(持续部署)。
如果无法做到CI/CD的话,DevOps 也就变成了空中楼阁。
要做到持续交付,构建十分重要。在构建阶段,需要保持打包的一致性,而自动执行容易出错的活动,生成早期质量信号。此时,Maven、NPM、Gradle等构建工具则大有用处。
Maven 主要用于 Java 项目的自动化构建,同时它也可以构建和管理以 C#、Ruby、Scala 等语言编写的项目。而Gradle 则是基于 Apache Ant 和 Apache Maven 理念的自动化构建系统,它还引入了基于 Groovy 的领域特定语言。
Maven详情可查看:https://www.oschina.net/p/maven
Gradle详情可查看:https://www.oschina.net/p/gradle
在构建Maven库前后,往往需要Nexus这样的仓库管理工具。Nexus 是一套“开箱即用”的系统,功能非常强大,它极大简化了自己内部仓库的维护和外部仓库的访问。在内部,你可以配置构建工具,并发布到 Nexus,然后其他开发人员就可以使用它们了。
Nexus 详情可查看:https://www.oschina.net/p/nexus
在持续集成中,像Jenkins、Bamboo等这样的流水线工具不可或缺。其中,Jenkins 是开源、免费、与平台无关的自动化服务器,它独立于 Java ,且支持Windows、Mac 和其他类似 UNIX 的操作系统,通过Jenkins 可以将本机系统软件包 Docker 安装。
Jenkins 详情可查看:https://www.oschina.net/p/jenkins
此外,容器引擎和编排工具也在DevOps 的持续交付工具之列。南京大学软件研发效能实验室发布的《DevOps·云原生2021年度中国调查报告》显示,过去两年,容器技术的应用持续深化,以容器及其编排技术为核心的生态,逐渐扩展至涵盖微服务、DevOps、服务监测分析、应用管理的完整闭环。
因此,以Docker、K8s、Apache Mesos等为代表的容器引擎和编排工具几乎在DevOps实践中扮演着不可替代的角色。
Apache Mesos详情可查看:https://www.oschina.net/p/apache+mesos
03 自动化运维工具,补上运维一环
DevOps将传统的“开发”和“运维”概念合二为一,将两者从传统作坊式的工作方式解放出来。所以,在DevOps 工具链中,Zabbix、Elastic、Grafana、Kafka、Ansible、Logstash、Prometheus等自动运维工具的作用不可小觑。
其中,Ansible 是由 RedHat 维护的开源 IT 自动化工具,使用剧本(playbooks)做配置管理和多机部署系统,它运行在 Unix 家族系统上,可以配置 Unix 家族系统和 Windows。
我们可以在控制机器上安装 Ansible,而不需要 Ansible 在其他服务器上运行,这些服务器可以从 Web 到应用程序再到数据库服务器。
Ansible 详情可查看:https://www.oschina.net/p/ansible
Prometheus则是用于事件监视和警报的免费软件应用程序,它在时间序列数据库中记录实时指标,基于 HTTP 拉取模型,支持灵活的查询和实时警报。Prometheus 服务器的工作方式是抓取,也就是说,调用各个节点暴露出来的指标端点。
Prometheus 详情可查看:https://www.oschina.net/p/prometheus
Grafana包括企业版和开源版本两种,是可视化分析软件,可以查询、可视化、报警和探索指标,无论这些指标存储在哪里,Grafana 都可以通过提供相关数据来帮助我们跟踪用户行为、应用程序行为、在生产环境或预生产环境中弹出错误的频率、弹出错误的类型以及上下文场景。
Grafana 详情可查看:https://www.oschina.net/p/grafana
04 平台类工具,DevOps工具的“集大成者”
随着 DevOps 实践在国内外企业中流行开来,用户对自动化的要求越来越高。因此,也就催生了更多集成功能的DevOps 平台,例如我国的“飞算 SoFlu全自动软件工程平台”。
飞算 SoFlu其实是通过可视化编程的方式满足开发需求,也就是说,输入流程图即可实现自动开发、自动测试、自动运维等,由此提高工作效率,使用户可以更多关注自身业务。在平台使用过程中,可以达到一个ID相当于一个10人科技团队的效果。
此外,飞算还可以通过管理平台来管理需求、研发、测试、部署、上线、运维等整个软件生命周期,沉淀经验、积累知识,将管理制度真正落地。
以近期上线的测试平台为例,飞算SoFlu 通过自动化的生命周期管理、测试用例自动生成、测试数据管理等功能,去解决人工测试耗时长、测试跟踪管理难、测试成本高等难题。软件质量可以通过工具、流程和管理予以保障,而不再依靠有丰富经验的软件工程师。
目前,飞算 SoFlu仍在加速更新更加强大的 DevOps 功能,未来可期。
飞算详情可查看:https://www.feisuanyz.com/
05 微服务相关技术,通过拆分更加便利
所谓“微服务”,就是将原来黑盒化的一个整体产品进行拆分(解耦),从一个提供多种服务的整体,拆成各自提供不同服务的多个个体。因此,通过微服务技术,不同的工程师可以对各自负责的模块进行处理,例如开发、测试、部署、迭代。
Spring cloud、Spring Boot、Apache Dubbo等工具都可以用于微服务之中。其中,Spring cloud 专注为典型的用例和可扩展性机制提供良好的开箱即用体验,它为开发人员提供了快速构建分布式系统中常见模式的功能,通过Spring cloud 开发者可以快速实现样板的服务和应用程序。
Spring cloud 详情可查看:https://www.oschina.net/p/spring-cloud
06 安全管理工具,让DevOps 走向DevSecOps
DevSecOps,也就是研发安全运营一体化,将安全融入 DevOps 每个阶段过程,开发、安全、运营各部门紧密合作,强调在安全风险可控的前提下,帮助企业提升IT效能,更好地实现研发运营一体化。
云计算开源产业联盟发布的《中国DevOps现状调查报告2021》显示,源代码静态安全检测、容器镜像安全扫描及 Web 应用防火墙(WAF)正在成为企业应用最广泛的 DevSecOps 技术实践。
并且,企业在选择 DevOps 工具时更注重功能的易用性、工具自身的安全性和自动化程度。
调查显示, 超过四成的企业在选择 DevOps 工具时考虑工具的功能的易用性(43.18%)、工具自身的安全性 (42.96%)和工具的自动化程度(42.80%)。
安全工具也是百花齐放, 包括了代码安全工具Fortify、容器安全工具Clair、Web安全工具AppScan等等。
原网址: 访问
创建于: 2021-11-11 15:38:12
目录: default
标签: 无
未标明原创文章均为采集,版权归作者所有,转载无需和我联系,请注明原出处,南摩阿彌陀佛,知识,不只知道,要得到
java windows火焰图_mob64ca12ec8020的技术博客_51CTO博客 - 在windows下不可行,不知道作者是怎样搞的 监听SpringBoot 服务启动成功事件并打印信息_监听springboot启动完毕-CSDN博客 SpringBoot中就绪探针和存活探针_management.endpoint.health.probes.enabled-CSDN博客 u2u转换板 - 嘉立创EDA开源硬件平台 Spring Boot 项目的轻量级 HTTP 客户端 retrofit 框架,快来试试它!_Java精选-CSDN博客 手把手教你打造一套最牛的知识笔记管理系统! - 知乎 - 想法有重合-理论可参考 安宇雨 闲鱼 机械键盘 客制化 开贴记录 文本 linux 使用find命令查找包含某字符串的文件_beijihukk的博客-CSDN博客_find 查找字符串 ---- mac 也适用 安宇雨 打字音 记录集合 B站 bilibili 自行搭建 开坑 真正的客制化 安宇雨 黑苹果开坑 查找工具包maven pom 引用地 工具网站 Dantelis 介绍的玩轴入坑攻略 --- 关于轴的一些说法 --- 非官方 ---- 心得而已 --- 长期开坑更新 [本人问题][新开坑位]关于自动化测试的工具与平台应用 机械键盘 开团 网站记录 -- 能做一个收集的程序就好了 不过现在没时间 -- 信息大多是在群里发的 - 你要让垃圾佬 都去一个地方看难度也是很大的 精神支柱 [超级前台]sprinbboot maven superdesk-app 记录 [信息有用] [环境准备] [基本完成] [sebp/elk] 给已创建的Docker容器增加新的端口映射 - qq_30599553的博客 - CSDN博客 [正在研究] Elasticsearch, Logstash, Kibana (ELK) Docker image documentation elasticsearch centos 安装记录 及 启动手记 正式服务器 39 elasticsearch 问题合集 不断更新 6.1.1 | 6.5.1 两个版本 博客程序 - 测试 - bug记录 等等问题 laravel的启动过程解析 - lpfuture - 博客园 OAuth2 Server PHP 用 Laravel 搭建带 OAuth2 验证的 RESTful 服务 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 利用Laravel 搭建oauth2 API接口 附 Unauthenticated 解决办法 - 煮茶的博客 - SegmentFault 思否 使用 OAuth2-Server-php 搭建 OAuth2 Server - 午时的海 - 博客园 基于PHP构建OAuth 2.0 服务端 认证平台 - Endv - 博客园 Laravel 的 Artisan 命令行工具 Laravel 的文件系统和云存储功能集成 浅谈Chromium中的设计模式--终--Observer模式 浅谈Chromium中的设计模式--二--pre/post和Delegate模式 浅谈Chromium中的设计模式--一--Chromium中模块分层和进程模型 DeepMind 4 Hacking Yourself README.md update 20211011
Laravel China 简书 知乎 博客园 CSDN博客 开源中国 Go Further Ryan是菜鸟 | LNMP技术栈笔记 云栖社区-阿里云 Netflix技术博客 Techie Delight Linkedin技术博客 Dropbox技术博客 Facebook技术博客 淘宝中间件团队 美团技术博客 360技术博客 古巷博客 - 一个专注于分享的不正常博客 软件测试知识传播 - 测试窝 有赞技术团队 阮一峰 语雀 静觅丨崔庆才的个人博客 软件测试从业者综合能力提升 - isTester IBM Java 开发 使用开放 Java 生态系统开发现代应用程序 pengdai 一个强大的博主 HTML5资源教程 | 分享HTML5开发资源和开发教程 蘑菇博客 - 专注于技术分享的博客平台 个人博客-leapMie 流星007 CSDN博客 - 舍其小伙伴 稀土掘金 Go 技术论坛 | Golang / Go 语言中国知识社区
最新评论