云原生开发–在远程容器上

先前的文章介绍了云原生开发蓝图的基础,探索了逻辑图,并探讨了在本地容器上进行云原生开发的第一个用例。

在本文中,我们将继续在架构蓝图中举例说明用例。 提供描述以指导您调整组织每天工作的环境。

云原生开发–在远程容器上

这些详细信息应帮助您了解元素包含的内容以及元素如何对齐以及如何对它们的功能进行分组。 让我们看一下用例,其中开发人员正在将远程容器平台用于他们的云原生开发环境,并了解它如何映射到生产性工作架构以部署其解决方案。
我们将探讨使用远程容器平台开发环境的开发人员环境的用例。 开发人员工具与适当的工作流程的集成至关重要,该流程将他们的解决方案推向远程开发环境非常重要,这里从开发人员到远程开发环境,再到测试基础架构,都展示了这一点。

通过应用此示例中显示的与测试环境相同的蓝图,可以实现此示例以外的任何环境,例如验收或生产环境。 在探索基于远程容器解决方案的云原生开发时,请记住这一点。

开发远程容器(运行时和集成)

该示例从一个云本地开发人员在本地计算机上工作开始,使用某种形式的集成开发环境(IDE)以及此处概述的一组工具。 我们意识到在开发团队中可以找到许多不同的工具集,但是为简单起见,我们在以下图中收集了以下主要元素作为开发人员堆栈。

云原生开发–在远程容器上

每个开发团队都使用某种形式的源代码管理系统(SCM),如今,这种形式比基于Git的某种形式的存储库更有可能。 随之而来的是依赖性管理工具,例如此处显示的Apache Maven存储库。 在我们的示例中,我们选择将Java运行时与诸如Spring Boot和Camel集成之类的框架一起使用。 这将是用于创建应用程序,前端和微服务的开发堆栈。

开发人员工具的最后一部分是开发人员用来将其代码解决方案推送到其远程开发人员容器平台进行构建的容器工具。 在此远程容器示例中,该工具专注于与OpenShift容器平台一起使用,因此您会看到OpenShift客户端以及此客户端工具的其他变体。

一旦开发人员对他们的代码和依赖项感到满意,他们就可以选择将其工作推送到集中式开发团队基础结构的选项。 他们可以设置以下选项之一来生成或触发向持续集成和持续开发(CI / CD)平台的推送,此处显示为托管在OpenShift Container Platform集群上:

  • 使用git hooks,当提交到本地代码存储库时触发代码推送
  • 使用Maven插件,**后触发对开发基础架构的推送
  • 使用oc客户端容器工具

当将代码推送到其CI / CD平台时,开发团队可以*使用最适合自己需求的方法。

CI / CD基础结构

从开发人员本地工作环境推送的代码由CI / CD平台获取,在这种情况下,通常是基于Jenkins的平台。 在这里,我们看到CI / CD平台使用源到映像工作流来构建容器映像,测试映像并将其放置在开发基础结构映像注册表中。 此时,它已被标记为devImage

开发基础设施

为发展基础设施的任务是测试这个devImage,在这里我们看到了一个pplication和M icroservices从图像注册表部署。 请注意,为简单起见,我们在图中选择了图像注册表,显示为集中式注册表,并省略了每个OpenShift容器平台集群中的图像注册表。

一旦开发测试得到满足, devImage将在CI / CD平台中标记为testImage并部署到测试基础架构。

测试基础架构

通过从映像注册表中获取testImage并根据需要将容器与应用程序微服务一起部署,测试基础架构将在此用例完成之前显示更多详细信息。 此时,测试周期将从新的测试基础结构数据和生产部署之路的要求重新开始。

该用例示例具有运行时和集成框架,这些框架用于由组织中的开发人员使用远程容器创建应用程序和微服务。 它具有一个蓝图,用于映射您的云原生开发流程,以将开发人员解决方案部署到测试基础架构中。 这应该足以帮助您针对所需的生产环境设置云本地开发和部署环境。

云原生开发–在远程容器上

远程容器开发人员(流程自动化)

此处显示的图中提供了另一个示例,这是跨开发人员机器,远程开发基础结构和测试基础结构的相同开发设置和部署。 现在,重点开发的重点是流程自动化项目,这些项目将最终的流程微服务与可能需要的最终微服务一起部署。

探索图

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

云原生开发–在远程容器上

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

这是与云原生开发相关的示意图的集合:

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

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

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

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

下一步是什么

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

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

通过上面的链接之一,赶上任何您错过的文章。 本系列的下一篇,看看云原生部署。

翻译自: https://www.javacodegeeks.com/2020/06/cloud-native-development-on-remote-containers.html