最近群里有两三个人都提到了云原生,我就趁着周末的时间看看什么是云原生。
此文翻译自微软的文档,但是翻着翻着我就不得不吐槽了。
译文开始
你去问十个工程师,什么是云原生,很有可能会得到十个不同的答案。
云原生将颠覆你过去关于如何搭建一个核心商业系统的思维模式。
云原生的系统可以很好地应对极速变化、快速扩展和弹性伸缩(rapid change, large scale, and resilience)(译注:所有新技术都这么说)。
云原生计算基金会对云原生的官方定义如下:
云原生技术可以给团队赋能(译注:有阿里味儿),以保证团队能够在公共云、私有云以及混合云等各种动态的环境中运行大规模的应用,使用到的技术包括但不限于容器化、服务网格、微服务、不可变基础设施(Immutable Infrastructure)、声明式 API 等
这些技术可以打造可伸缩、可管理、可监控的松耦合系统。基于强健的自动化基础,这些被联合起,来的技术,可以让工程师很轻松地对系统进行重大的改造。
随着用户需求的增长(译注:我看是产品经理的不靠谱系数增长),应用变得越来越复杂了。但用户期待更快速地反应、更新颖的功能,还有零宕机时间。性能问题、不停出现的报错、难以维护的系统使得用户的期待很难得到满足,用户就会跑到你的竞争对手那里去(译注:制造焦虑)。
而云原生可以为你提供速度和灵活度。
以下是已经实现了这些技术的公司(译注:这些公司实现了这些技术,不代表这些公司使用了云原生),想一想这些公司有多牛 X(译注:跟你云原生有什么关系呢):
公司 | 体验 |
---|---|
网飞 Netflix | 拥有 600 多个服务,每天部署一百次以上 |
优步 Uber | 拥有 1000 多个服务,每天部署几千次 |
微信 WeChat | 拥有 3000 多个服务,每天部署一千次以上 |
这些公司的系统就是有上百个独立的微服务组成的。这种架构方式让它们能快速响应市场需求,它们能第一时间更新自己的复杂应用里面的小服务,也能按需求量将小服务快速扩张。
译注:我翻译不下去了,也没有必要继续翻译了。
下文讲了容器化、自动化、后台服务、Serverless、微服务、多项目仓库、持续集成、持续部署、日志系统、权限管理等等……都属于云原生。
然后我就懂了:只要我们把所有服务都搬到阿里云/腾讯云/微软云/亚马逊云上,就一定是云原生了,因为云原生的关键技术在这些平台上都有售。
你要是自己买几台服务器来跑应用,那绝对不能算作云原生。
而且你还得在设计系统的第一天起就默认已经购买了这些服务,不然就不够「原生」了。
合着「云原生」就是「云计算厂商」提供的套餐呗,买就对了。
最后我认为「云原生」还是不如 low-code,因为 low-code 连代码都不用写了。
快点出 low-code 套餐吧,我下次一定买。
手动狗头。