什么是Serverless 2020版 - Go Serverless换的不是技术,而是思维方式

关于我自己:2018年初,阴差阳错入了谷歌云(Google Cloud Platform)的坑,再也没爬出来… 目前有2年谷歌云的项目开发经验,之前工作里也接触过AWS。最近开始接触国内各大厂的云,所以萌生了po一些从不同的视角,用有趣的方式解读关于云的文章…
第一次发文,请多关照…

什么是Serverless

什么是Serverless - 普罗大众版

这是来自于AWS的官方博客的定义

如同许多新的概念一样,Serverless目前还没有一个普遍公认的权威的定义。最新的一个定义是这样描述的:“无服务器架构是基于互联网的系统,其中应用开发不使用常规的服务进程。相反,它们仅依赖于第三方服务(例如AWS
Lambda服务),客户端逻辑和服务托管远程过程调用的组合。”

看到这里,我设想,如果我现在还是那个计算机专业的学生,没有真正使用过云产品,看到这样的解释,我表示真心看不懂…

这也是我个人非常不喜欢看教科书的原因,非常不人性化

再来一波谷歌版:
在这里插入图片描述

Serverless: Just Code
Grow from prototype to production to planet-scale, without having to think about capacity, reliability, or performance.

简洁明了,最关键的是我看得懂啊!!!

插个题外话,谷歌的文档也很人性化,我曾经那些真正热爱技术的程序猿同事说到Google Cloud,热泪盈眶…用过就知道,程序猿真爱

谷歌与Coursera合作的官方课程讲,谷歌云(GCP)最根本的设计原则是:

You give us your code, and we do the rest

你给我代码,我帮你完成余下的一切。
在这里插入图片描述
这余下的一切就包括在各大厂的官网上看到的:

  • 零服务器管理 No server management
  • 自动扩容 Auto-scale
  • 用户只为实际使用的资源付费 Pay-per-execution(never pay for idle)
  • 函数是部署和运行的基本单位 Function as a unit of application logic
  • 安全托管 Managed Security

什么是Serverless - 2020版

在实际用户体验层面,Serverless可以理解成,作为从事IT工作的我们,只需要做好我们的份内事情就好,该写代码写代码,该分析数据分析数据,与底层服务器,代码部署,运维,安全等相关的事宜,完全交由各大云厂商负责,反正我们有Serverless云函数,Serverless数据库,Serverless机器学习。
但这样的责任托管,也带来一定的风险,以后的文章里我会引用曾经遇到的实际事例来加以解释。

是的,我在这里故意滥用了Serverless,因为曾经Serverless原本是指FaaS or a technology that enables FaaS,但是因为各大云厂商的市场推广,Serverless已经变了味道 - 一切与零服务器管理 No infra management相关的都可以被理解成Serverless。

大家可以分别看一下2018年和2020年AWS对Serverless的定义:
2020年:在这里插入图片描述
2018年:
在这里插入图片描述

当前2020的版本增加了一句:

Serverless is the native architecture of the cloud that enables you to shift more of your operational responsibilities to AWS, increasing your agility and innovation.

所以,Serverless不再跟Serverless Computing捆绑定义, Serverless这个词几乎可以被解读为Cloud,一切云提供的服务都是Serverless,其根本目的是帮助企业实现敏捷开发以及模式创新。

Go Serverless换的不是技术,而是思维方式

我们再去仔细研读一下AWS新增的这段话的后半部分,

Serverless is the native architecture of the cloud that enables you to shift more of your operational responsibilities to AWS, increasing your agility and innovation.
将更多的底层责任分配给AWS,以此来帮助企业快速地开发新功能以满足新的业务需求(Agility)和实现模式创新(Innovation)

这就引出了我接下来所要讲的观点,也是Paul Johnston (ServerlessDays CoFounder (Jeff), ex AWS Serverless Snr DA) 在Medium上发文所讲的:

Serverless is not a technology, it’s a mindset.
A serverless application is one that provides maximum business value over its application lifecycle and one that costs you nothing to run when nobody is using it, excluding data storage costs.

在AWS新增的这段话的后半部分以及Paul的那篇文章里,大家都在链接到一个关键词:Business Value。

面向未来,正如谷歌所宣传的那样,所有的公司,不管你是来自于哪个行业,都会转型成数字化IT公司,再加上Covid-19 新冠肺炎的推波助澜,未来传统行业的公司都需要开拓线上业务,进行数字化转型(Digital Transformation)
Go Serverless and Go Cloud也是比较便捷的转型方式,非科技公司可以利用购买现有的成熟度的底层技术,自己只需要负责业务逻辑层的设计,实现商业价值的快速变现。

这也就意味着,未来的市场对部分程序员的要求是深入理解业务需求,更快速地开发出符合市场需求的产品,实现商业变现。
Serverless的意义在于将大部分程序猿从单纯地与机器打交道的活儿中拖拽出来,有更多的时间去思考如何实现技术创新,业务模式创新,快速创新,最终将business value最大化。曾经程序猿是存在于利益链的底端,上面有底层基础设施,代码,产品,商业价值,未来我们至少可以把底层基础设施踩在脚下,对托管他们的公司颐指气使,只对代码负责,也符合单一职责原则SRP(Single Responsibility Principle)。

其次,Go Serverless 也意味着我们不需要在去重复一些机械性工作:
比如ssh去instance看看主机状态,设置网络,一切都在browser里完成;
我们不需要自己安装开发环境,我们有云IDE, 云SDK;
我们不需要写脚本去运行各个相关联的task,云端scheduler可以替代这些…
这就好像我们不再需要写汇编语言,只需要用更抽象的‘人类’语言来完成编码一样,虽然付出了更多编译所需的时间成本,但是也实现了快速创新的可能。
曾经看到有人讲,工业革命之后,人类越来越不热爱工作的原因在于,流水线生产将人类的工作内容琐碎化,机械化,重复化,Go Serverless是不是能够帮助我们,至少程序猿,匀出更多时间去创新,去探索不同的可能,我们也就少掉几根头发呢!!!

面向未来,什么是Serverless思维方式?
站在那些巨人的肩上(购买他们的服务),
去做更有趣的事情(模式创新+商业变现)。

Paul Johnston讲Serverless is the next iteration of Cloud,那再之后呢?当有一天机器人能替代我们编码,替代我们写诗画画创作的时候,我们又会是在干嘛呢?

本篇是从商业角度看Serverless的科普文,以后会有更多技术性的案例分析…
请多多关注,谢谢🙏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值