割裂的云计算服务与其发展理念相悖 传统应用上云应该得到更佳的体验
我在长沙创业的方向和云计算有一定的关系。在这里我谈下个人对云计算发展的看法。
目前,很多企业对是否上云的问题都初步达成了共识。大家都在各大云厂商尝试或完成了上云,按需按量配置计算资源,一定程度上节约了开发和维护成本,但上云的过程还是存在不少问题:
上云是有成本和门槛的。一方面,并不是所有的业务都适合上云,另一方面,工程师需要对云端产品有一定的了解,以及针对自身业务来进行部署云端架构。
上云之后,如果没有配套的云端基础设施、架构和理念,那么也并不意味着会更“快”。互联网企业都处在“快鱼法则”之中,如果应用没有针对云端基础设施进行架构适配,团队开发管理理念没有跟随云端架构以及主流理念改变的话,上云之后,效率也并没有变得更高,问题和故障可能也没有变得更少——总之,软件的交付速度和稳定性并没有随之有了很大的改变。
云端的生态和体验还有太多的不足之处。云端基础设施很多,但是用户体验上各家各有千秋,功能理念也互不相同,因此大部分用户在云端用的最多的基础设施还是以虚拟机为主。并且,在各大云厂商提供的产品和服务之中,热门产品相对问题不大支持也多,但是冷门产品文档滞后以及不全,体验可能还不太好。
各家的云计算服务是割裂的。这是特别重要的一点,在很多情况下更换云服务厂商,会出现问题,不仅迁移成本非常高,甚至软件架构有可能也需要动“大手术”。就拿最常用的虚拟机来说,各个云厂商的虚拟机镜像就没法顺畅的相互导入,更何谈其他产品。这一点,其实是和云计算的发展理念相悖的。
结合以上的一些问题尤其是最后一个问题,我再谈谈我的看法。随着云计算的发展以及大数据、人工智能、物联网等产业的兴起,企业越来越渴望云计算能够提供更高的计算能力(比如大规模的云计算)以及更快更顺畅的软件交付体验。
在这种趋势下,云计算就更应该是共融共通的,多云也是必然的,用户可以根据自身的情况在各大云厂商来选择一家或多家的计算资源来配置使用,并且不被各云厂商所绑架。试想一下,如果云计算割裂的问题解决了,那么大家面对的就是一个浩瀚无边的强大的云资源池,应用可以在各类云服务和基础设施之间快速转换以及弹性伸缩,那么软件也可以瞬间获取到大量的计算能力。
同时,上云也应该更为顺畅。抛开其他的不说,传统应用的一些问题,应该要在上云之后得到改善,获得更佳的体验以及更快的软件交付能力。
脱颖而出的 Docker+K8s 组合 代表着无服务器计算服务和云原生应用平台的未来
如何解决以上的一些问题,在虚拟机时代各大云厂商以及主流的一些互联网公司就一直在思考和不断地实践。无服务器计算服务(Serverless)一直在尝试和迭代之中,云原生应用平台也被不断的提上日程。这里,就不得不提到 Docker 和 Kubernetes(K8s)!它们分别是容器技术和容器编排技术的王者,两者的组合引发了整个互联网技术的深刻变革,引发了全面容器化的浪潮,同时也反向促进了云计算往更加理想的方向演进,也代表着无服务器计算服务和云原生应用平台的未来。
Docker 和 K8s 并不算是全新的技术和理念,虽然横空出世,但是短短时间内打败众多对手脱颖而出并获得大家的一致认同,是有很多原因的,包括 Docker 的更轻更快,开源,隔离应用,K8s 的便携性、可扩展性和自动修复等等一些优势。但是很重要的一个原因是,在虚拟机时代那些无法解决或者说很难解决的问题,以及那些积压已久的需求——比如分布式系统的部署和运维,物联网边缘计算的快速开发、测试、部署和运维,大规模的云计算,等等,在 Docker + K8s 的组合下找到了突破口,并且也极大的促进了云计算的发展。尤其是 Kubernetes,更是代表了云原生应用平台的未来——他借助 Docker 和微服务架构的发展迅速崛起,高举着云原生应用的设计法则,硬生生的打败了所有的对手,赢得了一片更广阔的天地和更璀璨的未来——他在原有的云计算基础设施上,抽象出了云原生平台基础设施,形成了一个高度自治的自动化系统平台。
因此,Docker + K8s 的组合之所以广受欢迎,一方面是它们本身就代表了云计算服务的趋势,代表了云原生应用平台和生态的方向,另一方面,主流的云厂商都提供了容器服务+k8s 的相关产品,并且为之打造了极其强大和丰富的生态。其中许多云厂商还推出了无服务器计算容器实例产品,这意味着容器能够在无服务器计算的基础设施上运行。比如在某些机器学习的场合,用户就可以在无服务器计算的基础设施上几秒内启动成千上万个容器,然后挂载共享存储的数据或图像进行处理,当批量处理完成后,容器自动销毁,用户仅需按量付费。
总之,Docker + K8s 的组合促进了全面容器化浪潮的到来,也标志着云原生应用的浪潮的到来,传统应用升级缓慢、架构臃肿、不能快速迭代、故障不能快速定位、问题无法快速解决、无法自愈等等一系列问题,都将得到更好的解决。
Docker + K8s 组合在国内现状
前段时间我对比了下国内外云厂商提供的容器服务,就发现存在一定的差距,也就是说,连厂商的支持都存在一定的差距。那么可想而知,从开发者的体验来讲,差距就更大了。
Docker + K8s 本身就存在一定的门槛,尤其是搭建自建的 K8s 集群。哪怕在这么火热的情况下,我接触到的大部分开发者都并没有使用甚至了解过他们。而且大部分情况下,开发者上云基本也只用到了虚拟机。对于以上情况,我认为有以下几点原因:
认知度较低。
对容器服务以及容器编排服务的认知还不够,认为 Docker + K8s 只是一种单纯的相对先进的技术,不能够很好地理解其优势和趋势,认为其并不能给现有的开发运维体系带来什么改变;
缺少系统的教程或完整的实践案例。
对于想更好地学习相关知识的开发者,缺少系统的教程或完整的实践案例,不能提供很好的技术引导。这使得普通开发者普遍认为使用 Docker + K8s 很麻烦,改造成本过大,只有大公司才能用,门槛很高;
相关的云端产品不够友好。
云端容器服务产品用户体验不够友好,对于初学者门槛太高——这个太高指的是消化这些概念和理念,并且能够掌握和可控;同时,云端的容器产品各家都进行过包装,各家的体验各不相同,和原生的体验也不同。
云计算将会继续高速发展 在边缘计算领域大有可为
如果说集装箱促进了全球化的发展,那么云计算则促进了整个互联网及相关行业的发展,它们都在潜移默化中改变了你我的生活。
个人认为,随着无服务器计算服务的深度发展,云的边界将进一步打破,云计算将会迎来更高速的发展并且将无处不在。未来每个人的数据都将托管在云端,每个人都将成为“开发者”。
同时,随着 5G 的到来以及物联网的发展,边缘计算将会迅猛发展,我们身边的智能设备,包括可穿戴设备都可以成为边缘节点,边缘云也会随之兴起,容器以及容器编排技术在边缘计算领域将大有可为。
不过,技术是日新月异的, Docker + K8s 也不一定是最终的解决方案。为了跟上云计算的发展,我们需要跟随主流的技术和理念,适时自我刷新。
关于 TVP
我作为一个二线创业者,再次来到深圳,感触颇深。前段时间有一个视频很火,视频的主题是“给你 100 万让你离开深圳,你愿意吗?”,戳中了很多人的心,我看了之后也是感慨万千。
自打回长沙创业,我深刻地体会到了二线城市互联网发展水平和一线的差距,这令我感到一些失落。不过,我因此也立志于和一帮志同道合的朋友一起来改善长沙本土的互联网技术氛围。
于是,我加入了 TVP 这个大家庭,积极参与云加社区组织的技术交流会。我本人计划在今年下半年出版一本容器和 k8s 相关的书籍。最近,我们还会推出一个交流技术的社区网站,组建多个技术兴趣小组,组织更多的公益性的技术交流活动。
在此,我由衷地感谢腾讯云以及云加社区对我们开发者、创业者、技术社区和中小企业的支持和帮助,同时也希望继续和 TVP 专家们学习和交流,希望各位 TVP 专家能够多来长沙看看,也希望携手云加社区给开发者带来更多干货和支持,共同促进长沙互联网企业的发展。
在技术日新月异的今天,我们唯有不断自我刷新,砥砺前行。
嘉宾介绍:
李文强,心莱科技 CEO/CTO,长沙.NET 技术社区执行主席,腾讯云最具价值专家(TVP),荣获“2019 TVP 社区突出贡献奖”。加入腾讯云 TVP 以来,建立了长沙本土技术社区,致力容器教程编写等技术分享,辅助云加社区举办长沙开发者大会,给腾讯云产品团队提出多个有效反馈建议。
本文转载自公众号云加社区(ID:QcloudCommunity)。
原文链接:
https://mp.weixin.qq.com/s/ppzkuNKt962qzqbGuURrxw
评论