云计算到底是什么?
是云厂商根据云提供给我们一些资源,租用给我们使用
分为了私有云 公有云 混合云
但是使用起来并没有物理服务器好使,因为会有一部分性能被云厂商消耗了,实际资源使用只有70-80%,不过云厂商又推出了裸金属服务器,也就是给你一台实际物理服务器
云上的一些相关名词
对应的云平台的优缺点
云计算技术架构的演进也是不断迭代的
从传统的单体架构
到集群架构阶段
到现在的分布式架构
我们说下分布式和集群的区别
如果是分布式,我们先将一个大型应用,拆分出很多功能模块,各个功能部署在不同的服务器上,讲这些服务器组合起来提供完整服务
集群则是将某一个功能重复布置出来,部署多份,避免宕机
最终完成的架构模式如下图
我们现在要将这个架构进行上云
为了进行上云我们需要考虑一些问题
而这些问题,对于Java来说,我们可以考虑使用一些诸如Spring Cloud的组织架构来进行解决
但是,除了Java语言之外,还有着很多其他的语言也要考虑上云问题,所以整体解决方案,CNCF提出了解决方案
上面图可以看出,Spring Cloud提供了一部分数据,但是对于弹性扩容,DevOps能力,调度部署这些问题,没有良好的解决
而Kubernetes利用自身的生态优势提供了更为全面的解决方案
所以应用上云的新型架构就是 Kubernetes + ServiceMesh
之后说下云原生的生态系统
上图可以看出来,云原生的生态中,主要构成有
DevOps+持续交付+微服务+容器
再往里面深了去,或者更加具体的实现有
最后就是云原生的定义
CNCF给出的官方定义为
云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。
这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。
云原生计算基金会(CNCF)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。