内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

香港带宽_项目部署到阿里云服务器_安全稳定

2021-06-10 17:03 出处:欧普曼云计算 人气: 评论(0

香港带宽_项目部署到阿里云服务器_安全稳定

编者按:如果您最近从一个云服务提供商迁移到另一个云服务提供商,或者正在考虑迁移,那么您就会明白使用第三方工具避免供应商锁定的价值。数据统一提供商Tamr最近从AWS转向Google云平台,带来了各种DevOps工具来帮助迁移和日常操作。查看他们对从配置管理到存储再到用户管理的所有建议。

在Tamr,我们最近从AWS迁移到Google云平台(GCP),原因很多,包括更一致的计算性能、更便宜的机器、可抢占的机器和更可靠的使用案例等等很少。关于我们的迁移本身的更大的故事值得我们发表自己的博客文章,这篇文章将在将来发表,但是今天,我们要介绍一下我们在内部使用的工具,这些工具首先允许我们进行转换。因为有了这些工具,我们在迁移过程中没有停机时间,并且能够重用过去几年内部开发的几乎所有自动化/管理代码。

我们将我们的成功很大一部分归功于过去几年一直是DevOps商店。当我们第一次建立DevOps部门时,我们知道我们需要尽可能灵活。从第一天开始,我们就有了一系列的目标,这些目标将推动我们作为一个团队的决策,以及我们将使用哪些技术。随着时间的推移,这些目标已经证明了自己的存在,而且最近允许我们无缝地将我们的平台从AWS迁移到GCP和Google计算引擎。有些你会认为是常见的DevOps咒语,另一些则更具体到我们的组织:

服务器当成牛,而不是宠物是DevOps哲学的核心。服务器"宠物"有postgres master这样的名字,需要你手工维护。也就是说,您可以通过shell在其上运行命令,并自行升级设置和包。相反,我们希望关注一些原语,比如我们的服务需要运行的内核和RAM的数量。我们还希望随时杀死群集中的任何服务器,而不必通知任何人。这使得维护变得更加容易和简化,因为我们可以对我们的机队中的每台服务器进行滚动重启。这也与我们的第一个目标,自动化一切联系在一起。

我们还想保持我们的DevOps团队在控制。我们从一开始就知道,要想获得成功,我们将在大量服务器上运行我们的平台。手工操作需要我们雇佣和培训大量的操作员来完成既定的运行手册。通过自动化一切并投资于工具,我们可以扩展我们维护的系统的数量,而不必雇佣那么多人。

最后,云分析,我们不想被束缚在一个单一的供应商云生态系统中,因为我们在客户站点部署了我们的堆栈,也因为我们不想被任何一个云束缚供应商。为了避免被锁定在云的专有服务中,我们必须在自己的服务器上运行大多数东西。虽然您可以选择使用云提供商提供的等效服务,但我们喜欢这种独立的方式。

我们的DevOps工具箱

在构建DevOps工具箱时,选择配置管理系统应该是您首先要做的事情,因为您将在您拥有的每台服务器上使用它。对于配置管理,我们选择使用Ansible;它是入门时最简单的工具之一,您几乎可以在任何Linux机器上使用它。

您可以以多种不同的方式使用Ansible:作为脚本语言、并行ssh客户端和传统的配置管理工具。我们选择将其用作配置管理工具,并按照Ansible最佳实践建立代码库。除了文档中列出的最佳实践之外,我们更进一步,使所有Ansible代码完全幂等,返利app是真的吗,也就是说,我们希望能够在任何时候运行Ansible,只要所有内容都是最新的,就不必进行任何更改。我们还尝试确保Ansible中的任何包升级都有正确的处理程序,以确保零停机部署

我们能够在AWS和GCP环境中使用整个Ansible代码库,而不必更改任何实际代码。我们唯一需要改变的是我们的动态清单脚本,它只是Ansible执行的Python脚本,用于在您的环境中查找机器。Ansible playbooks允许您同时使用多个动态清单脚本,允许我们同时在两个云上运行Ansible。

也就是说,Ansible可能并不适合所有人。对于某些事情来说,它可能相当慢,而且在自动缩放环境中并不总是理想的,因为它是基于推的系统,而不是基于拉的(比如Puppet和Chef)。Ansible的一些替代品是上述的傀儡和厨师,以及盐。它们都解决了相同的一般问题(服务器的自动配置),但是针对特定的用例进行了优化。基础设施配置:Terraform

在设置VPC、DNS和负载均衡器等基础设施时,管理员有时会手工设置云服务,然后忘记它们在那里,或者它们是如何配置的。(我自己也很内疚)故事是这样的:我们需要两台机器来测试与供应商的集成。供应商希望shell能够访问这些机器,帮助我们解决问题,并请求一个隔离的环境。一两个月过去了,淘客机器人,一切都很顺利,是时候建立一个基于开发环境的生产环境了。你还记得你做了什么吗?您自定义了哪些设置?这就是基础设施作为代码配置工具可以成为救星的地方。

Terraform允许您使用其领域特定语言(DSL)在云环境中编码设置和基础设施。它为您处理一切(云集成和创建资源的操作排序),并允许您跨多个云平台调配资源。例如,在Terraform中,您可以在googledns中创建引用AWS中资源的DNS记录。这允许您轻松地跨多个环境链接资源,并将复杂的网络环境作为代码提供。大多数云提供商都有一个工具来管理代码形式的资源:AWS有CloudFormation,Google有cloud Deployment Manager,Openstack有Heat编排模板。Terraform有效地充当了所有这些工具的超集,数据挖掘和大数据,并提供了跨所有平台的通用格式。服务器映像:Packer

云环境的基本构建块之一是虚拟机(VM)映像。在AWS中,有一个市场提供了AMI映像,几乎任何东西都可以使用,但是除了AMI中包含的基本服务之外,我们经常需要在服务器上安装工具。例如,假设Threatstack代理监视服务器上的活动并扫描服务器上的包以查找CVE。因此,建立自己的形象往往更容易。我们还为我们的客户构建自定义映像,并需要将它们共享到他们的各种云帐户中。这些映像需要可用于不同的区域,就像我们自己的基本映像一样,我们在内部使用这些映像作为vm的基础。拥有一个独立于特定云提供商和地区的一致的方法来构建图像是一个巨大的好处。

我们使用Packer,结合我们的Ansible代码库,来构建我们所有的图像。Packer提供了一个框架来启动机器,运行我们的Ansible代码,然后将机器快照的副本保存到我们的帐户中。因为Packer与配置管理工具集成,所以它允许我们将AMIs中的所有内容定义为源代码。这使我们能够轻松地版本图像,云免服务器购买,并有信心,我们确切地知道什么是在我们的图像。它使客户对我们的图像的复制问题变得微不足道,并允许我们轻松地为图像生成更改日志。

分享给小伙伴们:
本文标签: 香港带宽项目部署阿里服务器安全稳定

相关文章

评论

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

签名: 验证码: 点击我更换图片

评论列表