随着Kubernetes和微服务的采用,边缘已经从一个简单的硬件负载均衡器发展成为一个完整的硬件和软件代理堆栈,包括API网关、内容交付网络和负载均衡器。了解这种转变对于数据中心主管来说至关重要,这样他们才能做出正确的架构、战略和运营决策。要了解过渡,快速的历史之旅会有所帮助。早期的互联网和负载均衡器在20世纪90年代中期,Web应用程序架构还处于起步阶段。由数据库层、应用程序层和表示层组成的经典n层架构是此时的实际应用程序架构。通过使用数据中心边缘的第一个迭代:负载平衡器将应用层或表示层的多个实例连接到Internet,可以实现n层架构的水平扩展。在当今时代,负载均衡器负责在应用程序的不同实例之间路由流量,以确保高可用性和可扩展性。虽然2001年HAProxy的发布开始普及软件负载均衡器的概念,但负载均衡器通常是一个硬件设备。ADC和Web2.0的兴起DarcyDiNucci于1999年创造了Web2.0一词,指的是互联网从单向媒体向用户可以与网站互动的双向媒体的演变。在此期间,AJAX(异步JavaScript和XML)开发技术变得无处不在。通过将数据交换与表示分离,AJAX为最终用户创造了更丰富的用户体验。该架构还创建了许多“客户”客户端,因为这些客户端将不断地从Web应用程序发送和接收数据。此外,电子商务在这个时代开始兴起,信用卡信息的安全传输首次成为人们关注的焦点。网络中的这些变化——加密通信和许多对长期连接的请求——推动了边缘从标准硬件/软件负载平衡器向更专业的应用程序交付控制器(ADC)的演变。ADC包括用于所谓的应用程序加速的各种功能,包括SSL卸载、缓存和压缩。达到Web规模在2010年代初期,许多云优先公司的用户群经历了指数级增长。这些公司背后的软件最初是作为一个单一的网络应用程序设计的。随着他们的用户群膨胀到天文数字,这些公司发现网络规模问题确实是另一类表明不同架构的问题。Twitter、Facebook和NewRelic等公司开始将关键功能部分从单体中重构为可独立部署的服务。通过将关键业务功能部署为服务,这些组织能够独立扩展和管理整个应用程序的不同方面。这些单独服务的流量通过整体路由。路由的任何变化都意味着开发人员通常不得不重新部署整个整体。这成为变化速度的瓶颈,但至少解决了规模问题。救援的API网关解决了规模问题的尖端组织现在面临着解决拖慢其应用程序开发速度的单一应用程序问题。从这些架构中吸取的教训之一是显而易见的——对于重构服务,单体组件只是充当路由器。这一发现激发了早期API网关的开发。API网关在原始整体中执行路由功能,为整个应用程序创建一个通用的外观。API网关集中了跨域的应用程序级功能,例如速率限制、身份验证和路由。这减少了每个单独服务所需的复制功能的数量。云原生时代:微服务作为一个整体已经微化,但它仍然存在并拖慢了应用程序的开发和部署。微服务介入来解决这个问题。每个微服务代表一个独立的业务功能,独立于应用的其他微服务开发和发布。通过解耦开发周期,微服务使组织能够更有效地扩展云软件开发流程。鉴于微服务可以部署在多种环境中:虚拟机、裸机、容器作为函数——API网关在将流量路由到正确的微服务方面发挥着至关重要的作用。现在走向未来——转向全周期开发和云原生工作流微服务不仅仅是应用程序架构的转变。微服务也是开发工作流程的转变。团队负责整个软件开发生命周期——从设计到开发到测试再到部署和发布。一些组织将这些团队用作呼叫轮换的一部分(“又名,构建它,运行它”)。这种开发模式被Netflix称为全周期开发,是软件开发和交付方式的一种变革。这种工作流程的转变也对数据中心的优势产生了影响。不仅API网关(和边缘堆栈的其他元素)需要适应微服务架构,而且整个周期的开发团队都需要访问和管理整个边缘。这种管理包括路由(哪个版本的服务应该接收生产流量)以及更细粒度的控制,例如加权路由(金丝雀版本需要)和流量屏蔽(创建流量副本到服务的测试版本以进行测试目的)。通过使开发团队能够管理发布和部署,组织可以扩展这些流程以支持高度复杂的应用程序。全周期开发团队通常还负责其微服务的运营。成功的关键是实时了解其微服务的性能。边缘通过分析流入和流出微服务的所有流量,提供对微服务行为的重要洞察。这允许边缘报告延迟、吞吐量和错误率等指标,从而深入了解应用程序的运行状况。边缘策略管理至关重要鉴于边缘在现代云原生工作流中的重要性,全周期开发团队如何管理边缘?不幸的是,传统上边缘堆栈的所有组件都由运营管理,运营接口不适合全周期开发团队中的应用程序开发人员使用。此外,边缘组件通常在没有内聚操作界面的情况下独立运行。毕竟,全周期开发人员不是全职运营商;他们只需要满足他们特定需求的边缘机器。幸运的是,Kubernetes生态系统可以提供指导和启发。使用基于YAML的通用配置语言,开发人员可以管理自己的边缘配置,而集中式运营团队可以执行全局策略。这是尖端团队用来提供快速开发周期的最新优势。
