当前位置: 首页 > 科技观察

服务网格到底能做什么?

时间:2023-03-21 21:11:20 科技观察

翻译|布加迪评论家|孙淑娟让我们来看看这两种多云网络架构。自动化网络服务和安全相关功能并将这些功能卸载到与云无关的服务网格可以帮助简化多云环境的管理。针对特定云供应商的网络解决方案的多云架构:图1Cloud-agnosticservicemesh:图2许多服务网格产品包括服务发现、零信任网络和负载均衡功能,还有一些更进一步,它提供多云/多运行时环境连接、网络自动化和南北流量控制。查看与云无关的服务网格的功能及其跨环境集成现有工具以帮助减少管理工作和成本的潜力。ServiceDiscoveryServiceDiscovery允许开发人员注册和跟踪其网络上所有已注册服务的网络位置和健康状况。在服务不断扩大或缩小的动态环境中,这是一项重要功能。这通常是采用服务网格的第一步。有很多方法可以实现服务发现。但Kubernetes、AmazonEKS、AzureAKS、GoogleGKE或服务发现工具(例如AWSCloudMap和配置管理数据库(CMDB))中内置的通用功能通常特定于它们运行的??平台或云。他们可以发现的服务范围仅限于其特定平台或云的边界。然而,当今大多数组织在多个平台或云环境中运行应用程序,这意味着他们需要学习、安装和管理多个服务发现解决方案。更好的方法是可以跨越多个运行时环境的与云无关的服务网格。例如,HashiCorpConsul是一个支持Kubernetes、虚拟机、AmazonECS和HashiCorpNomad的中立服务网格,允许组织跨多个异构环境集中进行全球服务发现。如果将服务发现集成到服务网格中,平台团队可以将服务发现作为全局共享服务提供,与依靠单个团队在没有任何监督的情况下运行和管理自己的服务发现工具相比,这可以降低成本。提高合规性并简化管理。零信任网络组织不再仅仅依靠传统的方法来保护网络边界,越来越多地寻求零信任网络来保护他们的网络和基础设施。与依赖现代云环境中可能不存在的保护边界的传统城堡和护城河安全方法不同,零信任安全认为,除非获得授权和身份验证,否则不应授予任何服务(无论是边界内还是边界外)的访问权限,所有通信是加密的。应用零信任网络的几个原则:身份验证、授权和加密是服务网格的主要功能。服务网格通过代理(通常是Envoy)自动重定向进出服务之间的流量。这可以将授权、身份验证和加密等任务卸载到代理。服务网格使用服务身份而不是IP地址作为许可或拒绝的单位,大大简化了管理服务到服务通信的工作。管理员可以配置一个单一的全面拒绝策略,该策略将由代理强制执行以阻止所有服务到服务的通信。开发人员可以添加更细化的策略来授权特定服务根据需要进行通信。服务网格代理还将确保所有服务到服务的通信都自动进行身份验证和加密。在发生任何服务通信之前,代理确保交换TLS证书并加密网络上的所有流量。这会产生一个更安全的网络,即使在网络安全事件发生后也能防止服务之间的横向移动。最后,服务网格通过使管理员和开发人员能够在开发周期的早期授权、验证和加密他们的Web服务,从本质上帮助组织左移。通过左移,组织可以降低在部署到生产之前由于不可预见的安全漏洞而导致最后一刻延迟的风险。此外,向左移动服务网格可以让网络管理员专注于保护网络边界,而不是管理单个IP地址。服务网格是网络管理员的力量倍增器和抽象层,它允许开发人员专注于他们的应用程序而不是安全逻辑,并避免管理和轮换证书和密钥的麻烦。负载均衡由于服务网格上的数据流量流经代理,服务网格还可以控制流量整形等功能。一个简单的例子是服务的多个实例之间的负载平衡。服务网格允许自定义流量模式直接分布在实例之间,而不是通过不同的负载均衡器完成额外的网络跳数(hops)。即使实例增加或减少,服务网格也可以动态调整流量分配。使用服务网格可以大大降低跨许多不同环境和云管理许多不同负载平衡设备的成本和复杂性。图3对比:图4多云连接许多组织的不同团队和服务分布在不同网络和单一云的多个区域。许多组织还将其服务部署在多个云环境中。跨不同的云网络安全地连接这些服务是一项受欢迎的功能,通常需要网络团队付出大量努力。此外,子网之间要求非重叠无类域间路由(CIDR)范围的限制可能会阻止虚拟私有云(VPC)和虚拟网络(VNET)之间的网络连接。服务网格产品可以安全地连接在不同云网络上运行的服务,而无需付出太多努力。例如,HashiCorpConsul支持多数据中心拓扑,该拓扑使用网状网关在跨云的不同网络中运行的多个Consul部署之间建立安全连接。团队A可以在EKS上部署一个Consul集群。团队B可以在AKS上部署一个单独的Consul集群。C团队可以在私有本地数据中心的虚拟机上部署Consul集群。可以在这三个Consul集群之间建立多数据中心配置,为EKS、AKS和虚拟机之间运行的服务提供安全连接,而无需额外的网络配置,如VPN、DirectConnect或ExpressRoute。即使IP范围在网络之间重叠,Consul网状网关也允许多个Consul部署的集群。自动化自动化在动态环境中尤其有益。波动的需求要求运营商扩展服务实例的数量,这是一项相对简单的任务。然而,网络防火墙、负载平衡系统或其他网络基础设施可能需要更新以允许访问新实例。同样,新的应用程序服务可能需要在客户端访问之前更新网络设备。由于大多数组织都有独立的网络和安全团队,因此此工作流通常需要手动提交请求更新网络设备的票证,这可能需要数小时甚至数天才能完成。缩减或停用服务可能会导致其他问题。这是因为要求网络团队从网络设备中删除IP地址的请求很容易被忽视,从而导致潜在的安全漏洞。为了应对这些挑战,一些服务网格与HashiCorpTerraform等基础设施供应工具建立了独特的集成。Consul与Terraform具有独特的集成,可自动触发网络设备更新和重新配置。运营商可以配置Consul-Terraform-Sync(CTS),以根据Consul目录中服务的变化自动更新防火墙和负载平衡系统等设备。自动化这些任务可减少对手动票务系统的依赖,提高工作流程效率,并加强组织的安全态势。南北流量控制除了在组织网络内的服务之间调整和路由流量外,还需要确保外部客户端可以访问这些服务。如果组织不打算扩展到单一云之外,AWSAPI网关、AzureAPI管理和谷歌云API网关等云原生选项可能是不错的选择。对于在多个云上运行的组织来说,统一一个通用平台是有价值的。一些与云无关的服务网格(包括Consul)具有内置的API网关,可以提供与云原生解决方案类似的功能。这允许组织使用统一的管理平面来管理服务网格内部的流量(东西向)和来自外部客户端的流量(南北向),从而无需在不同的环境中部署多个不同的API网关。谁从服务网格工具整合中受益?由于服务网格有助于在不同的运行时环境中集成许多不同的工具,难道每个组织不应该将服务网格集成到他们的基础设施中吗?这取决于。对于86%已经使用或计划使用多个云的组织来说,服务网格无疑有助于遏制工具蔓延。即使是致力于单一云提供商的组织也可能要处理不同开发团队选择的不同运行时环境。统一服务网格的使用以提供全球服务发现、零信任网络和负载平衡等功能,还可以帮助这些组织缓解工具泛滥。与云无关的服务网格(例如Consul)可以提供进一步的工具集成和内置功能,以连接云之间的服务、自动化网络设备更新并控制来自外部客户端的服务访问。虽然一些小型组织可能看不到集成工具的重大价值,但至少他们可以从采用服务网格作为力量倍增器中受益,改善他们的整体安全状况,而无需开发人员、平台工程师或网络工程师的额外努力。原标题:AllThingsaServiceMeshCanDo,作者:VanPhan