云原生应用

在峰会的第二天很多企业分享了他们在云原应用方面的实践和思考。
 
云原生应用
云原生是一种方法,用于构建和运行充分利用云计算模型优势的应用。云原生应用充分借助云计算平台的计算,存储,网络以及负载均衡等一系列的能力来构建应用。应用本身不用再关注基础架构,高可用以及服务水平扩展等能力,而将重点放在业务本身,因为云计算平台可以帮助应用解决这些方面的问题。当然云原生应用再构建时必须按照云原生应用的开发方式进行应用的开发和构建。
 
云原生应用特点
1 被打包成为轻量级的容器安装包。云原生应用由一个个可独立运行的服务组成,服务之间相互通信相互协作。云原生应用快速地进行服务规模的水平扩展和缩小。
2 可以使用同类最佳的语言和开发框架,云原生的服务可以由不同的语言和框架组成,而不用考虑兼容性问题,这是云原生能力。
3 设计为松耦合的服务的组合。
4 服务与服务之间围绕api进行交互和协作
5 将有状态服务和无状态服务进行分离设计
6 不依赖于具体的服务和操作系统,当然有些微服务应用需要一些特有的能力,比如SSD和GPU,这些可能需要一部分机器来提供。
7 云原生应用一般部署在自服务,弹性的云基础设施之上
8 通过敏捷的DevOps流程来进行管理
9 高度地自动化。云基础设施已经帮助应用解决了大部分问题,云原生应用很好地利用了将云基础设施作为代码的概念。
10 通过已经定义好的策略进行资源分配。云基础设施的资源可以动态分配,这样每个服务占有多少资源是通过一定策略预先定义好的,这样可以充分利用云基础设施的能力,避免资源的浪费。
 
云原生应用具有很强的生命力,很多的公司都在探索云原生应用的构建之路,EasyStack在进行EMS Live Demo时提出以云原生应用为中心的多云管理策略,支持将云原生应用部署在异构资源池之上。并且会在未来打通DevOps流程,全自动化管理应用的开发,打包,安装部署整个流程。
 
在过去几年企业都在进行资源上云的探索,逐步建立了基于OpenStack或kubernetes等的云基础设施,但在建立云基础设施之后如何充分利用云基础设施的能力成为企业关注的重点。腾讯在峰会上分享了他们在面临的挑战和困境,如僵化的IT架构,单一供应商的绑架,增长的运维压力等。为了解决这些问题腾讯采取的解决方案就是拥抱云原生应用。与传统应用不同云原生应用具备自动化,智能化,摆脱底层硬件限制,弹性设计按需索取等一些列的优点。
 
在云基础设施架设完成之后,新开发的应用在最开始就可以设计为云原生应用。但对传统单体应用的改造成为一个难点,什么样的应用适合进行改造,如何进行改造,腾讯等公司就此也分享了他们的经验。
 
适合改造的应用具备如下特点:
1 大型复杂应用
2 业务需要频繁升级
3 功能持续扩展
4 稳定高可用
 
而改造的步骤分为以下步骤:
1 分拆模式:按照业务功能,组织架构,使用频率伸缩单元,领域驱动拆分。
2 分拆规范:纵向最多拆三层,单向调用,串行改为并行或异步调用,采用标准REST
3 集成模式:聚合器设计,分支设计,API网管,灰度发布。
4 应用状态分离:统一配置中心,热数缓存,静态数据对象存储,有状态数据库
5 应用容器化:应用分析,避免多进程,网络梳理,非入侵监控,统一日志管理,启动优化,镜像制作,编排打包
6 流水线建设:接口测试,测试环境搭建,应用发布,系统测试,应用上线。
 
当然传统应用的改造还要根据不同公司内部具体的情况制定相应的策略。
中国移动分享了他们基于云原生技术支撑智慧家居和人工智能应用的过程,借助于云原生的能力,解决了应用本身
很多的问题。
 
相信在未来以云基础设施为支撑的云原生应用会有很大的增长。
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/zhouqi0505/p/11809522.html