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).

文章来源:

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
3月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(上)
最终建议:当前系统是完美的读密集型负载模型,优化重点应放在减少行读取量和提高数据定位效率。通过索引优化、分区策略和内存缓存,预期可降低30%的CPU负载,同时保持100%的缓冲池命中率。建议每百万次查询后刷新统计信息以持续优化
247 6
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
如何利用AI简历优化工具提升招聘效率?HR必读指南
本文为HR提供如何利用AI简历优化工具提升招聘效率的实用指南。针对海量简历筛选难题,AI工具通过自然语言处理技术实现信息提取与智能分析,大幅提高筛选效率和精准度。文章解析了工具在数据驱动决策、多语言支持及动态评估模型上的优势,并提出科学应用框架,如岗位画像量化、分阶段筛选策略等。同时探讨未来智能化招聘趋势,强调人机协同的重要性,助力HR将精力转向更具创造性的工作,推动人力资源管理体系全面升级。
|
12月前
|
供应链 监控 搜索推荐
企业销售管理利器:销售易、飞鱼和800客CRM深度解析
- **销售易**:集营销、销售和服务于一体,提供全渠道获客、潜客识别、线索转化等功能,适合中大型企业,尤其适用于快消品、汽车等行业。 - **飞鱼**:由巨量引擎推出,专注于广告主的销售线索管理,实现自动获取、同步及跟进,适合各类规模企业,广泛应用于电商、金融等领域。 - **800客**:功能全面,涵盖市场、客户、销售、服务等管理模块,适合中小型到大型企业,提供定制化服务,满足个性化需求。 通过对比各产品的功能与适用场景,企业可根据自身需求选择最合适的CRM解决方案,以优化销售流程并深化客户关系。
|
8月前
|
JSON API 开发者
python实战 | 如何利用海外代理IP,实现Facebook内容营销自动化
本文探讨了Facebook营销自动化中的挑战与解决方案。首先分析了账号风控、IP受限及手动操作效率低等问题,随后介绍了通过Python编程结合高质量海外代理IP(如青果网络)实现自动化的技术路径。内容涵盖环境配置、代理IP使用、Facebook开发者账号注册及两种自动化方法:Graph API动态发布与Selenium模拟用户操作。最后总结指出,该方案可扩展至其他平台,助力全球矩阵营销。
python实战 | 如何利用海外代理IP,实现Facebook内容营销自动化
|
7月前
计算网络号的直接方法
子网掩码用于区分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地址的组成与计算。
497 11
|
Ubuntu 网络协议 数据安全/隐私保护
使用VNC远程桌面Ubuntu【内网穿透实现公网远程】
使用VNC远程桌面Ubuntu【内网穿透实现公网远程】
882 0
|
9月前
|
安全 C++
【c++】继承(继承的定义格式、赋值兼容转换、多继承、派生类默认成员函数规则、继承与友元、继承与静态成员)
本文深入探讨了C++中的继承机制,作为面向对象编程(OOP)的核心特性之一。继承通过允许派生类扩展基类的属性和方法,极大促进了代码复用,增强了代码的可维护性和可扩展性。文章详细介绍了继承的基本概念、定义格式、继承方式(public、protected、private)、赋值兼容转换、作用域问题、默认成员函数规则、继承与友元、静态成员、多继承及菱形继承问题,并对比了继承与组合的优缺点。最后总结指出,虽然继承提高了代码灵活性和复用率,但也带来了耦合度高的问题,建议在“has-a”和“is-a”关系同时存在时优先使用组合。
493 6
|
11月前
|
人工智能 Devops 数据挖掘
IT项目经理的职责、能力和工具:让项目管理更高效
3分钟了解IT项目经理的主要职责和需要具备哪些专业技能。
514 5
IT项目经理的职责、能力和工具:让项目管理更高效
|
JSON API 数据格式
使用Python 获取天气数据
使用Python 获取天气数据
556 2
|
小程序
微信小程序中引导用户关注公众号实现方案详细说明
之前讲过如何利用公众号针对指定用户完成业务操作之后实时发送消息
微信小程序中引导用户关注公众号实现方案详细说明

热门文章

最新文章