devpos是什么?
DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
1.DevOps概述
1.1 单体架构加瀑布模式
瀑布模型是按工作顺序将问题化简,将功能实现和设计分开,便与分工协作,采用结构化的方式分开。
其生命周期划分为: 软件设计、需求分析和定义、软件实现、软件测试、软件运行、软件维护,规定了他们自上而下、相互衔接的固定顺序。
从本质上说,他是一个软件开发架构,开发郭恒是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,所以,如果有信息为被覆盖或者发现了问题,那么最好‘返回’上一阶段并进行适当的修改,开发从一个阶段流动到下一个阶段,这也是普遍开发名称的由来。
需求-->设计-->开发-->测试
1: 优点
1) 为项目提供了按阶段划分的检查点
2) 当前一阶段完成后,只需关注后续阶段
3) 可在迭代模型中应用瀑布模型
2:缺点
1)在项目各个阶段之间很少反馈
2 ) 只有在项目生命周期的后期才能看见成果
1.2 分布式架构+敏捷开发模式
简单的说,敏捷开发是一种以用户需求进化为核心、迭代、循序渐进的开发方法。首先把 用户(客户 )最关注的软件原型做出来,交付或上线,在实际场景中去 快速 修改弥补需求中的不足,再次发布版本。通过一些敏捷实践方式,细化story ,提供更小的迭代。如此循环,直到用户(客户)满意。适用于需求不明确、创新性或者需要抢占市场的项目。
2.DevOps" target="_blank">devops深度理解
DevOps 是一系列实践、工具和一个融合开发及 IT 团队的文化理念。DevOps 强调赋能团队、跨团队沟通与协作以及技术自动化。
3.devops实现工具
Terraform
类型:配置
语言: Go
推荐的第一个 DevOps 工具是来自 Hashicorp 的Terraform。Terraform 是一个基础设施管理工具…
Terraform 并不局限于任何特定的云服务提供商,它可以与多个云提供商和环境协同工作。云服务提供商如 AWS、Microsoft Azure、谷歌云都与 Terraform 无缝集成。版本控制系统托管提供商,如 Github 和 Bitbucket,都可以很好地使用它。
Ansible
类型:配置
语言:Python、PowerShell、Shell 和 Ruby
与 Terraform 类似,Ansible 也是一个基础设施管理工具。Ansible 可以帮助你部署应用程序,供 …
作为一个配置管理系统,您可以使用 Ansible 来设置和构建多个服务器。你可以在控制机器上安装 Ansible,而不需要 Ansible 在其他服务器上运行,这些服务器可以从 web 到应用程序再到数据库服务器。
Packer
类型:配置
语言: Go
Packer 是另一个来自 Hashicorp 的 DevOps 工具。用 Golang 编写的 Packer 可以帮助你自动创 …
对于单个 JSON 文件,可以使用 Packer 创建多个镜像。当它第一次工作时,由于没有任何东西会干扰它的自动化过程,因此可以保证它能百分百地工作。许多云服务提供商都使用镜像,您可以无缝地与这些提供商合作,因为 Packer 标准化了用于云环境的镜像的创建。
Docker
类型:容器
语言: Go
Docker 是一种容器技术,可让您在特殊环境中隔离应用程序。容器化与虚拟化类似,不同之处 …
使用 Docker 容器,您可以在这些自定义环境中开发和部署应用程序,从而不必担心兼容性问题。您的应用程序可以在任何位置运行,只要它们位于容器中即可。
Kubernetes
类型:容器
语言: Go
Kubernetes (K8s) 是一个谷歌开源工具,它可以让你管理 Docker 容器。由于在生产中经常有大 …
首先要了解编排 Docker 容器的原因。当有许多容器在运行时,很难手动监视这些容器,并使它们彼此通信;另外,这种扩展以及负载平衡也变得困难。
Go语言
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。