前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Harbor开源镜像仓库的设计理念

Harbor开源镜像仓库的设计理念

作者头像
Henry Zhang
发布2019-04-12 17:28:50
6500
发布2019-04-12 17:28:50
举报
文章被收录于专栏:亨利笔记亨利笔记

题图摄于慕田峪 - 飞越长城

今天,全球顶级开源组织云原生计算基金会 CNCF ( Cloud Native Computing Foundation )宣布,接纳 Harbor 开源镜像仓库成为 CNCF 旗下的托管项目,中国的云原生用户们无不欢呼雀跃。

2年前发布的 Harbor 是首个原创于中国的 CNCF 项目,也是首先由中国用户使用再推广到全世界的。Harbor 扎根、成长和壮大于中国社区,从开源的第一天开始就原生支持中文,在 CNCF 众多的项目中是绝无仅有的一个。Harbor 在国外内有数以千计的用户,包括大型金融、电信和互联网等行业的企业。

部分Harbor用户(由于用户太多,恕不能一一列出)

作为 Harbor 项目的创始人,和朋友们一起见证项目从零开始,一点一点地发展到被全球用户接受和使用,我感到无比的兴奋和荣幸。一路走来,需要感谢的人实在太多。

首先要感谢的是 VMware 中国研发中心总经理任道远先生,从4年前内部项目开始持续支持着 Harbor 的研发和社区的拓展,为 Harbor 的成功奠定了坚实基础。其次是要感谢我司先后参与过 Harbor 项目研发的20多位同事(部分已离开公司 ),特别是姜坦,邹佳,尹文开、王岩等核心开发工程师,为项目成功付出了艰辛的努力。还要感谢众多社区的朋友帮助、代码贡献者的添砖加瓦以及广大用户们不断的支持和反馈,这些都是 Harbor 项目突飞猛进的源动力。

Harbor研发团队(2017.7)

和大多数项目一样,Harbor 初始人员很少,每个成员往往身兼数职,我几乎担任过“从看门人到 CEO ”之间的所有角色(^_^),包括项目经理、产品经理、架构师、程序员、布道师、文档编辑、翻译和社区运营等等。

之前的文章曾介绍过创建 Harbor 这个项目的初衷:主要是为了解决容器用户面对的种种镜像管理难题。本文分享一下 Harbor 的产品设计理念。有两段经历影响到了我在 Harbor 设计上的构思。

第一段经历是在移动互联时代,我曾是国内最早一批写 app 的程序员,那是个人英雄驰骋的年代,我开发了几个 iOS 的工具类 app,都在一天之内冲到了 app store 全站免费榜榜首和付费榜前三。凭借这个战绩,我挖到了人生“第一桶银”,这是为什么我目前所有的手机都是 iPhone 的原因。

我分析了那些 app 的成功经验,就是功能定位要少而精准,不要有 over engineering (过渡工程)的地方,否则只会事倍功半。

不少产品经理或工程师总爱追求 perfect (完美),凡事都要讲究优雅的设计、灵活的扩展能力,一劳永逸的解决方案。可是我们往往发现这些“优秀”的方案还没走向市场和用户,就已经胎死腹中。

有个例子,某 SaaS 应用为了支持多种云服务商,如 AWS,Azure,GCP 什么的,设计和预留了很多复杂的 IaaS 接口,结果上线AWS后因达不到要求而失败了,那些为 Azure 和 GCP 等留下的接口根本没有发挥热度的机会。当初把精力集中在做好功能实现上,结果可能会不同。

过渡追求产品功能和技术上的完整性,只会增加研发的周期,推迟走向市场的时间。这个思路在体现在 Harbor 上就是要解决用户最痛的点,永远在做MVP(Minimum Viable Product,最小可行产品),不多做无用功,以最少的投入,满足用户更多的需求。

Harbor快速迭代发展的历程

第二段经历是在前一家IT公司为企业提供身份认证管理服务,在 RBAC(Role Based Access Control, 基于角色的权限管理)、LDAP 多种复制协议等场景中积累了一定的经验,对企业IT系统安全管理有较深入的理解。在容器镜像管理场景中,我意识到企业对镜像访问的控制、操作审计和镜像的传输备份都有较高的要求,因此在 Harbor 最早的设计中仅实现了4个主要功能,以安全控制为主:

1)RBAC ,支持 LDAP/AD 认证

2)日志审计 (操作可追溯性)

3)镜像复制(多数据中心或云环境之间的镜像自动同步)

4)图形化管理界面(几乎是企业应用必备)

这4个功能的思路是受到之前的身份管理领域经验的启发,如镜像复制的灵感来源于 LDAP 服务器的主从复制,镜像的 RBAC 来源于企业对应用的权限管理等等。这些很接地气的功能构成了Harbor 的 MVP,满足了用户70%以上的需求,因此Harbor 开源之后一炮而红,迅速获得了大量用户,推出仅半年,在 Github 上就获得1000多星。

Harbor是最早实现镜像复制的Registry

在 Harbor 的设计思路中还很注重听取用户的反馈意见,遵循“从用户中来,到用户中去”的原则,不断完善、修正和迭代。被用户初步接受后,Harbor 增加了镜像漏洞扫描和镜像验真的能力,这些都是社区用户提出后增加到 Harbor 里面来的功能。Harbor 有微信群,邮件组,Slack,Github Wiki 和 Issue,Twitter,定期在线会议等用户交互的途径(文后有介绍加入的方式)。

精准的定位和恰当的设计确立了产品的整体格局,使产品具有了良好的开端。随后是高效地实现产品和目标明确的市场推广。有机会再和大家分享这方面的心得。

Harbor北京研发团队(2018.7)

Harbor 加入到 CNCF 之后,将会吸引更多的社区用户的参与,Harbor 项目正在招募社区代码贡献者和维护者(maintainer)。在国际顶级开源组织 CNCF 中成为 Harbor 的代码贡献者和维护者,不仅可以实现开发人员的自我价值,而且能够扩大社区的知名度和影响力,感兴趣的朋友可在公众号号台留言,或者邮件联系我们。

好消息分享:如果你是 Harbor 项目的代码贡献者(以 commit 为准),可免门票参加今年11月上海举行的 KubeCon 大会。具体办法参见报名网站。

预告:Harbor 项目将在今年上海的 KubeCon 上举行多场技术讲座,并邀请用户进行案例分享,欢迎用户提供案例给我们,可以留言告知。

加入 Harbor 邮件组、Slack 和参见定期社区在线会议的方式,请参见 Harbor Github首页:

https://github.com/vmware/harbor

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 亨利笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档