...

DevOps

Development和Operations两个词的组合。它的英文发音是 /de'vɒps/,类似于“迪沃普斯”。
是一组过程、方法与系统的统称,用于促进开发(Development)、技术运营(Operation)和质量保障(Qulaity Assurance)部门之间的沟通、协作与整合。


...

Docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)。
...

Kubernetes

是一个开源的容器编排引擎,用来对容器化应用进行自动化部署、 扩缩和管理。
是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。 这个名字源于希腊语,意为“舵手”或“飞行员”。 k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。 Google 在 2014 年开源了 Kubernetes 项目。 Kubernetes 建立在 Google 大规模运行生产工作负载十几年经验的基础上, 结合了社区中最优秀的想法和实践。

...

AWS CodePipeline

持续交付发布软件
一种持续交付服务,它可以建模、可视化和自动执行发布软件所需的步骤。

...

Azure DevOps

开发人员工具
支持协作文化,并支持一套将开发人员、项目经理和参与者聚集在一起开发软件的流程。 它允许组织以比使用传统软件开发方法更快地创建和改进产品。 可以使用 Azure DevOps Services 或本地Azure DevOps Server在云中工作。提供可通过 Web 浏览器或 IDE 客户端访问的集成功能。

...

Jenkins

基于Java开发的一种持续集成工具
用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。 是事实上的持续集成/持续交付的标准工具,支持自动化构建、部署、交付和任何类型的项目。 可以用数千款插件连接各种平台。

...

Terraform

是一个IT基础架构自动化编排工具
可以用代码来管理维护IT资源。允许我们以代码的方式构建、更改和管理基础设施。 并不局限于任何特定的云服务提供商,它可以与多个云提供商和环境协同工作。 注意:Azure,AWS分别提供自己云平台的资源管理、设置的解决方案,但是Terrafrom始终是业界架构即代码的代名词。

...

Ansible


基于Python开发的自动化服务配置工具   目前已经已经被红帽官方收购。 基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。 真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。 是基于ssh来和远程主机通讯,不需要在远程主机上安装client/agents。 实现了批量系统配置、批量程序部署、批量运行命令等功能。

...

Puppet

一种Linux、Unix、windows平台的集中配置管理系统
使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。 puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。 puppet采用Client/Sever星状的结构,所有的客户端和一个或几个服务器交互。 每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。 每个客户端每半小时(可以设置)连接一次服务器端, 下载最新的配置文件,并且严格按照配置文件来配置客户端

...

Chef

一个为整个架构提供配置管理功能的集成框架
使用 Ruby 开发的开源软件,有助于动态管理复杂的基础设施,减少基础架构管理中的手动和重复性任务。 它是在 Ruby DSL 语言的基础上开发的。它用于简化配置和管理公司服务器的任务,能够与任何云技术集成。