荷兰应用科学研究机构(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

相关文章

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

Spring Boot中获取IOC容器的多种方式

《SpringBoot中获取IOC容器的多种方式》本文主要介绍了SpringBoot中获取IOC容器的多种方式,包括直接注入、实现ApplicationContextAware接口、通过Spring... 目录1. 直接注入ApplicationContext2. 实现ApplicationContextA

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

k8s容器放开锁内存限制问题

《k8s容器放开锁内存限制问题》nccl-test容器运行mpirun时因NCCL_BUFFSIZE过大导致OOM,需通过修改docker服务配置文件,将LimitMEMLOCK设为infinity并... 目录问题问题确认放开容器max locked memory限制总结参考:https://Access

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

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

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

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

SpringIOC容器Bean初始化和销毁回调方式

《SpringIOC容器Bean初始化和销毁回调方式》:本文主要介绍SpringIOC容器Bean初始化和销毁回调方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录前言1.@Bean指定初始化和销毁方法2.实现接口3.使用jsR250总结前言Spring Bea