荷兰应用科学研究机构(TNO)的容器落地经验谈

2023-11-10 12:10

本文主要是介绍荷兰应用科学研究机构(TNO)的容器落地经验谈,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

本文介绍了TNO如何应用容器技术完成开发与生产环境的一致化,实现CI/CD与微服务,以及如何使用Rancher减少管理容器和开发代码的时间,将更多的时间用在那些造福于社会的研究项目上。

图片描述

势在必行的容器使用

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说,“作为一个研究机构,我们一直都主张要尝试新鲜事物。如今我们已经有足够多的信心,将容器运用到生产环境中的更多项目里去。”


9月27日,北京海航万豪酒店,容器技术大会Container Day 2017即将举行。

CloudStack之父、海航科技技术总监、华为PaaS部门部长、恒丰银行科技部总经理、阿里云PaaS工程总监、民生保险CIO······均已加入豪华讲师套餐!

11家已容器落地企业,15位真·云计算大咖,13场纯·技术演讲,结合实战场景,聚焦落地经验。免费参会+超高规格,详细议程及注册链接请戳

这里写图片描述

这篇关于荷兰应用科学研究机构(TNO)的容器落地经验谈的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

乐鑫 Matter 技术体验日|快速落地 Matter 产品,引领智能家居生态新发展

随着 Matter 协议的推广和普及,智能家居行业正迎来新的发展机遇,众多厂商纷纷投身于 Matter 产品的研发与验证。然而,开发者普遍面临技术门槛高、认证流程繁琐、生产管理复杂等诸多挑战。  乐鑫信息科技 (688018.SH) 凭借深厚的研发实力与行业洞察力,推出了全面的 Matter 解决方案,包含基于乐鑫 SoC 的 Matter 硬件平台、基于开源 ESP-Matter SDK 的一

LeetCode11. 盛最多水的容器题解

LeetCode11. 盛最多水的容器题解 题目链接: https://leetcode.cn/problems/container-with-most-water 示例 思路 暴力解法 定住一个柱子不动,然后用其他柱子与其围住面积,取最大值。 代码如下: public int maxArea1(int[] height) {int n = height.length;int

亮相WOT全球技术创新大会,揭秘火山引擎边缘容器技术在泛CDN场景的应用与实践

2024年6月21日-22日,51CTO“WOT全球技术创新大会2024”在北京举办。火山引擎边缘计算架构师李志明受邀参与,以“边缘容器技术在泛CDN场景的应用和实践”为主题,与多位行业资深专家,共同探讨泛CDN行业技术架构以及云原生与边缘计算的发展和展望。 火山引擎边缘计算架构师李志明表示:为更好地解决传统泛CDN类业务运行中的问题,火山引擎边缘容器团队参考行业做法,结合实践经验,打造火山

云原生容器技术入门:Docker、K8s技术的基本原理和用途

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、容器技术概述 1、什么是容器技术 2、容器技术的历史与发展 3、容器技术与虚拟机的比较 4、容器技术在云原生中的作用 二、Docker基础 1、Docker简介 2、Docker架构 3、Docker与工作原理 三、Kubernetes(k8s)基础 1、

Web容器启动时加载Spring分析

在应用程序web.xml中做了以下配置信息时,当启动Web容器时就会自动加载Spring容器。 [java]  view plain copy print ? <listener>          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

Kubernetes排错(十)-处理容器数据磁盘被写满

容器数据磁盘被写满造成的危害: 不能创建 Pod (一直 ContainerCreating)不能删除 Pod (一直 Terminating)无法 exec 到容器 如何判断是否被写满? 容器数据目录大多会单独挂数据盘,路径一般是 /var/lib/docker,也可能是 /data/docker 或 /opt/docker,取决于节点被添加时的配置,可通过 docker info 确定:

基于协方差信息的Massive MIMO信道估计算法性能研究

1. 引言 随着移动互联网不断发展,人们对通信的速率和可靠性的要求越来越高[1]。目前第四代移动通信系统已经逐渐商用,研究人员开始着手研究下一代移动通信系统相关技术[2][3]。在下一代移动通信系统中要求下行速率达到10Gbps,这就要求我们使用更先进的技术和更宽的系统带宽。MIMO技术由于可以在不增加系统带宽和功率的前提下,成倍的提升系统容量和可靠性,已经广泛应用于各种无线通信系统中,但仅采用

【C++11 之新增容器 array、foward_list、tuple、unordered_(multi)map/set】应知应会

C++11 标准中新增了多个容器,这些容器为 C++ 程序员提供了更多的选择,以满足不同的编程需求。以下是对这些新容器的介绍和使用案例: std::array 介绍: std::array 是一个固定大小的数组容器,它在栈上分配内存,并提供了类似于标准库容器的接口。它提供了更好的类型安全性和范围检查,同时保持了与原生数组相似的性能。std::array 的大小必须在编译时确定,并且不能更改。

监听Web容器启动与关闭

在Servlet API 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期。 要监听web容器的启动与关闭,首先定义一个类继承ServletContextListener 接口: package com;import javax.servlet.ServletContextEvent;

【LocalAI】(13):LocalAI最新版本支持Stable diffusion 3,20亿参数图像更加细腻了,可以继续研究下

最新版本v2.17.1 https://github.com/mudler/LocalAI/releases Stable diffusion 3 You can use Stable diffusion 3 by installing the model in the gallery (stable-diffusion-3-medium) or by placing this YAML fi