云原生?真就这么简单?

肯定不简单啊。我懂得不多,先从我个人角度聊聊云原生。 

由来

云原生,全称CloudNative。和其他热门的概念词一样,云原生也是从国外传入的概念(国外理论第一,国内应用第一),在国内是由阿里在2019年提出,普遍认为2019年是国内云原生元年。 

云原生怎么玩?

它不是具体的框架,更像一种设计思路(或者说概念),它倡导云原生应用都应该具有某些特征。从大众角度看,大致包含四个板块​(图片来自网络):

分别说说吧。

持续交付(CI/CD)

自动打包、编译、部署、运行。现在商业模式越来越多,竞争越来越紧张。几乎所有公司都希望可以更快:更多的功能,更快的更新,更小的代价。之前可能是一周一个小版本,一月一个大版本;之后可能会变成每天N个小版本的高频更新。尤其是进入微服务时代,各种微小的服务需要各自更新迭代,成本太高了。且在这一行,只要是人操作的,就不可避免会出错,只是概率高低而已。更新越快,出错概率越高。自动化不是不会犯错,起码不会犯低级错误,所以必须自动化。这和云原生有什么关系?这个问题我之前也有,但是把其他几个点看完以后我就懂了。

DevOps(开发/运维)

和现在公司管理布局不一样,云原生意思就是开发/运维/测试都是一家,直接从管理体系下手。有中型以上公司工作经验的同学,相信都有【部门墙】的概念。开发写完给测试,测试走完给运维,但凡是有测试失败、运维失误之类的,那交付就要拖老远。除了Task没完成影响绩效,还会给公司造成损失。到时候又是甩锅大会,烦人的很。我想云原生就是想让开发专注做开发,其他的事情全部都用自动化替代,更纯粹。

微服务(Microservices)

微服务不用说了吧?铺天盖地的广告+课程推广,它的重要性?看大厂们的选择就知道了。不过这一块除了学习门槛高,实战门槛也很高。毕竟也不是所有公司业务都达到非它不可的地步,而且也不是全都能hold住它,这就少了很多实战的窗口。要知道实战和学习差距不是一点点,生产环境遇到的问题,在学习过程可能永远遇不到。但它的确很重要,业务规模到了那个程度就必须去升级,不然早晚狗带。

容器化(Containers)

docker必须拥有姓名。如果没有docker,微服务还不知道多少年以后的事。容器化好处可太多了:节省资源、方便管理、环境统一、分发容易等等。不过这东西想玩的好一样要深入学,反正就是绕不开脑细胞的死亡。微服务有了,那容器化必须有。

总结

整体看下来,我觉得云原生是一种综合了管理、结构、架构的技术发展方向。可以感觉到,市场越来越快了,这社会更新的频率也不断在加速,更稳更快的技术交付已经成为判断技术力的新指标,究其根本还是业务倒逼技术发展。如果没有双11、618,可能就没有公司为了抗住高并发去升级架构;如果手机没有语音助手、全面屏没有人脸识别,可能机器学习、人工智能的理论仍然藏在某个研究所的档案室里。但我觉得云原生没那么简单,它只是概念相对清晰,就算硬凑上面四个板块出来,也不一定是云原生应用,但如果开发只专注开发,不用关注运维、测试等方面,可能就是云原生所倡导的最终结果了吧。

posted @ 2021-06-02 18:50  老马-Max  阅读(496)  评论(5编辑  收藏  举报