过去十年是云计算的十年,创业公司灵雀云是大潮中的一隅,随着云原生向中央位置步进,灵雀云这类公司也逐渐接近核心区。
云原生的核心在于应用,如何使应用开发更便捷,维护更简单,云计算能否带来更多业务能力,而非只是资源方面的赋能,成为现阶段上云企业着重关注的问题,随之,云原生在企业数字化转型中扮演着更重要的角色。
DevOps、敏捷开发、微服务、云平台、Kubernetes和Docker、持续集成/交付(CI/CD)都是贯彻这一理念的方法与手段,10月24日,在灵雀云主办的CNBPS 2019云原生技术实践峰会上,通过对话灵雀云CEO左玥和CTO陈恺,雷锋网获悉云原生新动态。
Kubernetes的兴起带动了云原生相关技术的成熟,这一热潮其实也只是刚刚成熟。过去数年的云计算聚焦在虚拟化阶段,解决的是资源池化问题,企业上云使用资源池是第一步,其后是如何把已经建好的资源池能力发挥,部署更多的应用,实现新业务的价值。
这时就需要云原生,云原生是在已有虚拟化基础之上的应用实践。云计算软件和服务形态的逐渐发展,政府和企业更加重视上云效率,以及运用云计算是否能达到更好IT信息化决策,是否能赋予传统IT更好能力的需求。
和云计算发展的曲曲折折一般,云原生当然也走过弯路。在上午的主题演讲中,左玥系统总结了当前云原生解决方案落地的三大场景:针对新兴业务,云原生黄金三角(容器云、DevOps、微服务)全部落地,可以实现新兴业务的快速敏捷迭代,帮助研发人员和架构师打造自己的IT产品;
针对有大量传统应用需要数字化转型的企业级服务治理,以API为核心的云原生敏捷集成架构通过细粒度的集成部署、去中心的集成管理、云原生基础支持实现架构的敏捷;
针对大型集团企业的数字化PaaS大运营解决方案。大型企业IT内部在应用云原生技术,探索如何推动以应用为核心的IT重塑时,后经历过IaaS、SaaS两条路径,但两次实践都没有达成最初的目标。
集团企业最初是把IaaS层统一,做一个大资源池,由集团统一提供IaaS资源进行管理。
灵雀云CEO左玥
但却没有达到理想效果,“虽然IaaS资源统一,在一个集团公司里面管理子公司的应用和数据,但是这些应用和数据并没有打通,数据之间没有打通,应用之间也没有复用”,左玥表示。
第二次尝试自然而然就聚焦在SaaS的形式,把集团公司里所有应用,比如财务、HR、CRM等分解成一个个垂直应用,通过集团公司整体SaaS方案,对内提供整体的服务,只要是统一建设的应用,每个子公司都不再分别建设。
左玥提到,“这种模式也没有完全成功,有些管理性的业务,比如财务、HR,因为本身就是集团公司统一管理的,相对容易以SaaS形式统一推广,但是生产性工具,因为每个集团子公司都有历史原因或者自身特色,留下的大量核心生产系统很难通过SaaS系统进行统一。”
最终大型企业选择通过PaaS+数据湖的形式来给集团公司提供服务,底层是基础云平台,中间层通过云原生技术平台来支撑,做好数据湖数据以及应用的治理,上面则提供运营平台,同时改用松耦合的方式去管理。
“计量市场、企业级计费、安全等特性,都是在运营平台上实现的功能,各个集团公司能够非常顺畅的迁移到平台上面来,实现统一的数据治理。PaaS平台提供基础的管理、规范能力,在此基础上企业可以自行去开发自己的业务系统能力,而不是从头建设。同时也达到了管控和数据统一治理的效果。这就是我们提供的云原生技术的PaaS数字化大运营解决方案”,左玥总结道。
“如果一定要用一句话去概括2019年的话,我觉得2019年会是云原生理念和技术普及的元年,就是说很快,云原生也会变成一个新的常态”,陈恺肯定地表示。
灵雀云CTO陈恺
陈恺介绍,从去年年底,当时行业开始说Kubernetes开始变得“无聊”,这有几层含义:第一,核心技术变更的速度开始变慢,这是好的现象,因为一方面代表技术已经成熟,另一方面它的定位和边界非常清晰,哪些东西放在核心里面做,哪些东西通过扩展去做非常明确;第二,创新还在持续,但创新会转移到技术栈的更上层;第三,Kubernetes会变得无处不在,在企业应用场景随处可见。
但是Kubernetes核心社区并没有闲着,目前它有三个最主要的目标:
持续提升核心技术的稳定性、易用性、可扩展性;
想办法将更多的技术持续的集成到以Kubernetes为核心的云原生技术栈;
把以Kubernetes为核心的云原生技术栈推广到更加多的应用场景。
从云原生基础设施的角度,陈恺强调,Kubernetes正在编排一切。Kubernetes的核心是声明式API ,以及基于 “控制器” 模型的架构设计范式。
比如VMware把vSphere做了完整重构,相当于完全改成Kubernetes原生架构,Kubernetes去编排vSphere里面所有的资源,像容器、虚拟机、集群。
其他诸如大数据,Spark和Kubernetes的集成已经非常普遍;再如机器学习,Kubernetes和Tensorflow之类深度学习的框架做集成,相当于是用Kubernetes去编排机器学习的workflow;还有函数,容器和虚拟机都可以用Kubernetes做编排,函数自然也能用Kubernetes做编排,开源框架都在加速向Kubernetes靠拢。
“理论上所有可编程、有API、可抽象成资源的对象,都可以通过Kubernetes去编排。换个角度想,可以把Kubernetes理解成一个开发框架,基于这个开发框架去构建各式各样的上层平台,这些平台和容器编排不一定要有任何关系,所以很多新出现的技术,第一天就会说自己是Kubernetes原生的,一些已有的技术或者产品,也经常选择去做一些重构,变成Kubernetes原生”,陈恺表示。
陈恺还提到,从云原生应用架构的角度,当前企业面临着严峻的应用架构挑战,比如现代化用户体验与业务敏捷性的矛盾,单体架构遗留的技术债、有限资源与业务持续性的矛盾。
因此,云原生应用架构的落地需要遵循一系列务实的原则。首先需要明确,并不是所有应用都应该或者都需要做微服务拆分,多种粒度服务同时并存是很正常的事情,甚至我们默认应该从比较大的粒度开始,当业务层面真的有敏捷性需求时,我们才会按照变更的边界和优先级逐步做微服务拆分。
其次,当面对敏态业务、新兴业务,有敏捷性需求并且做了微服务化,一定要意识到微服务化之后会带来运维复杂度提升,这也就意味着做了微服务化一定要拥抱云原生,容器化并迁移到基于Kubernetes的平台上,甚至在Kubernetes平台上应该用Service Mesh对应用做微服务治理。
此外,API在整个架构中具有非常重要的作用,一个应用即便不做微服务拆分、不更改架构,也可以做一些服务化适配,将一些关键能力通过API输出,无论是对企业内部的集成还是对外能力开放,API都能起到很大的作用。
API治理也成为新的需求,API治理一般会通过API网关来实现,但不会只有一个API网关,有时有多个层级的API网关。一般来说,越往上,API网关的职能越偏向运营,越往下,API网关的职能越偏向技术。比如做限流,在企业层面的API网关可以做限流,做API限流的目的可能是因为某个用户买了一个套餐,套餐有一定额度,只能调用这么多次;而在ServiceMesh里做限流的目的是为了保护后端的服务,让它不被DDOS。
灵雀云最近推出了Alauda API Management Platform(AMP)企业级API管理平台,定位是企业总的API网关,负责南北向的API治理,更偏运营层,主要职责是API全生命周期管理、API能力开放运营(API Economy)、API治理等,帮助有大量传统IT业务的企业客户实现云原生应用架构的落地。
据信通院《中国云计算开源发展调查报告(2019年)》,超过七成的企业已经使用容器技术或正在测试应用环境,36.4%的企业已经使用了容器技术,云原生落地已经进入企业核心地带,成为企业突破转型瓶颈的重要路径。雷锋网雷锋网
相关文章: