作者 | 中国软件网 赵满满
一窥技术世界中的下一个总是令人着迷。那么,云计算技术的下一个发展趋势是什么?专家认为,应该是无服务器技术——Serverless技术。
Serverless技术让云计算真正像使用水、电一样,接上水管或者插上插座就可以使用。
现在,云计算涉及的服务越来越多,不仅有计算、存储、网络,还有数据库、数据分析、机器学习等诸多领域,这些新服务历来都是行业的风向标,成为行业关注的焦点。
让Serverless技术落地,还有重要的一环,那就是无服务器数据库。在无服务器数据库上,AWS、腾讯云新服务让企业用户眼前一亮。在12月2日揭幕的亚马逊 re:Invent上,AWS发布Aurora Serverless v2,可在不到一秒内扩展至支持数十万个事务,把无服务器数据库应用性能提高到一个新高度。
01
近一半的用户正在评估Serverless技术
别误会,无服务器计算并不是没有服务器,带有旋转风扇和大量闪烁指示灯的真实服务器就安装在企业内部数据中心或云中的机架中。
无服务器带来的好消息是,Serverless技术让云计算用户无需考虑云中的服务器、存储等资源,即可使用其功能来编写和部署企业应用。用户的IT管理员既无需配置或维护这些资源,也无需考虑其处理能力、内存、存储或基础软件基础结构。所有这些都是不可见的,被抽象掉了。
无服务器计算属于计算大类,也被业界认为是继虚拟化、容器技术之后云计算的第三代通用计算平台。随着软件架构师和软件开发人员逐渐掌握这种新兴的技术范式,无服务器计算势必会迎来爆炸性增长。
最近,开源平台的非营利组织Cloud Foundry Foundation对全球250多个用户进行的调查发现,22%的企业已经在使用无服务器技术,近一半的用户正在评估。另一家研究公司Cloudability的研究表明,无服务器计算正在迅速增加。
无服务器技术在不断加速。AWS Lambda是目前最知名的无服务器系统之一。12月7日,在亚马逊 re:Invent 2020 上,AWS Lambda推出了几个重点发布,包括:运行时长的计费粒度从100毫秒缩小到1毫秒,可以节省费用高达70 %;更大的内存空间 ,最大10 GB 的内存;更多的 CPU 资源,最多 6vCPU;支持容器镜像等。
无服务器计算为什么如此重要?
无服务器技术是帮助开发人员专注于编写代码而无需担心基础架构的一种方法,并且公司能够为应用程序消耗的实际资源量付费,而不是预先购买。功能即服务(FaaS)是更广泛的无服务器计算的一个子集,这意味着支持运行单个代码(而不是整个应用程序)的功能。
在许多方面,无服务器是快速变化时期的完美技术:
•无服务器具有成本效益。IDC目前预测,2020年全球IT支出将下降2.7%。无服务器部署使公司可以通过两种方式大幅节省成本:服务器成本(仅通过在服务器执行功能期间收取费用)和管理服务器容量所需的人力资源成本。
•快速适应客户行为的变化。当客户行为迅速变化时,很难进行长期投资,如根据预期的负载来计划服务器容量。在瞬息万变的时代,无服务器提供了自动扩容能力,以适应需求的的变化。
•让企业更专注于核心能力和业务。无服务器计算或功能即服务(FaaS)是构建、架构和开发云原生应用的一种越来越流行的方式,这种方法将运营负担从已经枯竭的开发团队转移到了云提供商。通过将供应和管理运行时环境的负担转移到功能云中,无服务器技术让企业团队专注于最擅长的领域,提供创新的客户体验。
02
数据上云加速,无服务器数据库应用进入新阶段
客户只有在接入层、计算层和数据存储层都可以通过Serverless化的服务来实现,才能真正做到了无需关注底层设施,只需聚焦于业务实现。在数据存储层,则通过Serverless 数据库直接对数据库连接并进行SQL操作。
数据库原来没有自动伸缩的能力,现在通过底层共享池,让中间变成无状态的计算层,数据库也就拥有了快速扩缩容的能力,形成了Serverless数据库。用户可以做到快速部署,可以让开发人员像写代码一样,把DB当做一个组件来使用。
数据库服务也不断演化,从传统的自建数据库一路演化到现在Serverless数据库。
第一阶段,用户自建数据库。用户在自建机房时,就要考虑数据库选型,而数据库本身更要关注机房本身的物理部署,灵活性和可扩展性都不高。
第二个阶段,在云上以PaaS服务的形态,以租用服务的方式提供给客户。在数据库PaaS服务阶段,用户不用关心机房的物理部署了,但是要关心扩缩容时机。
第三个阶段在PaaS服务的基础上,云服务商又提供了云原生的数据库服务,可以提供快速的扩缩容的能力。但是云原生数据库还不能实现按更小的粒度实现按使用量付费。
第四个阶段则是无服务器数据库应用阶段。无服务器数据库具备完全自动化的扩容能力,它能够随着用户业务的请求数的增加和减少,智能化“膨胀”和“缩小”,实现资源的自动“吞吐”。
这种全自动化特性,能够为用户带来更经济的计费模式和更顺滑的扩容体验,它可以让业务根据请求的繁忙程度实现平滑的全自动响应,而无需人工介入。
03
无服务器数据库服务不断更新
在无服务器数据库方面,AWS、腾讯云等都推出了相关的服务,并持续不断的更新产品。
AWS在2017年的re:Invent大会上,宣布推出云端数据库的无服务器服务,数据库能自动启动、关闭以及缩放规模。
用户只需要创建数据库端点,选择想要使用的数据库引擎以及容量。用户可以设定Aurora Serverless最大与最小容量,用户的应用会连接到代理(Proxy Fleet)中,代理会将工作负载路由到具自动扩展能力的资源池。用户可以设定在满足特定条件,像是达到设定的CPU使用量阈值时进行扩展。
2018年,AWS云端数据库无服务器服务Aurora Serverless正式支持MySQL和PostgreSQL,Aurora Serverless能根据流量自动缩放规模,提供用户按需付费使用的数据库服务。
Amazon Aurora Serverless目前已被成千上万的客户用做高效益的数据库选项,主要应用在应对低流量、间歇性或不可预知流量(如测试和开发工作负载)等需求。
其中,Amazon Aurora Serverless v1可在5到50秒内扩展数据库容量,在需要时每次将容量翻倍,且由于它是无服务器的,客户也无需操心数据库容量管理。
12月2日AWS推出的升级版本Amazon Aurora Serverless v2能够在不到一秒钟的时间内将数据库工作负载扩展到数十万个事务。它能精细化调整容量,而不是每次需要扩展工作负荷时都将容量翻倍,从而为满足应用程序需求提供合适的数据库资源。
AWS大中华区云服务产品管理总经理顾凡介绍,借助Amazon Aurora Serverless v2,客户只需为使用的容量付费,与按高峰负载而配置的容量成本相比,可以节省多达90%的数据库成本。
Aurora Serverless v2支持各种类型的数据库工作负载,从开发、测试环境、网站和工作负载很少、断断续续或不可预测的应用程序,到要求高规模、高可用性的要求最苛刻的业务关键型应用程序。它支持Aurora的全部功能,包括全局数据库、多可用区部署和只读副本。当前Aurora Serverless v2仅在具有MySQL兼容性的Aurora中可用。
腾讯云正式发布的Serverless数据库新品——PostgreSQL for Serverless,相比普通云上数据库,能够最快1秒完成部署,成本降低70%。
PostgreSQL for Serverless是国内第一家基于Serverless技术开发的新型数据库,既拥有Serverless化带来的低成本、易扩容等优点,又包含PostgreSQL实例本身的高可用、高性能、高安全等特性。
由于没有初始化过程,用户在购买之后只需要通过腾讯云相关组件一键创建数据库实例,最快1秒钟就可以完成部署,大幅提升部署效率。
同时,腾讯云PostgreSQL for Serverless在可用性和安全性等方面也具有突出优势,包括支持“一主一备”,当主实例出现意外导致不可用时,将自动启动备份实例,业务连接也将同步转移至备用实例,有效避免了各种意外导致数据库无法使用的风险。此外,还支持标准PostgreSQL数据库本身的功能优点,如丰富的插件、便捷的备份恢复等特性。
PostgreSQL for Serverless为例,相比传统的PostgreSQL,首先它具有云原生的能力,能够快速地扩容,又能够自动地缩容,像海绵一样,吸水的时候自动扩容,不用的时候挤一下水,容量就会小下去。
其次,正因为可以动态管理数据库容量大小,即能根据业务请求的繁忙程度进行自动响应资源,且用户不需要为数据库的闲时进行付费,仅需对实际占用的数据容量和数据库活动时的响应资源进行付费即可,因此Serverless能极大降低用户的使用门槛,用户无需预先规划好资源,具备高度弹性、高可用,按需使用,按量付费等特点,能让用户省心、省力、省钱。
第三,PostgreSQL for Serverless DB产品本身是基于PostgreSQL数据库的,所以从能力上百分之百兼容PostgreSQL的语法和功能。同时云上面的PostgreSQL本身提供的高可靠、高性能、高可用的能力是天然集成的,备份恢复、自动回档,不用怕误删等能力。
04
数据库向云迁移大势所趋
每个应用都需要数据库,而且数据库很难管理,用户要去设置,要打补丁,要做调优,还要去做容错等。这就是为什么很多企业要雇佣大量的数据库管理员的原因。
大部分的关系型数据库仍然是本地部署的,并由像甲骨文、微软、IBM等这样的一些传统数据库供应商提供。
但是关系型数据库RDS用户却面临很多困惑:
首先,本地部署的RDS产品很贵,是专有的,很大程度上锁定了客户。同时更新、服务等也需要更多的费用。
其次,微软在2018年和2019年SQL2的许可条款做了变动,只能在微软的云上用。对客户来说,这样会是一件好事吗?
第三,企业客户正在快速地向开放式开源数据库引擎如MySQL等转移。而在实际应用中,用户自己却很难搞定这些开源的数据库。
云数据库服务的不断发展,正在为用户解决这些困惑。AWS大中华区云服务产品管理总经理顾凡介绍,本地数据库向云上迁移已经成为一大趋势,目前,已有35万的数据库迁移AWS上。虽然这个数字是非常可观的,但仍然有非常多的客户被绑定在原有的授权模式的本地部署的数据库下。
在云服务中,数据库服务已经成为增长最快的领域之一。但同时,云数据库的发展空间依然很多,还有高达96%的数据库应用还没有迁移到云上。
中国软件网认为,首先,数据库上云是不可逆转的一大趋势。先行者也已经充分享受到云上数据库的好处。云数据库服务让客户可享受与具有最高等级的商业数据库一样性能和可用性,而花费却仅需商业数据库的十分之一。
其次,市场上已经出现大量将传统数据库迁移到云上的工具。例如,AWS发布的数据库服务新功能Babelfish for Aurora PostgreSQL,让客户几乎无需更改代码即可直接在PostgreSQL上运行SQL Server应用程序。Babelfish为Amazon Aurora PostgreSQL提供了一个新的解析层,使Amazon Aurora能够理解来自为Microsoft SQL Server编写的应用程序中的命令。
第三,在数据库上云后,用户可以根据需要,选择数据库端无服务器应用,将数据库应用提高到一个新水平。
例如SaaS供应商可以借助无服务器数据库如Aurora Serverless v2,为每个单独的客户设置Aurora数据库集群,而不必担心设置容量的成本。当不使用数据库时,它会自动关闭数据库以节省成本,并立即调整数据库容量以满足不断变化的应用程序需求。
另一个场景是拥有成百上千个应用且每个应用程序都由一个或多个数据库支持的企业,使用无服务器数据库,可以根据应用程序需求自动调整数据库容量,不再需要手动管理数据库舰队中的数千个数据库。
每一个应用都离不开数据库,数据库应用前进的每一步,都需要保持企业的业务不断发展。这或许是数据库应用发展的根本动力。
礼品限时赠送,先到先得~!
完整填写调研问卷,可参与问卷后抽奖活动,礼品包括:100元、50元京东卡、30元星巴克券等。