一文了解微服务如何推动从 API 到容器的路径 二维码
近年来,微服务的兴起彻底改变了构建和部署软件的方式。这种转变最重要的方面是从单体应用程序驱动的传统 API 架构向容器化微服务的转变,不仅提高了系统的可扩展性和灵活性,而且还催生了新的软件开发方式和部署方法。 API 的两个视角:消费者和提供者 构建 API 的内在目的是交换信息。因此 API 需要信息的消费者和提供者双方。然而两者的看法却截然不同。 对于API 消费者来说,API 只不过是接口定义和一个 URL,URL 是指向大型机系统还是托管在边缘的微型物联网设备并不重要,他们主要关心的是易用性、可靠性和安全性。 另一方面,API 提供者更关注 API 的可扩展性、可维护性和货币化方面,需要敏锐地了解 API 接口背后的基础设施,会对整体行为产生很大影响。例如,与单一消费者 API 相比,为数百万消费者提供服务的 API 对基础设施的要求截然不同。API 产品的成功通常取决于在真实用户类似生产环境中的表现。 微服务架构的兴起 微服务并不是一个全新的概念,它们以各种名称存在多年,但官方术语实际上是由一群软件架构师于 2011/2012 年在威尼斯附近的一个研讨会上创造的。微服务的目标一直是使系统具有灵活性和可维护性,促使微服务架构风格在各种应用程序中得到广泛采用。 采用微服务来构建和交付 API 通过提供重要优势以求解决几个挑战: ● 通过将 API 分解为更小且更易于管理的服务,理论上可以更轻松地管理中断和停机时间。这是因为一项服务宕机并不意味着整个应用程序宕机。 API 消费者也受益于基于微服务的 API。消费者应用程序可以通过集成一堆较小的服务而不是与一个巨大的单体接口来更好地建模交互。 图 1:消费者和提供者的 API 视角 由于与整体相比,每个微服务的范围更小,因此在 API 端点发生变化时对客户端应用程序的影响更小,测试个人交互变得更加容易。 使用容器简化微服务部署 在微服务架构中部署和管理依赖项的双重挑战导致了容器技术的兴起。尤其是在微服务环境中,容器变得越来越流行。使用容器,我们可以轻松地将软件及其依赖项和配置参数打包到容器镜像中,并将其部署到平台上,这使得在基于微服务的应用程序中管理和隔离依赖关系变得微不足道。 容器可以并行部署,并且每次部署都可预测,因为应用程序所需的一切都存在于容器映像中。此外,容器使扩展和负载平衡资源变得更加容易,进一步提高了微服务和 API 的可扩展性。 图 2:API 从整体式微服务到容器化微服务的演变 由于云计算的快速发展,容器技术和编排框架现在几乎可以在所有云平台上原生使用。在某种程度上,对微服务和 API 不断增长的需求推动了容器的使用,以可扩展的方式部署它们。 微服务和 API 的未来 尽管 API 和微服务已经存在多年,但它们尚未充分发挥其潜力。两者十年内共同发展的一些重要趋势: 主要趋势之一是围绕API 治理。适当的 API 治理对于API 可发现、可重用、安全和一致性非常重要。在这方面,OpenAPI是一种与语言无关的 RESTful API 接口,或多或少已成为记录 API 的主要标准方式。人和机器都可以使用它来发现和理解 API 的功能,而无需访问源代码。 另一个重要趋势是NLP、图像识别、情感分析、预测分析、聊天机器人 API 等领域的API 支持能力的增长。随着模型越来越复杂,这种趋势只会越来越强,我们将在未来几年看到更多 API 的应用。ChatGPT 和 Google Bard等工具的兴起表明我们才刚刚开始这个旅程。 第三个趋势是越来越多地使用API 驱动的 DevOps来部署微服务。随着云计算和 DevOps 的兴起,管理基础架构成为大多数组织中极其重要的话题。API 驱动的 DevOps 是基础设施即代码工具供应基础设施和部署微服务的关键推动因素。在幕后,这些工具依赖于平台公开的 API。 此外,关于微服务和 API 的未来还有其他重要趋势: ● API 网关和服务网格的使用越来越多,以提高基于微服务的系统的可靠性、可观察性和安全性。 结论从通过单一应用程序交付的传统 API 到在容器上运行的微服务,这一转变为企业打开了新世界的大门,使开发人员能够更快、更可靠地构建和部署软件,而不会影响可扩展性方面,使构建极其复杂的应用程序并以前所未有的规模运行成为可能。 开发人员和架构师关注关键的 API 趋势,例如治理和安全性。随着可靠性增加,工作人员应探索前沿领域,例如人工智能和 DevOps 领域的 API 使用,保持创新步伐。尽管API 和微服务生态系统已经成熟,但该领域仍有很大的增长潜力。随着每天都有更多高级功能出现,DevOps 实践使管理底层基础设施变得更加容易,API 和微服务的发展前景也更为宽广。
文章分类:
行业资讯
|