云原生架构_云原生开发–通用架构元素

云原生架构

云原生开发蓝图的介绍为深入研究其逻辑图奠定了基础。

在本文中,我们继续看一下常见的架构元素。 提供了一个描述,以指导您使我们在此处介绍的内容与您的组织每天工作的情况保持一致。

这些详细信息应帮助您了解元素包含的内容以及元素如何对齐以及如何对它们的功能进行分组。

第2部分–常见的建筑元素

让我们看一下我们的云原生开发蓝图的基础,以及包含其架构元素的逻辑图。

此图将架构元素分为几组,下面我们将详细介绍这些元素。

开发商

开发人员元素包括她用来产生代码伪像的内容,这些伪像被推送到云原生开发流程中以创建容器化的工作负载。

对于此蓝图,已研究的客户提供了您可以想象的各种各样的开发人员元素供您选择。 我们选择了对一些对象进行分组并选择了图像中显示的元素。

开发人员IDE非常通用,是开发人员正在使用的工具。使用了某种形式的源代码管理存储库,但是所有研究都指向基于Git的存储库 。 剩下的三个要素包括所遇到的企业框架的选择,但绝不是确定的。 我们遇到了Spring Boot ,基于Camel和Fuse的集成以及通常的Java运行时集合。

尽管未作为一个独立的组件进行说明,但采用了某种形式的依赖管理。 在所有研究的案例中,
Apache Maven存储库 ,但出于简单起见,我们选择将它们排除在此逻辑概述之外。

集装箱平台CI / CD

托管持续集成(CI)和持续开发(CD)工具的容器平台是该组的主要元素。 CI / CD平台可以是许多可用的工具,但是作为一个具体示例,许多实现都使用Jenkins工具。

普通通用元素的例外是
Skopeo元素。 这是一个工具元素,用于通过设置从一个注册表到另一个注册表(甚至跨容器平台基础结构)的自动复制来管理整个图像注册表中的图像。

部署

开发人员为在目标容器平台上进行部署而生成了许多元素。 要捕获它们,它们将变得既混乱又总是不完整,因此,容器平台图中显示的元素代替了您所期望的内容。

云原生开发的主要重点是基于微服务交付。 考虑到这一点,在我们的研究中遇到的示例元素被分为以下服务组:

  • 缓存数据微服务
  • 决策微服务
  • 流程自动化微服务
  • 集成微服务
  • 集成数据微服务
  • 信息服务

请注意,最后一个并不总是以微服务的形式出现,因为我们在谈论的是围绕服务应用程序体系结构的消息和事件层提供主题,队列和代理的服务。

基础设施服务

这些服务本质上是传统的服务,不一定总是在本地环境中。 例如,API管理可以是外部SaaS托管的解决方案,用于管理,计量和监视服务API。

展示了一个SSO服务器元素,以完成支持微服务到组织中遇到的身份验证和授权后端系统之间的连接的故事。 由于安全性遍及所有元素,因此这里将其作为任何云原生开发解决方案的核心基础架构。

仓储服务

客户解决方案研究中发现的存储服务是多种多样的。 因此,在最高级别上没有显示任何通用的体系结构元素。 找到了从容器本机存储到传统块存储的所有内容。

探索图

如本系列简介中所述,我们将
我们所有架构蓝图的示例存储库 。 的
投资组合架构示例存储库使从每个图表元素以及整个项目中收集并共享单个图像成为可能。

要访问本文介绍的图表,请向下滚动到主页上的文件列表,您可以找到一个逻辑图,如图所示。

这是与云原生开发相关的逻辑图的集合:

  • 在这种情况下,这是一张图片,您可以单击以查看
  • 您可以使用“ 下载图表”链接将项目文件下载到本地计算机
  • 您可以单击一个Load Diagram链接来自动打开此蓝图中使用的图表工具中的项目图

尝试一下,随意探索逻辑图,原理图,详细图,解决方案图和社区图。 如果您可以使用现有图表启动项目,那么这应该比起头来得更快。

如果您要设计自己的图,请通过提出附加文件的问题来贡献项目文件(以.drawio结尾)。 我们很乐意继续收集这些项目供其他人使用。

最后,有一个免费的在线初学者指南讲习班 ,侧重于使用图表工具,请探索以学习专家的技巧和窍门。

下一步是什么

可以在此处找到有关云原生开发投资组合架构蓝图的系列概述:

  1. 蓝图
  2. 常见建筑元素
  3. 在本地容器上进行云原生开发
  4. 远程容器上的云原生开发
  5. 云原生部署
  6. 云原生高级部署

通过上面的链接之一,赶上任何您错过的文章。

本系列的下一篇文章将介绍使用本地容器工具进行云原生开发。

翻译自: https://www.javacodegeeks.com/2020/05/cloud-native-development-common-architectural-elements.html

云原生架构

你可能感兴趣的:(python,java,人工智能,大数据,编程语言)