容器落地案例:TNO如何用容器搭建CI/CD与微服务架构

2023-11-10 12:10

本文主要是介绍容器落地案例:TNO如何用容器搭建CI/CD与微服务架构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Rancher大大减少了TNO用于管理容器和开发代码的时间,从而让TNO可以将更多的时间用在那些造福于社会的研究项目上。

关于TNO

TNO(荷兰应用科学研究组织)是一个独立组织,它旨在连接人与知识,创造能够以可持续的方式提升社会福祉的创新项目。TNO雇佣了2600多名专家,研究领域涵盖城市化中的工业和能源、健康生活以及安全。

这里写图片描述

势在必行的容器使用

TNO的研究人员与其他公司、政府和研究机构的利益相关者都需密切合作。TNO做项目的时候,团队成员经常使用他们自己偏爱的工具和编程语言,早期工作阶段也是使用他们自己的原型设计和开发环境。在使用容器之前,TNO的研究人员发现把团队成员的开发工作转移到生产环境中是件非常麻烦的事儿。

这里写图片描述

“我们发现和虚拟机不同,如果我们使用微服务架构和Docker容器,我们就能确保我们的软件不论是在研究人员自己的机器上还是在生产机器上都能以完全相同的方式工作。”TNO的创新科学家Johan van der Geest解释说。“将东西打包并且将其从开发环境转移至生产环境有着极大的好处。”TNO的创新家Mark Bastiaans。

一个更全面的容器管理解决方案

TNO刚开始使用容器的时候,研究人员发现他们需要更多与容器相关的功能,包括跨主机网络、集群管理和服务编排。“偶然发现Rancher是因为我当时正在寻找一个可以跨主机工作的容器管理解决方案,” Bastiaans说,“然后我们发现了Rancher,它真的让我眼前一亮,印象深刻。”对于那些需要多主机、在一个服务链中设置几个微服务的项目,“我们需要看它如何伸缩,而Rancher漂亮地填补了其间的缺口。”

这里写图片描述

随着Rancher的容器管理解决方案不断发展,“我们一直保证我们的Rancher环境是最新版本,因为它的功能总能给我们带来很多好处。应用服务目录加进来了,还有负载均衡,这些都被用于了我们的项目中,” van der Geest说。而今天,“Rancher对不同编排工具的支持——Kubernetes, Swarm, 还有Mesos——让我们得以选择能满足某个特定项目的需求的框架。

Rancher的自动化CI/CD

“在使用Docker之前,我们已经在项目中应用CI/CD了,”van der Geest解释道,“但Rancher真的是在持续集成开发方面给了我们很大的帮助。我们可以将开发环境与生产环境隔离,并且。我们利用Rancher API来自动启动升级服务,开发人员只需把代码推送到Git中央仓库,几分钟之后它就被自动创建、发布并活跃起来了。”

这里写图片描述

TNO的研究科学家Edwin Harmsma说:“Rancher让我们可以实现完全自动化的集成测试,并且通过命令行界面,将自动化堆栈从源代码转变到部署。” van der Geest补充说:“我们现在可以非常迅速地将持续集成应用到新的和现有的项目。创建开发和生产环境,以及在这些环境中升级服务所需要花费的时间被大大减少了。”

“下一步我们要在更多的项目中使用我们的解决方案,并且展示我们在持续集成方面的真正能力。” van der Geest如是说。

微服务,和更快的研究速度

“Rancher非常棒的一点在于,微服务的整体概念都被很好地可视化了,这对于尚不熟悉它、又想要开始使用它的开发者来说非常的好,” Bastiaans说道,“研究人员在选择什么工作语言方面是很固执的,但如果你向他们展示了完整的堆栈,你就能让他们愿意打包他们在容器中做完的东西,这也会让他们更加清楚地体会到微服务的好处。”

“有了Docker和Rancher,我们可以让更多的研究人员开始使用微服务,并且让他们可以用他们最喜欢的语言做开发工作,” Van Der Geest说,“我认为这是一件非常有益的事儿。” Van Der Geest还对将现有软件容器化、以及用Rancher的catalog功能在不同环境中快速部署软件很感兴趣,

这里写图片描述

“对我来说,整个‘容器变革’就是关于如何在更短的时间内完成更多的东西,” Bastiaans说,“作为一个研究机构,我们一直都主张要尝试新鲜事物。如今我们已经有足够多的信心,将容器运用到生产环境中的更多项目里去。”

原文来源:Rancher Labs

这篇关于容器落地案例:TNO如何用容器搭建CI/CD与微服务架构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/382582

相关文章

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

RabbitMQ消费端单线程与多线程案例讲解

《RabbitMQ消费端单线程与多线程案例讲解》文章解析RabbitMQ消费端单线程与多线程处理机制,说明concurrency控制消费者数量,max-concurrency控制最大线程数,prefe... 目录 一、基础概念详细解释:举个例子:✅ 单消费者 + 单线程消费❌ 单消费者 + 多线程消费❌ 多

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

关于DNS域名解析服务

《关于DNS域名解析服务》:本文主要介绍关于DNS域名解析服务,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录DNS系统的作用及类型DNS使用的协议及端口号DNS系统的分布式数据结构DNS的分布式互联网解析库域名体系结构两种查询方式DNS服务器类型统计构建DNS域

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri