[摘要]少了无服务器数据库,serverless就难以施展拳脚。无服务器数据库能随着用户业务智能化伸缩。
这几年,无服务器serverless技术与服务万众瞩目,给云计算带来了革命性的变革。
但是serverless落地并没用想象的那样出现井喷,却表现心有余而力不足的疲态。原因是什么呢?
最主要的原因是无服务器生态缺少最后一块拼图——无服务器数据库serverlessdb,无法形成全栈式无服务器解决方案。
2020年4月7日,腾讯云正式发布了国内首个serverless数据库新品postgresql for serverless(serverlessdb)。这样,开发者在腾讯云上就能够基于全栈serverless解决方案构筑云原生应用。
而在国外,2018年8月,aws无服务器服务aurora serverless正式支持mysql版本数据库,2019年则正式支持postgresql数据库。aws能根据流量自动缩放规模,提供用户按需付费使用的两种数据库服务。
serverless db是serverless生态领域最后一块拼图。有了这块拼图,serverless技术与服务的“威力”将大增。
01、serverless db,数据库应用最新阶段
serverless也被业界认为是继虚拟化、容器技术之后的云计算的第三代通用计算平台。它通过封装几乎全部的底层资源和系统运维工作,使开发人员更容易专注于应用本身,并可以按需使用云基础设施。
但是,客户只有在接入层、计算层和数据存储层都可以通过 serverless 化的服务来实现,才能真正做到了无需关注底层设施,只需聚焦于业务实现。
腾讯云中间件产品中心总经理肖雨浓介绍,在接入层,通过api网关的弹性能力,可以实现安全、稳定的流量接入。
在计算层则通过云服务商高可用、高并发的serverless技术——faas平台实现业务逻辑。
在数据存储层,则通过serverless db 直接对数据库连接并进行sql操作。
这样,腾讯云就拥有了一套serverless全栈的核心解决方案,包括serverless api网关、腾讯云的serverless函数计算服务、serverless对象存储和数据库。
serverless数据库原来没有自动伸缩的能力,现在通过底层共享池,让中间变成无状态的计算层,数据库也就拥有了快速扩缩容的能力,形成了serverlessdb。现在用户可以做到一秒部署,可以让开发人员像写代码一样,把db当做一个组件来使用。
数据库服务也不断演化,从传统的自建数据库一路演化到现在serverless db。
数据库应用的第一阶段是用户自建数据库,这是数据库应用最传统的方式,用户在自建机房时,就要考虑数据库选型,而数据库本身更要关注机房本身的物理部署,灵活性和可扩展性都不高。
第二个阶段,也是目前数据库应用的主流,在云上以paas服务的形态,以租用服务的方式提供给客户。在数据库paas服务阶段,用户不用关心机房的物理部署了,但是要关心扩缩容时机。
在paas方式使用数据库过程中,用户经常会碰到数据库扩容的突发需求,能否满足这些突发的扩容需求,成为用户关注的重点。
在paas服务的基础上,云服务商又提供了云原生的数据库服务,可以提供快速的扩缩容的能力。这就是数据库服务的第三个阶段。
在云原生数据库阶段,用户不需要考虑扩缩容时机,但是要考虑它的费用、成本等。云原生数据库还不能实现按更小的粒度实现按使用量付费。
第四个阶段则是无服务器数据库应用阶段。无服务器数据库具备完全自动化的扩容能力,它能够随着用户业务的请求数的增加和减少,智能化“膨胀”和“缩小”,实现资源的自动“吞吐”。
这种全自动化特性,能够为用户带来更经济的计费模式和更丝滑的扩容体验,它可以让业务根据请求的繁忙程度实现平滑的全自动响应,而无需人工介入。
serverless最早由亚马逊提出,并于2014年推出第一个serverless服务,在当时,因为过于颠覆,用得人很少,直到最近几年才逐渐被业界所接受。
腾讯云发布的postgresql for serverless和aws aurora serverless的postgresql数据库,简单的说就是无服务架构版的postgresql数据库服务。
在西方,开源数据库postgresql已经家喻户晓,广泛应用。最近又连续两年蝉联db-engines 2017、2018年度数据库大奖。“postgresql比其他监测到的343个数据库管理系统更受欢迎。“
由此我们我们用postgresql来比较无服务器数据库与普通数据库。
首先,serverless到底价值几何?
server是各种可见的服务,如:存储服务、文件服务、数据库服务;而serverless则不用关注这些服务,只用是关注业务逻辑本身。腾讯云中间件产品中心总经理肖雨浓说,serverless架构三个核心的理念,也在serverless数据库中也得到了体现。
第一,服务只有在需要的时候才会自动伸缩,不需要提前部署额外的资源,在资源成本、人力成本等会节省很多,在机会成本层面也会拥有优势。
第二,按量计费,当用户的应用运行时云服务才会计费,用户没有使用服务时不会生产任何费用,这与传统的互联网架构截然不同。在serverless架构,如果有一个请求,就会按照一个请求的计费量收费,如果没有请求,底层也没有任何基础设施或者架构额外生产费用。
最后,降低门槛。因为serverless架构更加易用,让客户聚焦在业务逻辑,让开发者聚焦在业务上,不需要资深的技术能力和技术背景就可以实现业务上云。
腾讯云数据库负责人、数据库领域资深技术专家林晓斌表示,以postgresql for serverless为例,相比传统的postgresql,首先它具有云原生的能力,能够快速地扩容,又能够自动地缩容,像海绵一样,吸水的时候自动扩容,不用的时候挤一下水,容量就会小下去。
众所周知,传统数据库需要根据业务实际使用情况手动调整数据库容量大小,即使是数据库方面的专家,面对波动剧烈的应用,在兼顾性能及成本的情况下,要手动管理数据库容量也并不是一件容易的事情,而postgresql for serverless则很好的平衡了这点。
其次,正因为可以动态管理数据库容量大小,即能根据业务请求的繁忙程度进行自动响应资源,且用户不需要为数据库的闲时进行付费,仅需对实际占用的数据容量和数据库活动时的响应资源进行付费即可,因此serverless能极大降低用户的使用门槛,用户无需预先规划好资源,具备高度弹性、高可用,按需使用,按量付费等特点,能让用户省心、省力、省钱。
第三,postgresql for serverless db产品本身是基于postgresql数据库的,所以从能力上百分之百兼容postgresql的语法和功能。同时云上面的postgresql本身提供的高可靠、高性能、高可用的能力是天然集成的,备份恢复、自动回档,不用怕误删等能力。
那么使用无服务器数据库有什么不足或者缺点吗?专家认为,至少在两个方向上,需要云服务商在serverlessdb上进行努力。
一是与那些在专有服务器、虚拟机或容器中运行的数据库相比,一个不被经常使用的数据库可能会出现严重的响应延迟问题。
如果云服务提供商发现无服务器数据库较长时间未被使用,则会将其完全地关停。这就意味着,如果数据库需要一段时间才能启动运行,则会出现延迟的现象。
二是无服务器数据库常被草率地认为比传统数据库更为安全。实际上与传统架构相比,由于无服务器架构的应用组件更多,随着应用入口点的增多,它受到攻击的可能性也会呈指数式增长。
02、有了serverless db,无服务器生态就齐活了
在云计算领域,任何一项新技术或者新服务,在第一个玩家推出后,几乎在两三年内所有的头部玩家都会跟随,推出相应的技术与服务。
serverless技术是这样,serverless数据库领域也依然。
aws在2017年的re:invent大会上,宣布推出云端数据库的无服务器服务,数据库将能自动启动、关闭以及缩放规模。
aws云端数据库无服务器服务aurora serverless正式支持mysql和postgresql,aurora serverless能根据流量自动缩放规模,提供用户按需付费使用的数据库服务。
用户只需要创建数据库端点,选择想要使用的数据库引擎以及容量。用户可以设定aurora serverless最大与最小容量,用户的应用会连接到代理(proxy fleet)中,代理会将工作负载路由到具自动扩展能力的资源池。用户可以设定在满足特定条件,像是达到设定的cpu使用量阈值时进行扩展。
aws提到,资源池中都是“热资源”,扩展的速度很快,运算资源可以随时增加。以应付突如其来的需求。由于aurora的数据库计算资源以及储存层是独立的,数据库容量设定不会影响数据库的效能。
在amazon rds管理控制台,用户还可以简单地透过滑鼠点击,在标准以及无服务器组态中切换。
腾讯云正式发
网站服务器没有云硬盘office2016怎么激活?轻松激活Office2016的具体方法注册好的域名怎么使用?新手注册域名可以做什么?个人是否可以开发小程序云服务器无法挂游戏吗阿里云服务器的镜像在哪阿里云服务器租用方案vscode的用户设置和工作区设置的区别是什么?