然而只有极少数几项技术,会再向前迈进了一步,从主流技术进一步演变为必不可少的技术。
关系数据库就是其中之一。20世纪70年代问世以来,它让人们快速、便捷地存储和检索大量信息成为可能。再比如图形界面,使PC变成了可能,而且很快就成为企业发展业务必不可少的基础设施。而互联网的兴起给我们带来了电子邮件、电子商务,并最终在手持设备上实现了移动计算。为了顺应时代,几乎每个企业都需要跟进这些改变商业模式的技术。
所有这些进步都发生在短短几十年的时间里。但如果我们回过头来仔细想想,这样一种思路就会变得清晰起来:现代变革是由那些帮助人们将“原来不可能变为可能”的重大应用所推动的。而Serverless,正日益被企业和开发者们投来期许的目光。
Serverless计算
纵观技术发展,从SQL数据库到移动应用,到如今几乎都需要用云计算架构来实现。“云”已经充分证明了它的商业价值,就连最传统的企业也意识到上云的必要性,并开始尝试数字化转型。但是由于分布式系统固有的复杂性,云原生架构的实现非常困难,只有拥有深厚技术积累的企业才能真正发挥云的最大潜力。
新的问题总是会带来新的解决方案,云计算正在进行着新的演进。Serverless计算已经成为云原生的下一个发展方向——基于云、容器和微服务架构的交付方式。
Serverless允许企业将集群的资源分配、错误修复、系统维护、容量管理等复杂运营工作转交给云服务厂商(或多家云服务商,因为Serverless技术同样也可以消除多云和混合部署的复杂性)。
相比较于传统云计算结构,Serverless让开发人员可以更快速、更轻松地构建稳定可扩展的业务系统,是一种非常好的资源使用方式。此外,Serverless具有高部署灵活性和缩短开发周期的能力,能为企业带来实实在在的业务价值,同时这些特性体现了Serverless的最重要的价值:增强企业的创新能力。
Serverless如何推动创新?
Serverless可以简化繁琐但必要的IT运维工作,从而大幅度消除技术团队的创新障碍。随着DevOps团队的效率提高,企业就能够快速开发原型以尝试新的产品或服务,然后根据市场反应进行灵活的调整。
简单服务:Serverless可以将原本复杂的运维工作简单化,包括资源调配、预测容量、配置、更新、安全和联网。这为中小型企业和小型技术团队降低了门槛,从而实现了云计算的普及化。
原生连接性:公司过去从产品中获取利润,但今天的利润往往来自于平台,而平台负责的就是应用服务系统与用户系统的连接。从某种角度上看,得平台者得天下,哪些企业能够与平台进一步扩大和加深联系,哪些企业就会赢得先机。Serverless架构是天然适合实现高效连接的,因为它本身就是一组实时执行和通讯的功能函数。
动态系统:Serverless实现了一个快速的、动态的交付系统:构建功能,将其交付给市场,立即获得客户反馈,根据反馈快速提供功能创新和改进。利用集成到云平台的Serverless功能和集成,开发人员可以使用持续交付(CI/CD的下一阶段)每天一次甚至多次的交付新版本。
可尝试性:Serverless的简单性、连接性和动态响应的特性相互结合,形成了Serverless最主要的一个优势:可尝试性。当我们可以以简单、快速和低成本(就时间和成本而言)的方式部署应用时,我们就能够快速的尝试各种有趣的可能性和探索未知领域。团队可以频繁地试错,快速的抛弃验证失败的想法,从而找到有正确的产品推进方向。Serverless使得创新变得充满活力、无风险。
随着Serverless和其他无代码解决方案的崛起,我们会看到一种新的混合型职业的出现:技术型企业家。Serverless为有创意的工程师创造了新的途径,在将专业且复杂的基础设施的运营工作剥离之后,他们可以在几乎零成本的条件下测试、试验和发布自己的新想法。
我们同样也可以预测另一个行业的出现:企业家型开发人员,他们可以轻易实现自己的创新想法,不再因缺乏深厚的编码经验而受阻。无论是哪种方式,Serverless都为独立的创业创新提供了新的途径--同时也为未来的投资和创新开辟了的新可能性。
Serverless数据库
Serverless是一种非常好的资源管理方式,但是到目前为止,我们对Serverless的关注主要集中在应用层面。通过AWS Lambda、Google Cloud Run或Fargate等产品,将应用程序托管到云中,由云提供商负责应用的运行和弹性伸缩。对于业务方而言,通过云管理基础设施可以说是现阶段的首选。
然而,我们却常常忘记了数据库的作用。要知道,所有的应用程序都依赖于数据,所有的连接都用数据来描述。为了应对全球互联互通的需求不断升级,已经有不计其数依赖于复杂基础架构的传统企业逐步将自托管的数据库进行上云化。
可以说,如今没有哪家公司会想要在全世界投资建设自己的私人数据中心。如果一家专门的云数据库提供商提供一个跨大陆的分布式数据库服务,那么还要自己进行构建、运营和维护这样的系统,就会变得毫无意义。如果企业想要在垂直领域保持竞争力,就必须采取行动升级其数据保存方式。
我们正处于数字化转型的大潮之中,数据驱动着我们所做的一切。Serverless数据库可以实现接近无限的数据和基础设施托管。我们会看到越来越多的数据库以Serverless方式托管,因为技术团队发现其技术栈中的绝大部分已经基于云原生设计,但问题却是:数据库一直在拖后腿。
所有Serverless应用程序都具有类似的特点:将运维工作自动化和剥离、基于消费量的计费、弹性伸缩、内置弹性和容错能力。数据库应用程序也不例外,真正的Serverless数据库还应该提供三个附加功能:分布式体系结构、地理(全球)规模,以及简单云SQL API。
如果将所有这些特点组合起来,我们就可以看到下一代数据库的样貌:数据库作为服务部署,消除ops限制,通过应用程序使用的事务数和所需存储的量计费,同时确保一致性和弹性伸缩。
如果上述这些因素可以保证实现,我们完全可以想象得出未来的企业将创造出比现在更惊艳百倍的产品,来满足一向喜欢“吃着碗里瞧着锅里”的消费者。
Serverless的未来
见证Serverless的奇迹的时刻就在眼前。Serverless有可能成为下一代重要的架构范式,也可能只是云原生架构范式的进一步演进。无论是哪种方式,我们都可以看到越来越多的开发人员和架构师选择了Serverless模型,并用它构建企业软件和服务的核心。
我们往往无法预测下一次架构范式转变,同理,我们也不知道将来的《财富》500强企业会变成什么样子。下一代架构范式会是什么样子,它们将建立在什么基础上?我们无法确定。但一点是确定的:未来的挑战和机遇将是与今天的情况大有不同,因此从我们现在所处的位置去做判断可能是有失妥当的。
在一个不确定的时代唯一可行的策略就是主动去适应变化。无论未来如何发展,保证生存的方式却只会有一种:与不断变化和不可预测的技术和商业共同发展,因此创新能力是企业生存的必要条件。这意味着企业要能够快速迭代,收集客户的实时反馈,并通过简单低成本的试错进行快速响应。
而从这个层面上看,Serverless恰恰可以帮助企业在业务活动中随时进行创新和试错,这也就不难理解大家为什么对它寄予厚望了。