推荐!DevOps工具正越来越自动化

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%)。

推荐!DevOps工具正越来越自动化

安全工具也是百花齐放, 包括了代码安全工具Fortify、容器安全工具Clair、Web安全工具AppScan等等。

(免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。 )

Baidu
map