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).
文章来源:
- Medium: https://alibabatech.medium.com/technological-revolution-in-serverless-d8d979e76f94
- ATA Twitter: https://twitter.com/AliTech2017/status/1431101941635960835?s=20
- Alibaba Cloud Twitter: https://twitter.com/alibaba_cloud/status/1431101757937963014?s=20
- Alibaba Cloud LinkedIn: https://www.linkedin.com/feed/update/urn:li:activity:6836866960811286528
- ATA FB: https://www.facebook.com/AlibabaTechnology/posts/854379338388346