如期而至的 Swarm 新工具 Crane 开源解读

简介:

中秋节前,数人云技术团队推出了一款新的基于SwarmKit技术栈的工具。大家可能都了解到数人云的容器技术栈是用Mesos驱动的,为什么在Docker刚发布最新的1.12版之后,我们要做出这个工具呢?在这里分享下我们的心路历程。

稳定可靠,还是简单易用?

时至今日,Docker技术在国内容器圈已成为实质性的应用分发标准,国内的容器公司都在以Docker作为自己的技术栈,围绕该技术进行突围。Docker Swarm技术是容器集群软件,在它发布之前,已经有Kubernetes、Mesos这两套优秀的容器编排工具,Swarm的出现让社区感到困惑,大家看不清楚Docker的方向。Docker公司当然并没有止步不前,后续又推出了SwarmKit套件,把Swarm的精华注入到Docker这个单一的二进制文件中,让开发者可以非常方便地获取原有的集群能力。

这种颠覆是非常挑战原则的——我们到底需要的是稳定可靠的基础设施,还是简单易用的基础设施?这种疑惑在容器圈炸开了锅。Docker秉承了Unix原则把每一块都做的很小巧、简单,但它又颠覆性地把模块都绑定在一起。大家知道,一个系统级程序应该是一个程序只做一件事,做到松耦合是前人的经验结晶,没有人愿意打破这个规矩。然而,Docker却在打破它,这种创新付出的代价就是Docker的架构越来越让人担心,担心它无法在生产级别中使用。在我看来,Docker技术引发的思想碰撞非常值得尊敬和学习。

最近,以红帽为代表的公司开始提供Forked版本的Docker,从社区运营的角度来看,社区的分化在一定程度上对Docker发展是有害的。因为Docker这个软件目前是由Docker公司掌握的,OCI标准实质上并没有起到开源标准的作用。这个现状把Docker公司推到了风口浪尖。从技术角度来看,激烈的竞争让Docker出现多个Forked版本,直接推动了技术的进步,亦不失为一件好事。

中国有一句成语:合久必分,分久必合,放在这个场景下描述Docker的现状是最合适不过的。从社区运营的角度来说,Docker本身的项目在Github上有3万Star,1万Forked。这种热度的开源项目已经屈指可数,我没有细查排名,但足以说明Docker是一个由全球开发者共同创造的工具。由于商业利益,无形中把开发者的贡献割裂开来,这是任何一个社区的开发者都不愿意看到的局面。所以,不管是追随Docker技术,还是打击Docker技术都会让人纠结。我本人的观点是,结合前人的经验,不管黑猫白描,只要能抓到老鼠就是好猫。

对于数人云来说,深入Docker技术本身,为企业提供有力的工具是我们高效产出的最好体现,很多技术争论的对错本身没有错,只是太耗费人的精力,最终容器技术的方向,还是让我们拭目以待看Docker公司如何应对。

更多技术栈的包容

数人云技术团队为了帮助广大技术爱好者对Docker新版本有快速直观的感受,制作了一款基于最新SwarmKit特性的容器管理工具Crane,具备一定容器开发经验的开发者可以通过它在第一时间体验Docker的新特性。数人云Crane在开发者和数人云之间建立了一条新的纽带,将集结越来越多的技术爱好者把Docker技术的推动落实到实现上。为了让企业用户了解更多Crane的原理,我们还在Github上把代码开放出来,让更多的开发者参与进来,一起推进真正的容器技术的发展。

数人云在继续专注Mesos技术栈的同时,包容更多的容器技术。数人云现有两版产品——数人云操作系统和容器管理面板Crane。数人云操作系统针对企业客户,帮助传统企业实现IT业务转型,更好地应对业务变化。而数人云容器管理面板Crane针对开发者,强调简单易用。我们认为,容器创业公司的目的就是帮助客户试错,并提供更方便的容器产品以及解决方案,这就是数人云的价值。

数人云Crane是一个极其简化的管理控制面板,它结合了国外最先进的容器技术和数人云对容器技术的认知和实践,数人云选择将它开源也是为了帮助更多的用户理解容器的好处和限制。开源的好处是用户可以参与进来一起讨论场景,帮助大家一起成长。

数人云Crane的发布是数人云迎来全容器新阶段的信号,数人云是一个容器技术驱动的公司,我们用容器技术驱动业务,未来我们会制作更多的新产品来满足不同层面的用户。

