Technological Revolution in Serverless

简介: Serverless architecture grew out of cloud computing. It inherits all the advantages of cloud computing while being extremely flexible, cost effective, and maintenance free.

The Birth of Cloud Computing

In 1961 during the celebration of the 100th anniversary of MIT, John McCarthy (who would win the 1971 Turning Award) first introduced the idea of “Utility Computing,” one of the first premonitions of cloud computing. In 1984, SUN co-founder John Gage announced the new era of networked computing with the motto “The network is the computer.” In 1996, while discussing the future of their computing business, a group of senior engineers at Compaq first used the term “cloud computing,” and saw it as the coming trend in enterprise computing. This is how “cloud computing” developed from its embryonic stage to formal conceptualization.

After this, cloud computing burst into full bloom.

  • Between 2003 and 2006, Google published The Google File System, MapReduce: Simplified Data Processing on Large Clusters, Bigtable: A Distributed Storage System for Structured Data, and other whitepapers outlining specifications and potential applications for HDFS (distributed file system), MapReduce (parallel, distributed computing), and HBase (distributed database) technology. This laid down the path that cloud computing would follow.
  • In 2006, Google CEO Eric Schmidt officially introduced Cloud Computing to the public at SES San Jose. The same year, Amazon launched its own cloud-based flexible computing service, officially marking the birth of commercial cloud computing. Two years later in 2008, Microsoft launched its Windows Azure cloud computing platform, offering hosted online technology and services.
  • In 2009, UC Berkeley published Above the Clouds: A Berkeley View of Cloud Computing. This paper stated that cloud computing was a new name for the old dream of computing as infrastructure, and it’s quickly becoming a commercial reality. The paper also provided a clear definition of cloud computing: Cloud computing includes internet-based application services and the hardware and software housed in data centers that provide these services. It also pointed out the challenges and opportunities of cloud computing and made bold predictions about the future of this technology.

From Cloud Computing to Serverless

During this period of explosive growth, cloud computing continued evolving, from IaaS to PaaS, and then to SaaS, cloud computing gradually “found the right development path.”

In 2012 Iron.io Vice President Ken Form published a paper titled Why The Future of Software and Apps is Serverless, which provided a different viewpoint: Despite the gradual rise of cloud computing, people were still focused on servers. However, this would not last long because cloud applications were increasingly serverless and this would have a huge impact on application development and distribution. It was this paper that first brought the term “serverless” to people’s attention.

In 2014, Amazon launched AWS Lambda which raised “serverless” technology to a whole new level and provided an all-new framework for cloud-based applications. AWS Lambda eliminated the need to keep servers constantly running and waiting for HTTP requests or API calls. Rather, code is triggered automatically by events, often simply by adding a simple command to an AWS server. Subsequently, in July 2015, Ant Stanley published an article titled Servers are Dead, in which he discussed AWS Lambda and the recently released AWS API Gateway. These products represented his ideal of true serverless technology, and prompted him to announce “Servers are dead… they just don’t know it yet.”

In 2015, at the AWS re:Invent convention, serverless technology came up repeatedly in talks such as The Serverless Company Using AWS Lambda and JAWS: The Monstrously Scalable Serverless Framework.

As the serverless ecosystem continued to mature, the first ServerlessConf was held in London in October 2016. Within two days, more than 40 speakers from around the world discussed the development and future of serverless technology, touching on both opportunities and challenges. This was the first large-scale conference devoted to serverless technology and marked a milestone in the industry.

By 2017 most of the big players had already launched serverless products, including several big domestic companies that entered the “Serverless Era” that year. From IaaS to PaaS to SaaS, the separation of computing from servers was becoming more and more apparent. But what exactly does the term “serverless” as used by Ken Form mean? And what role does it play in the development of cloud computing?

The difference between IaaS, PaaS, and SaaS

What is Serverless?

The growth of cloud computing over the past decade and more has revolutionized the internet, and serverless is a cloud product, or rather a particular manifestation of cloud computing in a particular era. Many people see it as the essence of cloud computing, and the Berkeley team even predicted that it would dominate the cloud computing field as a new paradigm for the next decade.

Serverless does not mean that we have eliminated the need for resources like servers. Rather it means that developers do not need to think much about servers, so that they can focus on coding. At the same time, computing resources begin to take the form of services rather than servers. Serverless describes a workflow in which creation and management are based on microservices, which allows users to manage app deployment at the service deployment level rather than the server deployment level.

Unlike traditional architectures, serverless apps are completely managed by third parties, triggered by events, and are stateless and cached (potentially existing only as code called one time) within a computing container. Serverless deployment means that apps do not need to reference other infrastructure components, allowing them to be automatically created, deployed, and launched.

In recent years, microservices have become another hot topic in software development. If microservices are compact, responsive, focused on a single task, and can be modularized and used to create large, complex programs, then serverless architecture can be thought of as the next step in “code fragmentation,” something known as Function as a Service (FaaS). These so-called “functions” are program units even smaller than microservices.

For example, microservices can replace all code required for CRUD operations, while FaaS functions can replace each operation individually: create, read, update, and delete. When a “create account” event is triggered, the corresponding “function” is executed. But this suggests that serverless architecture is equivalent to FaaS. However, a deeper investigation shows that serverless and FaaS are not the same. A widely accepted formula depicts the relationship between them as follows:

