美文网首页
如何从单体程序迈向 云服务(Serverless )平台呢?

如何从单体程序迈向 云服务(Serverless )平台呢?

作者: you的日常 | 来源:发表于2022-02-25 14:02 被阅读0次

导读:用户需求和云的发展两条线推动了云原生技术的兴起、发展和大规模应用。本文将主要讨论什么是云原生应用,构成云原生应用的要素是什么,什么是 Serverless 计算,以及 Serverless 如何简化技术复杂度,帮助用户应对快速变化的需求,实现弹性、高可用的服务,并通过具体的案例和场景进行说明。

如今,各行各业都在谈数字化转型,尤其是新零售、传媒、交通等行业。数字化的商业形态已经成为主流,逐渐替代了传统的商业形态。在另外一些行业里(如工业制造),虽然企业的商业形态并非以数字化的形式表现,但是在数字孪生理念下,充分利用数据科技进行生产运营优化也正在成为研究热点和行业共识。
企业进行数字化转型,从生产资料、生产关系、战略规划、增长曲线四个层面来看:

  • 生产资料:数据成为最重要的生产资料,需求/风险随时变化,企业面临巨大的不确定性;
  • 生产关系:数据为中心,非基于流程和规则的固定生产关系,网络效应令生产关系跨越时空限制,多连接方式催生新的业务和物种;
  • 战略规划:基于数据决策,快速应对不确定的商业环境;
  • 增长曲线:数字化技术带来触达海量用户的能力,可带来突破性的增长。

从云服务商的角度来看云的演进趋势,在 Cloud 1.0 时代,基础设施的云化是其主题,采用云托管模式,云上云下的应用保持兼容,传统的应用可以直接迁移到云上,这种方式的核心价值在于资源的弹性和成本的低廉;在基础设施提供了海量算力之后,怎么帮助用户更好地利用算力,加速企业创新的速度,就成为云的核心能力。

如果仍在服务器上构建基础应用,那么研发成本就会很高,管理难度也很大,因此有了 Cloud 2.0,也就是云原生时代。在云原生时代,云服务商提供了丰富的托管服务,助力企业数字化转型和创新,用户可以像搭积木一样基于各种云服务来构建应用,大大降低了研发成本。

云原生应用要素

云原生应用有三个非常关键的要素:微服务架构,应用容器化和 Serverless 化,敏捷的软件交付流程。

1. 微服务架构

单体架构和微服务架构各有各的特点,其主要特点对比如下图所示。总的来说,单体架构上手快,但是维护难,微服务架构部署较难,但是独立性和敏捷性更好,更适合云原生应用。

单体架构 VS 微服务架构

2. 应用容器化和 Serverless 化

容器是当前最流行的代码封装方式,借助 K8s 及其生态的能力,大大降低了整个基础设施的管理难度,而且容器在程序的支撑性方面提供非常出色的灵活性和可移植性,越来越多的用户开始使用容器来封装整个应用。 Serverless 计算是另外一种形态,做了大量的端到端整合和云服务的集成,大大提高了研发效率,但是对传统应用的兼容性没有容器那么灵活,但是也带来了很大的整洁性,用户只需要专注于业务逻辑的编码,聚焦于业务逻辑的创新即可。

3. 敏捷的应用交付流程

敏捷的应用交付流程是非常重要的一个要素,主要包括流程自动化,专注于功能开发,快速发现问题,快速发布上线。

Serverless 计算

1. 云函数计算

Serverless 是一个新的概念,但是其内涵早就已经存在。阿里云或者 AWS 的第一个云服务都是对象存储,对象储存实际上就是一个存储领域的 Serverless 服务;另外,Serverless 指的是一个产品体系,而不是单个产品。当前业界云服务商推出的新功能或者新产品绝大多数都是 Serverless 形态的。Serverless 产品体系包括计算、存储、API、分析和中间件等,目前云的产品体系正在 Serverless 化。

Serverless 计算平台函数计算,有 4 个特点:

  • 和云端无缝集成:通过事件驱动的方式将云端的各种服务与函数计算无缝集成,用户只需要关注函数的开,事件的触发等均由服务商来完成;
  • 实时弹性伸缩:由系统自动完成函数计算的弹性伸缩,且速度非常快,用户可以将这种能力用在在线应用;
  • 次秒级计量:次秒级的计量方式提供了一种完全的按需计量方式,资源利用率能达到百分之百;
  • 高可用:函数计算平台做了大量工作帮助用户构建高可用的应用。

相关文章

网友评论

      本文标题:如何从单体程序迈向 云服务(Serverless )平台呢?

      本文链接:https://www.haomeiwen.com/subject/adbvyktx.html