可以说,数人云Crane是在Docker技术能否持续下去的争论中发布的工具。国内容器圈对于Docker技术也是存在各种质疑和争论。但技术就是技术,毋庸争辩,Docker技术确实是一项新技术,值得我们应用起来推动自己业务的发展。所以,我推荐大家试用数人云Crane,体验一下新技术带来的改变。当然,数人云将一如既往的追求商业技术的稳定和发展,如何把Docker技术更好的结合起来,仍然是我们需要认真对待的课题。大家看看Mesos社区,就会发现Mesos技术本身也在发生巨变,原来基于HTTP socket的API,在汲取Restful的经验之后,于1.0版本全面转向了Restful JSON API。最近该社区又引入了UnifiedContainer(MESOS-2840)、Pod(MESOS-2449)等概念。很多人认为,这不是在和Docker唱反调么?其实,这就是容器技术的演进。新技术的演进在内部发展之快,正好说明容器技术的趋势是受到业界关注的。对于数人云来说,我们更关注的是产品的技术特性和使用体验,对于技术内部的演变,我们的态度是拥抱变化,为更多的应用可能提供基础。

数人云容器管理面板Crane是一个面向最终用户的工具,代表着数人云技术团队一种技术驱动的态度。我们深刻理解业界容器圈的担忧和争论,数人云期望通过务实的产出来表达一种观点,那就是数人云是一家以开源技术驱动的容器公司。期望更多的同道中人能加入我们,一起参与到容器技术的变革大潮中。

文章转载自 开源中国社区 [http://www.oschina.net]

目录
相关文章
|
7月前
|
Cloud Native 测试技术 数据安全/隐私保护
云原生之使用Docker部署Teedy轻量级文档管理系统
【5月更文挑战第8天】云原生之使用Docker部署Teedy轻量级文档管理系统
240 2
|
7月前
|
Kubernetes Docker Python
《Docker 简易速速上手小册》第10章 朝着 Docker Swarm 和 Kubernetes 迈进(2024 最新版)
《Docker 简易速速上手小册》第10章 朝着 Docker Swarm 和 Kubernetes 迈进(2024 最新版)
80 0
|
1月前
|
调度 Docker 容器
【赵渝强老师】Docker Swarm集群的体系架构
Docker Swarm自1.12.0版本起集成至Docker引擎,无需单独安装。它内置服务发现功能,支持跨多服务器或宿主机创建容器,形成集群提供服务。相比之下,Docker Compose仅限于单个宿主机。Docker Swarm采用主从架构,Swarm Manager负责管理和调度集群中的容器资源,用户通过其接口发送指令,Swarm Node根据指令创建容器运行应用。
|
7月前
|
Kubernetes Cloud Native 开发者
构建高效的云原生应用:Docker与Kubernetes的完美搭档
【5月更文挑战第29天】 在现代软件开发领域,"云原生"这一术语已经成为高效、可扩展和弹性的代名词。本文将深入探讨如何通过Docker容器化技术和Kubernetes集群管理工具实现云原生应用的构建和管理。我们将剖析Docker的核心原理,揭示其轻量级和易于部署的特点,并进一步探索Kubernetes如何为这些容器提供编排,保证应用的高可用性与自动扩缩容。文章不仅讨论了二者的技术细节,还提供了实践案例,帮助开发者理解并运用这些技术构建和维护自己的云原生应用。
|
3月前
|
应用服务中间件 nginx Docker
单机编排工具之docker-compose快速入门使用
这篇文章是关于如何使用docker-compose进行单机编排的快速入门指南,包括了镜像准备、docker-compose安装、使用教程以及验证服务生效的步骤。
69 2
单机编排工具之docker-compose快速入门使用
|
6月前
|
jenkins 持续交付 开发者
利用Docker容器化部署应用的实战指南
【6月更文挑战第27天】本文详述Docker应用部署,涵盖Docker基本概念、安装、镜像制作及运行。通过编写Dockerfile构建镜像,使用`docker build`、`run`、`push`及`stop`命令管理。集成CI/CD工具如Jenkins,实现自动化构建、测试和部署,提升开发效率与部署质量。Docker助力轻量级、可移植的微服务架构。
|
6月前
|
网络安全 开发者 Docker
探索 Docker Machine:打造无缝多平台容器部署的利器
探索 Docker Machine:打造无缝多平台容器部署的利器
184 0
|
Cloud Native 数据库 Docker
Docker是一个流行的容器化平台,用于构建、部署和运行应用程序。
Docker容器已经成为现代应用程序开发和部署的核心技术之一。它们的轻量性、可移植性和可伸缩性使其成为各种不同领域的理想选择,从Web应用程序到微服务架构,再到云原生应用程序。本文将探讨Docker容器在各个领域中的实际应用,以及它们为开发人员和组织带来的好处。
141 0
|
Kubernetes 负载均衡 Cloud Native
如何将Docker与Kubernetes集成,实现云原生应用程序
在云原生应用程序开发中,Docker和Kubernetes通常是不可或缺的工具。Docker用于容器化应用程序和其依赖项,而Kubernetes用于自动化和编排容器的部署、扩展和管理。下面是如何将Docker与Kubernetes集成
379 0
|
Cloud Native JavaScript 前端开发
云原生之使用Docker部署Laverna笔记工具
云原生之使用Docker部署Laverna笔记工具
273 2
云原生之使用Docker部署Laverna笔记工具