查看原文
其他

另一种声音:容器是不是未来?

Ian Eyberg CSDN云计算 2020-10-16

作者 | Ian Eyberg

译者 | 天道酬勤 责编 | 徐威龙

封图| CSDN 下载于视觉中国

CSDN 云计算旨在为读者提供更多角度的声音,本文仅代表作者个人观点,不代表CSDN云计算任何立场。
前几天作者看到了这则推文,可以这么说,是它促使我开始就本文主题进行了更多思考。       
正如我将在下文中提到的那样,表达任何事情时不能太过绝对,因为会引起其他人的反感。
我读了hackernews,我非常努力地避免打开评论部分,然而,我时不时地屈服于这种诱惑,我会看到有人抱怨他们由于安全性,性能或其他原因而将容器从生产中剥离出来。原因是(只有10,000个原因)。然而,我时不时地屈服于这种诱惑,我会看到有人抱怨他们是出于安全性或性能或其他原因(只有10,000个原因)如何将容器从生产中剥离出来。
然而,有趣的是,当这些观点被表达出来的时候,最近,我开始看到一些问题,比如“我真的很好奇——还有其他的选择吗?” 
有一段时间,我完全不知道问这个问题的人实际上在问什么。你的意思是有什么替代方案?你打开一个Linux机器,结束一天的工作。
从那时起,我意识到已经有整整一代的软件工程师在这种疯狂中成长起来的。想象一下,如果你在2013年(才7年前)是22岁或23岁,但是在一个软件世界中,这几乎是一生。如此漫长的时间足以让你从大学毕业,并获得你的“高级工程师”头衔。你可以在20多岁的时候只部署容器,甚至都不知道存在任何其他方法。例如,术语“ingress”在k8s社区中使用,就好像它是某种产品类别,而loand - see nginx被用作主要组件。你会看到人们问这样的问题:“你会用什么来进入?”他们问的是如何将nginx配置为反向代理。 
我不知道是否缺少教育,或者市场营销是否遮住了阳光,还是什么,但是,现在很明显,我们未能教会这批工程师某些技能。


简历驱动开发
 
发生的一个非常有趣的悖论是,许多kubernetes用户正在通过简历驱动开发来学习部署kubernetes集群,并且工程部门的副总裁和其他领导允许他们这样做,这样他们就可以留住他们,做一项已经非常困难的工作——招聘工程师。 
董事、副总裁和其他领导人实际上是在给他们点好处,让他们留在自己的公司工作——不一定是出于技术/成本利益。许多管理人员私下也承认这一点。
这种“特权”已经开始明显破坏软件工程生态系统。如果企业不采取正确的做法,这种对Linux技能的剥离将在未来对企业造成很大的伤害。
西蒙(Simon)有先见之明地注意到这是在两年前发生的。     
我认为我们最近开始看到这种加速。部落分裂是真实存在的。
 

安全是容器的丧钟吗?

容器和kubernetes在安全性方面的口碑比较一般。如最近在RSA会议上有关kubernetes中的高级持续性威胁的视频所展示的那样,很明显kubernetes是攻击者的一个未曾预料的目标。你拥有一个主机——即使是最次要的应用程序,你也可以完成。你的整个基础架构都准备好了。       
视频地址:https://youtu.be/CH7S5rE3j8w 
我们多年前就已经知道安全性最终将摧毁容器生态系统。默认情况下,它只是被破坏了,无法通过任何工具或体系结构更改来修复。
在最近的FOSDEM视频中,Kris Nova进入了kubernetes集群,来展示它是多么容易,然后展示了如何审计入侵:       
当你听到人们在推特或Linkedin上谈论有关“ devsecops”以及安全性的信息时,这是一个彻头彻尾的笑话。  Kubernetes和安全根本不属于同一句话。
补充说明,我认为人们应该真正了解Kris是k8s社区中的开发人员的这个事实,并且(至少)这是她第二次在演讲标题中将kubernetes称为“ clusterfuck”。如果他们自己的开发人员会参加会议并将该软件称为“ clusterfuck”,那么为什么要将这个clusterfuck带入你的组织呢?
  • 你到底为什么要把此ClusterFuck带入你的组织?

