什么是云原生?
起源
云原生起源于云计算的兴起。云计算的实质是通过虚拟化技术,模糊了物理计算机计算能力,存储和网络的界限,通过堆叠物理机资源,即可以实现云计算机的扩容。同时通过异地多活技术,分片冗余技术,大大提高了系统的稳定性和可靠性。云原生就是一套适应于云计算环境的应用开发,测试,维护和持续交付的技术体系和方法论。
要素与关系
1.云原生当前技术体系
微服务技术--应用服务化,简化应用开发,强化服务治理
Devops--软件开发过程可视化,提高发布效率
持续交付--频繁发布,提高迭代速率
容器化--微服务最佳载体
2.云原生方法论
云原生技术期望做到:第一,软件开发摆脱对物理世界的依赖,通过iaas技术对物理世界的扁平化,软件开发人员几乎可以不考虑软件资源的限制(但是要考虑资源占用费用)。第二,应用开发和服务治理分开,简化应用开发,更强调对服务的长期治理; 第三,提高应用开发效率,简化开发,快速发布,快速迭代。
未来之路
云原生技术当前依然不够成熟,或者然门槛太高。体现在以下几个方面。
1. 使用云原生的技术门槛很高。如果说必须使用现有云原生技术的全部要素,才能算是云原生应用,那么这个体系太重了。对小规模开发者不友好,而且效率提升很可能是负的。
2. 微服务技术本身还在持续完善过程中。即使是大企业,为了实现微服务化,要做的改造和牺牲很多,包括技术层面和组织架构层面。从长远看,利弊很难预估。也因此,投入成本和效率提升带来的成本节约能否实现正收益是个问号。
3. 云原生方法论本身有可取之处,但是践行方法论可以有各种途径,不必局限于现有的云原生技术体系。当前的以谷歌为首的云原生技术体系这么火,谷歌更多是从商业的角度考量而非从提高效率的角度考量。
网友评论