DevOps
带有DevOps特性的工具列表每天都在增长,了解团队的需求对于使用正确的服务来促进新应用程序的开发非常重要。本文将按类别了解不同的 Devops 工具,以提高团队的生产力和协作。
如果没有开发团队和运维人员之间真正的合作愿望,这些工具的部署是没有用的。
Devops 文化及其好处
DevOps是“开发人员”和“运维”这两个词的组合。它是一种协作文化,旨在使开发团队和运营部门之间的流程自动化,以促进软件的开发、测试和交付。开发人员应该创造价值并使产品/服务更具创新性,而运营人员的目标是保持基础设施的稳定性。
Devops 文化的优势是多方面的。DevOps 协作允许更快 、更高质量的发布。Devops 团队在保持基础架构质量和稳定性的同时更频繁地交付。良好的Devops 策略基于运维人员和开发人员之间的广泛协作、更好的沟通以及更好的团队绩效。
Devops 中使用的不同工具
Devops 团队每天使用各种工具来完成各种任务和任务。在此处准备了这些工具的(非详尽的)列表。源代码管理工具
代码管理有两种类型:
- Git和Subversion等工具,用于创建文件历史记录:此时,您的文件已发生此类更改。Subversion 是一个比 Git 更老、效率更低的工具。
- Github、Gitlab和Bitbucket等工具用于共享其代码,以及随之而来的历史。它们基于 Git,并且可以拥有代码的历史并对其进行多次处理。如果说 Github 在历史上是垄断的,那么 Gitlab 越来越受欢迎,尤其要感谢Gitlab CI的高效。
持续集成/持续部署测试
有许多 CI/CD 工具。最常用的平台之一是Jenkins,这是一个开源工具(虽然可能很难开始使用)。
还有付费解决方案,例如GitlabCI、Bamboo、TeamCity、Concourse、CircleCI或Travis CI。
云提供商,尤其是谷歌和 AWS,也提供了他们自己的持续集成和部署工具。
容器
Docker 将应用程序在这些虚拟容器中的部署自动化和标准化,并在这一领域的工具中脱颖而出。Docker 的替代品是RKT,它是 CoreOS 基金会推动的标准。
使用容器时,对编排的需求会很快出现。
编排容器可以更轻松地部署和管理它们。市场上使用最广泛的编排器是Kubernetes,但还有其他的,例如MesOs和Docker-Swarm。
云提供商
当谈论云提供商时,会想到负载均衡服务。负载均衡服务的任务是将负载分布在不同的设备上,从而提高响应时间。HAproxy是负载均衡中的参考。
自动化和配置管理
Devops 中存在几种类型的自动化:
- 在服务器上设置自动配置
- 自动化服务器操作
- Terraform:基础设施供应;
- Ansible:从服务器的配置管理;
- Puppet:从服务器的配置管理;
- Salt:从服务器的配置管理。
监控和警报
开源Prometheus应用程序和Grafana服务允许您监控 Kubernetes 集群。通过耦合三个工具,ELK(Elasticsearch、Logstash 和 Kibana)是一个强大的日志分析解决方案。您可以单独发挥每个工具的性能并使其适应您的需求:Logstash 用于规范化/发送日志,Elasticsearch 用于存储,Kibana 用于可视化。ELK 允许进行日志分析(取证)和聚合(仪表板)。
项目管理工具
Jira是一种敏捷项目管理工具,可帮助规划、跟踪和管理软件开发项目。使用 Jira,开发团队的每个成员都可以跟踪项目的进度并设置 sprint 优先级。
另一方面,Trello因其在管理项目的各种任务方面的直观性和简单性而脱颖而出。
秘密管理
Secrets,Kubernetes 秘密管理服务是 Vault 的替代品。