大数据&云计算|2020年开发运维工具清单:选择开发运维工具堆栈吧!( 四 )
·开源:免费版的Gitlab并没有削减开发团队所需的核心功能 。 每个付费层均提供附加功能 , 这些附加功能可带来最大价值 , 具体取决于组织的规模和需求 。
2.配置管理工具: Ansible
本文插图
Ansible是这个领域的引领者 , 原因很简单:无状态 。 早期的现场配置管理工具着重于管理配置状态 。 如果它与所需的配置脱离同步 , 将自行修复 。 新的应用程序只有无状态组件 。
其主要优势在于:
·无状态:Ansible playbooks运行于操作机器上 。 笔者不在乎远程对象的状态 , 使用Packer之类的工具来构建可部署对象变得更加容易 。
·开源:与CentOS一样 , RedHat也维护Ansible 。 该企业及其高级支持人员可以帮助维护社区 , 并确保高质量、易于使用的模块 。
·分子测试:由于配置管理与其他任何代码一样 , 如果不对其进行测试将无法开始操作 。 用于测试Ansible角色的分子框架可以无缝地工作 , 以确保代码配置的高质量 , 并遵循与应用程序代码相同的CI/CD管道 。
·YAML:与其他工具相比 , YAML更容易让人头脑清醒 。 通常来说 , 配置管理对于采用开发运维的任何人都是新事物 。
本文插图
图源:unsplash
其竞争对手有以下两个:
·OpsCode Chef:笔者是以chef cookbook开发人员的身份开始开发运维生涯的 。 Ruby和Chef十分相近 , 但是它们根本无法解决目前无状态、云原生应用程序的问题 。 对于更传统的应用程序来说 , 这是一个不错的工具 , 但本文着眼于未来 。
·Puppet:Puppet从未发展过庞大的社区 , 尤其与Chef 和Ansible相比而言 。 它非常适合配置和裸机 , 但不支持网络应用程序类型的配置管理 。
3.部署工具: Terraform
本文插图
Terraform解决了从网络组件到实际服务器图像的基础架构 , 即代码定义问题 。 自最初发布以来 , 它已经发展了一段时间 , 并建立了庞大的插件社区和支持社区 , 为可能遇到的几乎所有部署情况提供帮助 。 支持本地环境、云环境或其他任何类型环境的能力是首屈一指的 。
最后 , 与任何其他传统的编程语言一样 , 最新版本在HCL中提供了相同的逻辑功能和类 , 开发人员可以轻松获得和学习 。
其主要优势在于:
·不可知的云/环境:Terraform利用其代码与所有API和后端逻辑之间的接口 , 这些API和后端逻辑是基础架构提供商进行通信所需的 。
·开源:免费工具也很难做到 , 其社区支持是一流的 。
其竞争对手有AWS Cloud Formation:即使仅在AWS云环境中工作 , 你也可能会向未知的方向继续前进 , 将技能和知识整合到一个平台中可能会有风险 。 另外 , 许多新AWS服务通常在用于CloudFormation之前作为Terraform模块提供 。
本文插图
开发运维工具运行
本文插图
任何开发项目的最终目标都是在生产中运行应用程序 。 在开发运维领域中 , 要确保我们对该环境中的任何潜在问题具有可见性 , 并且将人工干预降至最低 。 选择正确的运行时工具集对于实现发展至关重要 。
1.工具即服务: AWS
本文插图
推荐阅读
- 数据流|比亚迪M6用诊断仪无法读取TCU数据流检修
- 云计算|从互联网到AI崛起,上海能弯道超车吗?
- 技术编程|如何利用数据库进行世界史研究
- 行业互联网,AI人工智能|城市教育大脑以“ AI+ 大数据”为核心 , 引领教育变革
- 行业互联网,云计算|赛伯乐携手华为(重庆)人工智能创新中心聚焦AI前沿,助力企业数字化转型
- |如何分析“会员数据”,强化门店的竞争力?
- 数据|翼方健数解码隐私安全计算 实现数据“可用不可见”
- 云计算|腾讯云小微首次技术开放日,揭秘AI语音背后的奥秘
- 智慧城市|数据归心、AI赋能,打牢新型智慧城市建设基础
- 目标检测|数据民工也能移动办公了:目标检测标注App上线,分分钟创建私人数据集