Serverless = FaaS + BaaS (+ …)

In this formula, it is clear that in addition to FaaS and BaaS, serverless architecture also includes something else: namely, the creative space that serverless gives its users, something that today’s users expect.

The Growth of Serverless

Since 2012, when serverless architecture was first proposed, through 2014 when AWS Lambda commercialized serverless, to the widespread adoption of serverless in 2017, and again when serverless became the hot topic at KubeCon in 2019, serverless has constantly evolved. As technology continues to advance along clearer directions of development, and especially with the advent of the 5G era, serverless will become increasingly important in more areas.

From IaaS to FaaS to SaaS, then to serverless; from virtual spaces to cloud servers, from self-built databases to cloud databases, cloud computing has developed rapidly. However, we do not know where it will go from here. No one knows what lies in store for cloud computing.

To be sure, some people think that serverless has fulfilled the original goal of cloud computing and that serverless is the essence of cloud computing, but no one can say for sure that serverless is the endpoint of cloud computing. It might be that serverless is just a transitional phase. We must keep an open mind. After all, only time will tell.

About the author: Liu Yu (Jiang Yu)
Alibaba Cloud Serverless Product Manager, Alibaba Cloud Serverless Cloud Evangelist, CIO Academy Special Lecturer.
Responsible for the product experience of Alibaba Cloud Function Compute, Serverless Workflow, and other products. Founder and Director of the Alibaba Cloud strategic open-source project Serverless Devs; Project contributor for Serverless Framework, Kubevela, and other open-source projects; Online Programming Manager for the Anycodes community project.
Author of Serverless Architecture: From Principles and Design to Project Implementation, and Practical Serverless Engineering: From Beginner to Expert. Author of the e-book Systems Architect Special Issue: Everyone Can Learn Serverless Architecture (InfoQ publication).

文章来源:

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
3月前
|
人工智能 弹性计算 机器人
Hermes Agent怎样部署?阿里云推出三种一键快速部署方案,总有一种适合你!
Hermes Agent是由Nous Research开发的开源自主AI智能体,部署于本地服务器,具备持久记忆与自我学习闭环(自主建技、持续优化、跨会话召回),真正“越用越聪明”。阿里云提供计算巢、无影云电脑、轻量应用服务器三种一键部署方案,开箱即用。
1194 9
|
10月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(上)
最终建议:当前系统是完美的读密集型负载模型,优化重点应放在减少行读取量和提高数据定位效率。通过索引优化、分区策略和内存缓存,预期可降低30%的CPU负载,同时保持100%的缓冲池命中率。建议每百万次查询后刷新统计信息以持续优化
766 161
|
JSON API 开发者
python实战 | 如何利用海外代理IP,实现Facebook内容营销自动化
本文探讨了Facebook营销自动化中的挑战与解决方案。首先分析了账号风控、IP受限及手动操作效率低等问题,随后介绍了通过Python编程结合高质量海外代理IP(如青果网络)实现自动化的技术路径。内容涵盖环境配置、代理IP使用、Facebook开发者账号注册及两种自动化方法:Graph API动态发布与Selenium模拟用户操作。最后总结指出,该方案可扩展至其他平台,助力全球矩阵营销。
python实战 | 如何利用海外代理IP,实现Facebook内容营销自动化
计算网络号的直接方法
子网掩码用于区分IP地址中的网络部分和主机部分,连续的“1”表示网络位,“0”表示主机位。例如,255.255.255.0 的二进制为 11111111.11111111.11111111.00000000,前24位是网络部分。通过子网掩码可提取网络号,如 IP 192.168.1.10 与子网掩码 255.255.255.0 的网络号为 192.168.1.0。此外,文档还介绍了十进制与二进制间的转换方法,帮助理解IP地址的组成与计算。
920 11
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
3788 0
|
安全 C++
【c++】继承(继承的定义格式、赋值兼容转换、多继承、派生类默认成员函数规则、继承与友元、继承与静态成员)
本文深入探讨了C++中的继承机制,作为面向对象编程(OOP)的核心特性之一。继承通过允许派生类扩展基类的属性和方法,极大促进了代码复用,增强了代码的可维护性和可扩展性。文章详细介绍了继承的基本概念、定义格式、继承方式(public、protected、private)、赋值兼容转换、作用域问题、默认成员函数规则、继承与友元、静态成员、多继承及菱形继承问题,并对比了继承与组合的优缺点。最后总结指出,虽然继承提高了代码灵活性和复用率,但也带来了耦合度高的问题,建议在“has-a”和“is-a”关系同时存在时优先使用组合。
1019 6
|
人工智能 Devops 数据挖掘
IT项目经理的职责、能力和工具:让项目管理更高效
3分钟了解IT项目经理的主要职责和需要具备哪些专业技能。
784 5
IT项目经理的职责、能力和工具:让项目管理更高效
|
JSON IDE Java
20 款 IDEA 主题任你选!(快来看看你最喜欢那个~)
我是小假 期待与你的下一次相遇 ~
6178 1
|
JSON API 数据格式
使用Python 获取天气数据
使用Python 获取天气数据
801 2
|
弹性计算 运维 负载均衡
SLB介绍
SLB产品介绍
1180 4