×
Community Blog Serverless Engineering Practices: From Cloud Computing to Serverless

Serverless Engineering Practices: From Cloud Computing to Serverless

This article explains cloud computing from its birth to serverless.

By Liu Yu (Jiangyu)

1

Serverless architecture is a product of the development of cloud computing. It inherits the advantages of cloud computing and has the advantages of extreme elasticity, pay-as-you-go, and no O&M.

The Birth of Cloud Computing

At the Centennial Ceremony of MIT in 1961, John McCarthy (winner of the Turing Award in 1971) first put forward the concept of Utility Computing, which can be regarded as an initial and advanced model of cloud computing. In 1984, John Gage, Co-Founder of Sun Microsystems, proposed the important conjecture, "The Network is the Computer." It described the new world brought about by distributed computing technology. In 1996, a group of technical executives at Compaq Computer Corporation used the term cloud computing for the first time when discussing the development of the computing business. They believed that commercial computing would shift towards cloud computing. This is also the basic process of cloud computing, from its embryonic form to its formal proposal.

Since cloud computing was proposed, it has enjoyed thriving development.

  • From 2003 to 2006, Google published The Google File System, MapReduce: Simplified Data Processing on Large Clusters, Bigtable: A Distributed Storage System for Structured Data, and other articles. These articles pointed out the technical foundation and future opportunities of HDFS (Hadoop Distributed File System), MapReduce (an architecture for parallel computing), and HBase (a distributed database), thus determining the development direction of cloud computing.
  • In 2006, Google CEO Eric Schmidt publicly and formally proposed the concept of Cloud Computing for the first time at the SESSanJose 2006. The same year, Amazon sold its elastic computing capabilities as cloud services for the first time, which also marked the official birth of a new business model - cloud computing. In 2008, Microsoft released its cloud computing strategy and Windows Azure Platform, trying to host technologies and services online.
  • In 2009, UC Berkeley published Above the Clouds: A Berkeley View of Cloud Computing. In the article, Berkeley clearly pointed out that cloud computing is an ancient dream that will soon be realized, and it is a new name for the long-standing dream of computing as an infrastructure, which is rapidly becoming a commercial reality. In the article, cloud computing is clearly defined, "Cloud computing includes application services on the Internet and software and hardware facilities that provide these services in data centers." The article also mentioned the challenges and opportunities faced by cloud computing and predicted the future development direction of cloud computing.

