一、 从云计算到 Serverless
自世界上第一台通用计算机 ENIAC (图左)诞生以来,计算机科学与技术的发展就从未停止过前进的脚步。2003年-2006年,谷歌先后发表了这三篇非常经典的论文(图右),指明了HDFS(分布式文件系统)、MapReduce(并行计算)和HBase(分布式数据库)的技术基础及未来机会,为云计算发展方向奠定了基础。
所以说从。ENIAC 到谷歌的3篇经典论文,计算机科学与技术的发展是在不断的前进。而到了云计算时代,可以说计算机科学与技术的发展是在飞速的前进。
云计算的概念
对于云计算的界定,学术界的和工业界有不同的理解,回顾下云计算的发展历程:
1、2006年,谷歌首席执行官在搜索引擎大会上首次提出云计算的概念;同年亚马逊将其弹性计算能力作为云服务器进行售卖,标志着云计算这种新兴商业模式正式诞生;
2、2008年,微软发布云计算平台 Windows Azure,尝试将技术和服务托管化、线上化;
3、2009年,《伯克利云计算白皮书》发表,文中明确指出云计算的定义:云计算包含互联网上的应用服务以及在数据中心提供这些服务的软硬件设施。
明确定义后,伯克利提出了关于云计算展望,同时也指出云计算所面临的10个问题,如服务的可用性,数据的丢失或者数据安全性和可审计性等。
二、Serverless 概念
Serverless 定义
Serverless 翻译成中文是无服务器,所谓的无服务器并非是说不需要依靠服务器等资源,而是说开发者再也不用过多考虑服务器的问题,可以更专注在产品代码上,同时计算资源也开始作为服务出现,而不是作为服务器的概念出现,Serverless是一种构建和管理基于微服务架构的完整流程,允许用户在服务部署级别而不是服务器部署级别来管理用户的应用部署。与传统架构的不同之处在于,它完全由第三方管理,由事件触发,存在于无状态(Stateless),暂存(可能只存在于一次调用的过程中)在计算容器内,Serverless 部署应用无须涉及更多的基础设施建设,就可以基本实现自动构建、部署和启动服务。
Serverless 架构
左边是传统意义上来说比较常见的 Web 应用的架构, 它是由客户端、服务端、数据库等元素组成。
以往做此类项目时,开发者需要在服务端做很多操作,如购买服务器、考虑购买数量、宽带、操作系统、部署在哪几个区、环境、软