云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

亚马逊云_新云主机_稳定性好

小七 141 0

如何在不疏远人类的情况下运营和扩展基础设施

如今,基础设施的变化速度极快。大公司将服务从机器移动到虚拟机再到容器。他们使用多个集群和云提供商,每年都会添加大量的微服务。任何基础设施变革的核心问题是,它将如何影响人类,即每天依赖服务和应用程序来完成工作的最终用户。但是,当基础设施发生变化时,用户往往完全依赖DevOps来获得支持,从而导致对可用服务级别的混乱和效率的损失。为了能够在不影响运营效率的情况下进行必要的基础设施更改,DevOps团队需要将更多的功能和控制权交给用户。HashiCorp的客户Criteo最近在HashiConf Digital 2020大会上发言,他们讨论了公司如何使用HashiCorp consult从机器上的服务转向纯服务架构。同样重要的是,该公司强调了他们如何能够为员工提供发现、了解、管理和调查他们所使用的服务的工具。下面我们将更深入地了解Criteo如何使用consur来管理网络服务,并为服务用户带来更多的自主权。»保持人类用户的中心地位Criteo拥有超过2500名员工,研发团队中约有500名员工直接使用他们的服务。研发团队成员经常会对他们的应用程序提出问题,包括如何调用特定的微服务API或如何创建新服务,开发团队通常要回答这些问题——这通常是一个耗时的过程。Criteo已经在使用consur进行服务发现和联网,但是DevOps团队希望员工能够更好地了解他们的系统发生了什么,从而减少他们在回答问题上花费的时间。他们创建了一个consur用户界面,称为consur TemplateRB,作为一个开源应用程序,通过一个简单的静态web服务器显示consur的实时信息。基于Javascript的consur用户界面可以插入到任何组织中,并且易于定制和扩展,以容纳数千个并发用户。consurui还显示了元数据语义,这一点特别有用,因为它是其他系统使用的数据,也用于决定如何提供基础设施。consur用户界面准确地反映了consur提供的内容,并实时更新。使用consur UI,用户可以:通过键入几个单词而不是复杂的查询来查找服务使用标记过滤系统,包括FTP、HTTP和Swagger直接调用API访问所有系统并获取其服务的特定信息,即使用户不具备特定的领事知识快速搜索数据并在几秒钟内到达在不让DevOps参与的情况下调查过去的服务事件这些功能产生的数据也使DevOps团队能够通过以下方式主动解决其他用户难题:轻松地调整它并将其连接到更多的系统显示如何为系统配置警报和负载平衡器,以及查看更改日志确定每项服务的所有者以及负责处理服务的团队为了防止用户对其他服务进行修改,Criteo的DevOps团队确保所有服务都是标准化的,并且数据只能在启动时更改。通过不允许以后更改数据,它们可以避免在系统中引入熵。类似地,在consur中注册的数据只能由机器本身更改,从而阻止其他人修改给定机器上的服务,以及更改发布到consur中的内容。在Criteo的服务世界里,当出现紧急情况时,确定利益相关者——服务"所有者"是很重要的。确定服务所有者也是利用有关使用情况的信息(如资源消耗)来进一步细化和增强应用程序的功能和价值的关键。»将功能更多地转移给用户通过直观的用户界面实现自助服务,用户可以轻松地自行调查服务,从而消除了操作员回答问题的需要。克里托奥的四人小组从每天处理几十个问题到每周处理一个问题。为了帮助用户更好地帮助自己,DevOps团队制定了一些附加的策略和机制,包括:通过在所有服务前面加上团队名称来标准化元数据的命名开发一个名为"服务元数据"的特性,将元数据解除绑定到服务中,并允许配置外部系统通过允许用户自己探索系统中发生的事情,给用户更多的可预测性依赖于业务语义,而不是与工具相关的元数据,以允许基础设施长期发展将其他系统的所有配置都放在服务本身中,这样用户就不必再调用另一个API来配置网络或添加警报使DevOps能够更改基础设施系统,而无需用户事后通知»使用应用程序和基础架构Criteo在企业范围内有4000多个应用程序,其中一些较大的服务在一个服务器上可以看到2000多个实例。为了更好地控制SDK,DevOps团队实现了默认查询,以简化搜索和发现,同时改进负载管理。有了consur,团队就不再把所有请求都放在一台服务器上(即使配置了多台服务器,也会发生这种情况),而是设置consur来应答来自任何服务器的呼叫,以便使用一个公共查询更容易地跨基础架构扩展应用程序,或者实现横向扩展。此外,他们还为外部应用程序添加了一个特性,使每个consur集群都能为它们提供数据,而不是仅仅在一个地方有一台机器。现在,当应用程序负载过重时,consur的运行状况检查(通过、警告和关键)提供有关服务器负载的重要的按需状态更新,并帮助主动识别潜在的故障或降级点。警告和传递状态也被加权,因此当应用程序过载并告诉concur它处于警告状态时,所有针对此特定实例的应用程序都将减少它们发送给过载应用程序的流量,以使应用程序从过度负载中恢复,并有助于防止连续实例在流量过大时也停止运行。同时,Criteo使用CONSUR实现自动化:负载平衡韵律学警报可用性监控DNS配置consur注册新的应用程序和对实例的任何修改,充当Criteo所有基础设施的单一存储库,并为所有应用程序上的所有基础设施创建一个清晰统一的视图。从本质上讲,用户可以在基础设施上发布服务,并自行更改服务中的元数据。因为所有服务都使用相同的业务语义,所以不需要向Git存储库提供数据。相反,基础设施自动处理所有事务,从而为DevOps团队减轻了管理负担,并使他们能够为公司的4000多项服务提供足够的支持。»为用户设定服务期望值对于Criteo DevOps团队来说,为所有利益相关者定义对Consult来说重要的内容也定义了一个明确的SLA。团队不使用技术指标,而是选择业务指标,例如:注册服务所需的时间量为数据中心中的顾问代理可以看到密钥的时间基准建立时间基准DNS响应时间团队使用其他应用程序在consur之外测量这些数据,并使用仪表板来记录用户何时低于SLA、何时接近SLA以及何时超出SLA。通过让用户对consur和SLA有一套明确的期望,DevOps团队可以进一步减少出现在他们身上的问题的数量,并确保用户确切地知道他们同意什么。随着基础设施的快速变化,Criteo正在确保不会有任何人类用户掉队。该公司认为,通过直观的自助服务功能,在其DevOps专家的密切关注下,提高运营效率和用户自主性非常重要。通过consur和consur TemplateRB,Criteo用户可以在定义的参数范围内管理他们的服务和应用程序,而不需要依赖DevOps。要了解更多关于Criteo如何使用consur,请查看他们的HashiConf数字演示文稿并阅读他们的案例研究。»10月加入HashiCorp我们邀请您加入我们的下一届HashiConf Digital,10月12日至15日(PDT时区)。报名可免费参加。还提供实时产品研讨会,预订座位需要象征性的费用。在这里注册。