The same year, Alibaba Software established the first E-commerce Cloud Computing Center (today's Alibaba Cloud) in Nanjing, Jiangsu. Since then, cloud computing has entered a more rapid development stage.

From Cloud Computing to Serverless

Cloud computing is developing rapidly, and its form is evolving constantly. From IaaS to PaaS and then to SaaS, cloud computing has gradually found the right development direction.

2

In 2012, Ken Form, Vice President of Iron.io, wrote an article entitled Why The Future of Software and Apps is Serverless. He put forward a new point of view, "Even though cloud computing has gradually developed, everyone is still revolving around servers. However, this situation will not last long. Cloud applications are moving towards serverless, which will have a significant impact on the creation and distribution of applications." This was the first time the word Serverless entered the public sphere.

In 2014, Amazon released AWS Lambda, and the Serverless paradigm was raised to a new level, providing a new system architecture for applications running on the cloud. As a result, it is no longer necessary to continuously run processes on servers to wait for HTTP requests or API calls but to trigger code execution through some event mechanism. Usually, this only requires a simple function to be configured on a server in AWS. After that, Ant Stanley explained his idea of Serverless around AWS Lambda and the just-released AWS API Gateway in an article entitled Servers are dead.. in July 2015. He said, "Servers are dead… They just don't know it yet."

In 2015, at the AWS re:Invent conference, the concept of Serverless appeared repeatedly in speeches, such as The Serverless Company Using AWS Lambda and JAWS: The Monstrously Scalable Serverless Framework.

With the further development of the concept of Serverless, the first ServerlessConf was held in London in October 2016. More than 40 speakers from all over the world shared the progress and prospect of Serverless with developers across two days. They put forward the development opportunities and challenges of Serverless. This conference was the first large-scale conference for Serverless, a milestone in the development history of Serverless.

As of 2017, the major cloud service providers have carried out basic layouts in Serverless on the whole. In particular, several major Chinese providers also entered the Serverless Era that year. In the process from IaaS to PaaS to SaaS, the de-serverization of cloud computing is becoming more obvious. What was the Serverless Ken Form proposed? What role does it play in the development of cloud computing?

3
Differences between IaaS, PaaS, and SaaS

What Is Serverless?

The development of cloud computing for more than a decade has brought earth-shaking changes to the entire Internet industry. Serverless, as a product of cloud computing or the representation of cloud computing in a certain era, is considered by many people to be cloud computing in the true sense. The Berkeley Team even asserted that Serverless would be a new paradigm that would lead cloud computing in the next decade.

Serverless means no servers, but the so-called no servers does not mean you do not need to rely on resources, such as servers. Developers do not need to think about servers and can focus more on product codes. At the same time, computing resources also begin to appear as services instead of as the concept of servers. Serverless is a complete process of building and managing microservices models. It allows the users to manage their application deployment at the service deployment level instead of the server deployment level.

Different from traditional architectures, it is completely managed by a third party, triggered by events, exists in stateless status, and temporarily stored (may only exist in the process of one call) in the computing container. Serverless can realize automatic construction, deployment, and the start of services without involving more infrastructure construction in the deployment of applications.

In recent years, microservice is another popular topic in the software architecture field. Microservice is considered to be based on small function blocks, focusing on single responsibility and function to generate complex large-scale applications in a modular way. Then, we can consider how Serverless architecture can provide a software architecture paradigm focusing more on code fragmentation. This is called Function as a Service (FaaS). The so-called function provides smaller program units than microservices.

For example, microservices can be used to execute the code required to perform all CRUD operations for a customer, while functions in FaaS can represent each operation a customer wants to perform, such as create, read, update, and delete. When the creating an account event is triggered, the corresponding function will be executed through function. In this sense, we can simply equate the Serverless architecture with the FaaS concept. However, if the specific concept is explored deeply, Serverless and FaaS are still different. The widely accepted relationship between Serverless and FaaS is listed below:

Serverless = FaaS + BaaS (+...)

In this relationship, we can see that Serverless is composed of a series of components besides FaaS and BaaS. This represents the infinite possibilities of Serverless.

The Development of Serverless

After the concept of Serverless was formally introduced in 2012, AWS Lambda started the commercialization of Serverless in 2014. In 2017, major service providers invested a lot of resources in the Serverless field one after another. In 2019, Serverless became a hot topic and was discussed by many people during KubeCon. With the continuous progress of technology, Serverless is gradually developing in a more mature and clear direction. With the approach of the 5G era, Serverless will play a vital role in more areas.

4

From IaaS, FaaS, SaaS, to today's Serverless, from virtual space to cloud resources, from self-built databases to cloud databases and other services, cloud computing is developing rapidly, but no one is sure about the direction and the final form of it.

Admittedly, Serverless has achieved the original goal of cloud computing, and Serverless is the real cloud computing. However, no one can say for sure that Serverless is the final form of cloud computing. Perhaps, Serverless is just a transition stage of cloud computing. We keep an open attitude about this, and time will answer.

About the Author

5


Liu Yu (Jiangyu) is a Ph.D. student majoring in electronic information at the National Defense University of Science and Technology, Serverless Product Manager and Evangelist of Alibaba Cloud, and special lecturer at CIO College.

He is the person in charge of user experience of Function Compute (FC), Serverless Workflow (FNF), and Alibaba Cloud other products, initiator and Director of the strategic open-source project Serverless Devs of Alibaba Cloud, contributor of open-source projects, such as Serverless Framework and KubeVela, and online programming leader of the community project Anycodes.

He is the author of best-selling books Serverless Architecture: From Principle, Design to Project Practice, Serverless Engineering Practice: From A Beginner to An Expert, and the e-book Architect Special: Serverless Practice that Everyone Can Learn (published by InfoQ).

0 0 0
Share on

You may also like

Comments

Related Products

  • Function Compute

    Alibaba Cloud Function Compute is a fully-managed event-driven compute service. It allows you to focus on writing and uploading code without the need to manage infrastructure such as servers.

    Learn More
  • Microservices Engine (MSE)

    MSE provides a fully managed registration and configuration center, and gateway and microservices governance capabilities.

    Learn More
  • Elastic High Performance Computing Solution

    High Performance Computing (HPC) and AI technology helps scientific research institutions to perform viral gene sequencing, conduct new drug research and development, and shorten the research and development cycle.

    Learn More
  • Quick Starts

    Deploy custom Alibaba Cloud solutions for business-critical scenarios with Quick Start templates.

    Learn More