引言:人生不会有太多的十年,但仅仅一个十年也可以成就很多事情。云计算从诞生到现在走过了十年,在不知不觉间改变了我们的生活。
人生不会有太多的十年,但仅仅一个十年也可以成就很多事情。云计算从诞生到现在走过了十年,在不知不觉间改变了我们的生活。
从传统的IT时代到互联网+,到今年两会提出的智能+,再次告诉我们科学技术是第一生产力,而创新则是引领发展的第一动力。从传统的PC互联到人人互联再到未来的万物互联,我们的经济发展慢慢的变快也慢慢变得复杂,这迫切地需要我们的信息系统响应能力也越来越快,基于传统的IT架构解决方案也向更加灵活快速响应的云架构进行迁移转换。
在以往没有云的时代,企业IT建设杂乱无序,烟囱式的建设、分离式的运维、分散于各系统的低效开发,严重制约了企业的快速发展,我们需要把应用软件集成起来、平台整合起来进一步提高我们的协同共享,实现可持续的发展。
如何缩短开发周期怎么降低投资成本减少资源浪费如何从整体的业务出发,进行合理规划怎样才能有效的规避系统建设过程中的风险如何控制维护成本。
云的出现极大改变了企业IT建设中一些固有的问题和缺陷,实现了按需交付、随需扩展、简单快捷、管理灵活和成本节省、安全合规。
截止到今天,云计算的服务模式仍在不断进化,但业界普遍接受的SPI模型按照服务的提供方式将云划分为三个大类:
计算能力,小型机数量依然很大需要进一步X86化,投资较大厂商锁定严重,VMWARE在传统企业占有很大比例网络和存储能力,采用传统的VLAN隔离,业务规模扩展和灵活性较低。Fc-san高端存储偏多成本较高,没有按业务需求配备相应等级的存储资源。
后续云计算发展演进的目标架构是需要通过资源池的整合,建设完善PAAS能力,通过采用云管理平台横向打通各域能力,为业务创新、快速上线提供有力支撑。云计算十年发展演进的几个关键总结:1、把标准统一 2、把标准落地 3、少做重复的事 4、多做增值的事 5、技术+服务+运营
2B、2C概念的流行源自本世纪初的一轮互联网热。2000年前后,随着互联网的兴起,变革意愿强的企业,开始建立网站,通过网络销售公司的产品。如果销售产品的用户是终端消费者,这个网站就被称为B2C网站;如果销售产品的用户是企业,那么这个网站就被称为B2B网站。互联网泡沫后,一些面向消费者的平台型B2C网站逐渐被用户接受。B2B平台因其高技术门槛,逐渐演化成为两种形式:一种是只做信息整合的B2B网站,另外一种是利用互联网承载。迈克尔·波特在1985年提出的价值链概念,逐渐演变为供应链整合。所以我们看到当C端消费互联网充分发展后,流量红利消失殆尽,而B端企业和供应链企业的整合也就提到日程上来了。产业互联网也被称为消费互联网之外的机会。
产业互联网对整个国民经济、产业格局、企业行为和产品服务都有深刻的影响,更关乎到中国的未来发展。从BAT的大举进军产业互联网,我们看到新一轮的大幕正徐徐展开,那么产业互联网的本质是什么?是效率效率还是效率。产业互联网改造效率,才能在互联网化的用户体验竞争里取胜。
我们从IT基础设施的发展变化中可看到效率提升的主线也特别明显而清晰。从瀑布到敏捷到DevOps,开发效能在不断提升;从单体应用到多层到微服务,应用架构在不断解耦和细化;从物理机到虚拟机到容器,我们的部署效率在不断提高;从传统云到混合云多云,云在应用场景上不断丰富,效能上不断提高;从纵向扩展到横向扩展到存储即服务,存储从集中式到分布式到灵活提供各类存储服务,提升了性能也扩展了应用场景。
不只是基础架构在快速的变革,我们的应用架构和交付也在发生变革。传统应用在向云原生应用快速发展和变革,把大型复杂软件应用拆分成多个简单应用,各应用之间松耦合,这样降低了系统复杂度,还可以做到独立发布部署、独立扩展和跨语言编程,当然这一切的变化也将导致我们研发和运维各部门工作模式的转变。
垂直应用架构:当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。
分布式服务架构:当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。
流动计算架构:当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键。
微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单体应用程序划分成一组若干小的服务,服务之间互相协调、互相配合,为用户提供最终价值。单体应用程序拆分成微服务后,服务治理是关键。每一个微服务都有自己的业务逻辑和适配器,还有自己的数据库。通过统一的API接口进行调用,当然服务多了服务之间的依赖关系就会变得复杂,上万个微服务不能只靠人手工来管理了,就需要服务能自动注册自我发现,而且能通过全链路的监控去发现故障和问题,及时预警和容错处理,来保障整个系统的稳健运行。当然企业里的应用复杂,我们也希望微服务有统一的代码框架,能支持多种编程语言。目前的Spring Cloud和Dubbo都支持的语言和开发框架有限,像华为的ServiceComb、腾讯的Tars等都在快速的崛起。
应用架构的变迁总体来说,从MVC到RPC到SOA到微服务,我们看到应用和服务的拆分、独立部署,小团队的敏捷开发快速迭代,这些都大大提升了效率,降低了应用的交付周期、使得应用运维的成本也大幅下降。
伴随着容器和微服务的流行,云原生这个词越来越火。在云的时代,未来企业的应用会更多的迁移到云端,基于云的架构设计和开发模式需要一套全新的理念去承载,于是云原生思想应运而生。云原生(Cloud Native)其实是一个不断丰富的理念,更是一个思想的集合,它包括DevOps、持续交付(Continuous Delivery)、微服务(MicroServices)、敏捷基础设施(Agile Infrastructure)等。Cloud Native既包含技术(微服务,敏捷基础设施),也包含管理(DevOps,持续交付,技术运营、应用设计、安全风险管理等)。Cloud Native也可以说是一系列Cloud技术和企业管理方法的集合。
云原生是根据云的特点去设计更适合云的应用,它专注于业务需求实现,把非业务需求之外的功能剥离出来下沉到底层的基础设施,而云则向上提供各种资源和能力,屏蔽复杂的底层细节,让云更简单好用。
下面我们看一下云原生的技术栈,引入了Serverless和Service Mesh。Serverless函数计算,一段代码定义一个函数式服务,真正按需调用。应用拆分为成千上万个微服务后,底层通信变得异常复杂,引入了服务间通信层就是 Service Mesh,它可以提供安全、快速、可靠的服务间通讯(service-to-service)。云原生的应用可以运行在任何云的基础设施之上,不依赖于Linux或Windows等底层平台,或依赖某个具体的云平台。也就是说,应用从开始就设计为运行在云中,无论私有云或公有云;其次,该应用必须能满足扩展性需求,垂直扩展(向上和向下)或水平扩展(跨节点服务器)。
除了这些之外,要发挥云原生管理的固有优势,还需引入智能化实现自助服务、自治管理。目前企业在上云后,大多依靠“以人为本”的方式,凭借大量工作人员的个人能力和经验、自觉来进行运维工作,这种将劳动密集型服务简单粗暴的从传统IT基础设施转移到云上来,只能是市场体量较小、技术发展程度不高的现实条件下,采取的一种过渡方案。而通过引入智能化,实现服务自动发现、告警自动检测、故障自治处理,改变这种传统的服务方式下的效率低下、人力成本过高、手工运维过程中的误操作,也会大大提高企业云的可用性,日益扩大企业级的云服务市场。
我们看到K8S快速崛起,并统一了容器编排系统,为云原生应用提供了一站式的服务。Kunernetes的出色表现,则为运维工程师的工作模式带来了颠覆性的改变。他们再也无需像照顾宠物那样精心的照顾每一台服务器,而当出问题时,直接将出问题的服务器换掉即可。有了业务高峰时,自动扩缩容以适应变化。业务开发工程师不必再过分关注非功能需求,只需专注自己的业务领域即可。而中间件开发工程师,则需要开发出健壮的云原生中间件,用来连接业务应用与云平台。
技术:从系统向应用靠近,从功能向服务转换,从单点向大规模集群调度和管理演进管理:两个转变和一个转型。操作中心向服务中心转变,内部工具向协同平台转变,成本中心向经营中心转型。三、平台的崛起
PaaS是一种云服务,为用户提供平台,使得用户能够很方便地开发、运行和管理应用,而不用去构建和维护与开发和运行应用相关基础设施。 --
新一代的PAAS以Docker为基础,在传统PaaS功能基础上,面向微服务使用场景,创建DevOps流水线,并集成不断涌现的大数据和机器学习等服务,成为一站式应用交付平台.
PAAS的整体架构包括开发测试相关功能组件和平台管理、基础架构功能组件,下面则是IAAS平台。
中台战略是阿里提出的,它的由来很有意思,是阿里高管2015年参观世界上最成功的移动游戏公司supercell,这是一家典型的小团队模式进行开发的公司,可以最快的推出游戏内测版,如不受欢迎,可以迅速的放弃这个产品再进行新的尝试,期间几乎没有管理角色的介入,团队失败后,不但没有惩罚,甚至会举办庆祝仪式,以庆祝他们从失败中学到了东西。它的核心竞争力就在多年的游戏研发中积累了非常科学的研发方法和体系,也就是中台能力。
我们知道厂商开发的通用技术PaaS,里面既不包含业务逻辑,也不包含业务数据,更不包含业务模型,那么企业里有众多的应用都可以集成到PAAS里么?可以,但经年累月也可以造出来,但大而笨重,等造出来可能黄花菜都凉了。首先传统企业研发能力都不强,依托第三方来造一个这么大而全的厚重平台真的不划算,那么中台来了,利用中台可以快速支持多产品团队,对多产品团队进行连接和赋能。申明一点,中台,不是具体的应用,中台的很多组件是可以被众多的应用集成的。中台分为业务中台、数据中台、技术中台和组织中台(点兵点将、排兵布阵),这里数据中台可以先行,组织中台不可缺失。组织中台要与业务、数据、技术中台的变化匹配,才能释放巨大的创造力,加速企业的发展和转型。
企业云平台,服务是核心价值,以客户为中心的理念非常重要。从云计算的发展业态来看,云服务提供者(如:AWS、阿里云)是最核心的角色,其强调的是服务,也正是这些服务带来价值,所以企业云计算的发展也需要企业云服务提供者。
通过构建多云,企业可以实现统一管理公有云和私有云、跨国跨区域的业务系统部署、关键数据的云灾备、应对短时的云爆发业务需求、全局的高可用性和性能需求、各云服务提供商的优势/高性价比服务选择、成本分摊及优化能力等。但多云带来的最大问题是服务异构,多活也意味着必然有大量数据同步,带宽,时延,数据一致性方面都有很大挑战,管理成本也会上去。所以可以优先考虑单朵云内同城和异地建设,这样基础层面同构,可以更好地专注在业务容灾和双活建设上。
厂商自主可控,现在要求我们自己自主可控,实现的途径就是自研软件和走开源战略。互联网的加快速度进行发展还有云的深入应用,促进了开源软件的大发展。开源软件的使用也提到了战略高度。
企业选择了一项技术意味着将要承诺长期支持不断发展的业务的解决方案,因此这需要仔细考虑观望和选择。如果一家企业判断错误,往往会导致显著提高开发成本和降低开发的灵活性,而这种不幸的结果也将会是持久的。通过开源,打造行业应用软件产品,对自己的业务有益,同时功能完善后可对外输出形成商业级产品。
在过去十年里,企业采用开源软件的趋势在蓬勃发展,因为慢慢的变多的企业发现开源解决方案拥有相当大的优势,可延续他们专有的功能。除此之外,企业围绕开源构建自主可控的生态也可实现可持续发展。开源软件具有长期的可用性,比专有软件的寿命更长。而且,由于有支持力强的社区在不断引进创新,开源软件始终处于技术发展的前列,并在促进企业未来发展的同时,快速满足企业的需求。
开源构建的生态协同格局:生态不是硬建出来的,而是大家相互依存和合作,共生共创共赢自然而然形成的生态体系,这才是真正的生态,长久可持续发展的生态。