您的位置:首页 > 大数据 > 云计算

争议 | 主流容器云平台的功能、性能比较,我们该如何选型?

2021-05-05 18:47 1151 查看

来自twt社区同行交流,欢迎更多同行参与交流

容器云平台主流技术和成熟产品选型及如何制定相关的标准和规范探讨?

想问下,在引入容器平台时,需先了解当前主流的容器平台技术和成熟产品,然后制定相关的标准和规范。具体如下:

1、想了解当前主流容器平台OpenShift3、OpenShift4、Rancher、博云等国产容器产商的有哪些区别?容器平台如何选型?这些产品的功能、性能比较。

2、除了资金成本,容器平台后期的使用和运维需要如何考虑,目前公司自己对容器平台的开发能力不在,运维人员需要具体具备哪些能力,运维与开发如何协作,投入运维人员的规模如何估算?

3、容器平台早期实施的过程中需要做哪些规划,避免哪些坑?

//////////

问题来自@systemroot 中国航空结算有限责任公司 系统工程师,下文来自twt社区众多同行实践经验分享,欢迎大家参与交流,各抒己见。


@gavin_zhang 某股份制银行 系统架构师:

1、现在的容器平台,基本都是基于Kubernetes做的产品化,最基本的功能上没有太大的差别,主要是看一些附加的能力,如云管工具,对IaaS的支持还有安全,对开发人员的友好性这些方面。选型是还要考虑厂商的支持能力,还有就是厂商在开源社区的影响力等。具体的功能性能对比没有做过,每个厂商都会提供,综合对比一下。

2、不考虑自己开发和增量开发,后期的运维主要就是容器平台的日常运维(监控,告警处理和问题定位等),还有容器平台属于更新比较快的产品,平台升级和补丁也会比普通应用多。运维人员对Linux的基础,自动化脚本能力要求比较高。

3、这边真没有什么规则,如果说有,就是尽量各层解耦,选择主流的技术路线。


@demon1860aa 农银人寿 信息技术经理:

我来回答一下你的问题,仅供参考:

国内做容器的有很多公司,大都是基于k8s定制而成,很多公司更是做容器管理、做devops发布平台。就产品多样性而言,真正能够有容器生态的也只有RedHat一家。OpenShift是红帽商业化的k8s发行版本,就产品线而言肯定的最为丰富的,中间件JBoss、镜像仓库Redhat Quay,自动化工具Ansible、Ansible Tower、SDS Gluster、Ceph、操作系统RHEL,Cloudforms等等,而当年与Docker吵的不可开交的CoreOS也是被RedHat收购,老牌的RedHat优点品牌足够响亮,产品生态足够多,缺点国内工程师数量有限,可能不会像小厂商一样直接服务,很多时候可能是由第三方来实施的。

Rancher也是很具有特色的公司,Rancher其实产品很不错,号称Run Kubernetes Everywhere,容易部署,界面简洁且上面功能也很多,支持混合云,能够支持上千k8s集群的管理。也提供了catalog,registry,devops工具能够支持pipeline。缺点也很明显,就是虽然国内有分公司,但是还是人少。但就部署方案来讲,一般的客户好像原厂工程师是可以上门进行实施的。

第三方公司,国内厂商就比较多了。比较出名的博云、灵雀云等等从K8s代码来讲基本上贡献率就不谈了,应该更多在做一些外层开发的扩展如运维管理、账号管理、权限管理、Devops发布(如jenkins二次开发等等)、平台级的管理等等上层管理层面的软件。小一些的厂商,也有各自的优势,就是更珍惜客户,客户响应速度肯定很快,但其核心技术能力相对大厂肯定是受限的,尤其是解决底层bug或者定位各类复杂性故障的时候可能会相对慢一些。

再有一个选择可以是阿里云私有化APsara Stack的方案,阿里云其实整体环境生态还是非常不错的,有私有云方案,也可以和公有云集成实现混合云架构。也有类似第三方开发的权限管理Devops发布平台(code pipeline)等等。公有云生态成熟度也很高。缺点可能是由于阿里云自带互联网企业特性,原有企业运作模式更多是直接2C端,可能和传统厂商和服务商的服务思路还是有一些区别的。