这里的问题是容器和扩展的k8s架构在默认情况下是被破坏的。不管任何供应商怎么说,都没有办法保证kubernetes集群的安全。首先,它从没有设计上的安全性。那是一间用纸牌搭成的房子,地基是沙子,到处是狂欢节上叫卖的小贩。
事实上,今年在FOSDEM上有很多推特上的引用,比如在这个演讲的最后几分钟里:“内核开发人员对docker社区的看法是,在极少数情况下,他们实际上可以正确地表达问题,而他们通常不理解答案。”
 

都是游戏
 
假设你没有读过前面的段落。经过多年的调整,他们的观众在“正确”的方式上提供和使用kubernetes集群的方式来调节受众群体之后,大型G公司引入了新的定价变化,引起了轰动。       
谷歌通过排除新的SLA, Anthos,提高了K8s集群管理费用的回报,但是客户并不满意。这是一个没人想要也没人要求的回归:
https://www.theregister.co.uk/2020/03/05/google_reintroduces_management_fee_for_kubernetes_clusters/
可以预见,这导致那些已经对GKE药物上瘾的公司彻底垮台。我不知道为什么每个人都被这个搞得措手不及——也许是因为谷歌承诺他们永远不会这么做。

摩擦
 
这就是问题所在,大多数容器和k8s人员都非常反对将其他任何东西作为基础结构范例的一部分。问题是,这些人花了至少5年或更长的时间,围绕着k8s神话建立自己的个人品牌,告诉每个人和他们的母亲,这就是阿尔法和欧米伽的全部归宿。

MicroVM和NanoVM
 
Google和AWS都知道并承认容器和kubernetes已损坏。 
这就是为什么他们努力通过市场营销改善工作的原因。我的意思是“开源”,例如firecracker和gVisor。当然,firecracker只能在非常昂贵的“裸机”实例(不是真正的裸机)和gVisor上运行。gVisor是另一个项目,在这个项目中,布道者声称谷歌已经在生产环境中运行了许多年,而在生产环境中,它最明显的替代了内部存在的某种类似的东西。

真相与谎言

显然,一段时间以来,我们一直在宣扬这种通用设计模式,即在独立的虚拟机上运行单个程序,以至于我们认为有必要创建自己的内核。有很多关于“简化系统”的说法,比如bottlerocket,但有更多关于剥离系统组件的说法,这些组件根本不属于2020年虚拟化世界的系统组件。用户是谁?谁需要他们?有多个进程么? 你的目的只有一个么? 可以交互式远程登录吗?
现在要完全清楚,我们所有的工程师都很高兴,并且大量Linux用户已经使用了相当长的时间。这个内核并不是为了取代Linux而设计的,因为Linux被用于许多内核从未试图解决的许多事情。
例如,我们绝不会在实际计算机上直接配置Nanos。我们也不会向它添加ssh支持(即使我们能够做到)。我们也不会将其作为台式机运行。今年不是开局之年。它存在的唯一目的是将其部署在服务器环境中。 
容器是不是未来?每一种技术都拥有两种不同的声音,一种支持,一种质疑。我们不能抹去他人质疑的权利,但也可以坚持自己的信念,各自为证,用结果来说话。
如果有不清楚的地方或其他意见,欢迎评论告诉我们。
原文:https://www.linkedin.com/pulse/containers-future-ian-eyberg/ 

2020 AI 开发者万人大会将于6月26日通过线上直播形式,让开发者们一站式学习了解当下 AI 的前沿技术研究、核心技术与应用以及企业案例的实践经验,同时还可以在线参加精彩多样的开发者沙龙与编程项目。参与前瞻系列活动、在线直播互动,不仅可以与上万名开发者们一起交流,还有机会赢取直播专属好礼,与技术大咖连麦。


今日福利:评论区留言入选,都可获得价值299元的「2020 AI开发者万人大会」在线直播门票一张。  快来动动手指,写下你想说的话吧!
推荐阅读:真香,朕在看了!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存