总之,选型还要看企业实际情况、实际需求而来,既然容器的引擎是docker,集群编排靠k8s,其实不同服务商大家优缺点可能不太一样。但核心就是容器及k8s,其他的外围生态、服务质量,产品公司服务的可持续性,服务商自身技术等都决定最后的选择。建议可以多找几家了解一下他们产品,最好能够逐一进行POC。

需要关注的点:第一就是规划,你的容器是直接部署在bare metal上还是虚拟机上,因为虚拟化软件本身就有10%-20%对于硬件的消耗,因为容器本身消耗理论值在5%以内。第二就是你对于容器网络的选择,网络将是你在使用容器时候的一个很大的一个坑。比如Vxlan等技术由于对于数据包的反复封装会导致网络性能下降,kube-proxy默认使用的iptables在条目过多的情况下性能也是衰减的,当然要结合你的部署架构。第三就是你的存储,是通过传统FC-SAN,还是通过NFS、还是对象存储等等方式,如果是网络存储这将影响你的数据读取速度。第四就是你的微服务的设计和拆分。第五就是你的CI/CD的设计。第五就看你们在建设的时候的需求了,如果你需要对象存储,你可能还需要选择ceph,如果你选择ABtest、蓝绿部署、或是灰度发布那么就考验发布方案和编排能力了。会不会写dockerfile、会不会写deployment.yaml,jenkins file,这些可能需要和开发团队、IT领导,服务商一起去探讨,如果需要引入代码审核,安全扫描等。


@Garyy 某保险 系统工程师:

容器这块目前已经成为业务上云的主流技术,越来越多的企业选择容器,可见其已深入“企”心。

1)针对这几个厂商的产品

OCP是红帽搞的一个容器平台,红帽在容器研发领域投入非常大,产品力也是不错的,尤其是平台的易用性和功能性方面。现在案例也比较多。但是,有几个问题是需要注意的,首先是OCP核心研发好像没有本地化的支持,都是一帮老外在搞,响应可能没有那么及时;国内基本是靠合作伙伴的能力,来做一些定制化和售后的服务,服务水平和技术实力不一定能达到原厂的要求。

博云是一家创业型公司,总部在苏州,也是红帽的合作伙伴,从OCP service开始做,目前已经有比较完善的生产线包括容器,微服务,运管平台,devops平台等;金融的案例也比较多,像银联。

2)使用运维一套OCP平台,不仅仅要有运维方面的知识技术,同时还应具备一定的开发能力,例如python,java等,还需要熟悉一些开源的产品技术了,例如Nginx,Prometheus,ELK,Kafka,Jenkins等。

3)规划需要case by case的去谈,是新建,还是利旧,跑哪些业务,都是需要去分析的。坑的话,肯定是有的,但是也要case by case去谈。


@用户A 技术经理:

曾在博云工作过,这些问题可以简要回答:

1、国内很多厂商都是基于K8S在做,博云有细分版本是基于OCP,如江苏银行。功能、性能上大致都一样,底层都是依赖OCP或者K8S。

2、先了解什么是Docker吧,不管是K8S还是OCP,网上有大量的教程可以轻松搭建一套试验环境,可以在试验环境上一步步操作了解其有哪些功能,能做哪些事情。容器平台的大部分功能都可以通过命令行实现。

3、上不上容器是要做一番前期调研工作的,比如要上容器的应用是敏态还是稳态,业务迭代是否频繁、是否要频繁上下线替换版本,是否有不确定性的业务爆发期等。强事务性的应用不建议上容器。

回答的都比较粗浅,若要深入探讨涉及面就会很广了~~


@郑金辉 中国电信系统集成公司 技术总监:

我很赞成上面专家说的内容,重复的话就不说,想说以下几点:

1、事前的规划很重要:关键是上容器有没有最好相应的准备,业务类型是什么,稳态还是敏态,是否频繁变化;有没有做好做的技术储备和技术积累,不光是人;有没有做好团队重塑的准备。

2、选型要量力而行:Redhat肯定是生态最完善的大厂,但在国内的服务高度依赖代理商,需要考虑,强调国产自主可控的场景需要慎重。Rancher技术过硬,但是国内的服务覆盖的问题不能不考虑;博云、时速云、灵雀云等是国内容器云的代表,服务能力是强项,但自主产品参差不齐,需要甄别。

3、产品能力不是唯一的维度:容器云的上线,跟微服务有千丝万缕的联系,不是简单产品的堆砌,更是需要大量服务的结合。

最重要的是要结合自身的实际情况,谨慎一点没大错!


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: