Tim Wagner was invited by Tencent Cloud Serverless team to deliver a Keynote speech for Chinese developers at Techo Developer Conference, in which Tim delivered his latest insights and trends on Serverless technology. Tim Wagner, founder of AWS Lambda, is the godfather of Serverless as the industry’s earliest Serverless practitioner.

This article has been translated, proofread and edited by Tencent Cloud Serverless team from Tim Wagner’s lecture. Let’s take a look back at godfather Serverless’s wonderful keynote speech. This article contains about 3,700 words and takes about 9 minutes to read.

Hi, I’m Tim Wagner, CEO and co-founder of Vendia, and I’ve spent my entire career trying to make software and applications easier to develop.

Back in 2013, I approached the AWS executive team to explore the idea of making it easier to create applications on the cloud by shifting most of the complexity of making sure applications run from developers to cloud providers. Cloud providers already have a lot of expertise, great o&M tools, and a lot of professionals dedicated to keeping servers and storage services running smoothly 24/7. Letting developers not worry about scaling, fault tolerance, or infrastructure maintenance makes it much easier to build software.

From this idea, AWS Lambda was born. Although we didn’t use the word Serverless, it was the beginning of Serverless in cloud computing — a way to run code at scale without thinking about servers and containers. Today I want to share some insights about where the cloud, and Serverless in particular, is headed.

Before we get there, we need to review the history of cloud computing. I’ve divided cloud computing into three waves.

The first, from approximately 2006 to 2014, was characterized by hosting servers outside of the enterprise data center.

For those early cloud adopters, we called them explorers, the big change was that virtual machines could be up and running in less than 10 minutes. With Serverless barely involved in this wave, these explorers are looking for migration compatibility rather than the new capabilities that the cloud brings, which means that cloud services differ as little as possible from traditional server hosting services. In addition, these explorers are often distributed systems specialists, and in many cases bring their own processes and operations teams with them to handle scaling, fault tolerance, and operational maintenance issues.

The second wave builds on the first. AWS Lambda, for example, is the first service built entirely on existing services such as EC2 and S3, rather than directly using bare-metal hardware. The second wave doesn’t really start until we create those new cloud computing technologies and cloud computing capabilities.

The second wave of developers is actually different. Instead of focusing on pure system migration, they are willing to learn and adopt new technologies, new ways of doing things, faster uptime, greater development efficiency, greater security, or a better customer experience. Including Serverless computing, Serverless queues, Serverless databases, and Serverless BLOB storage, the suite of technologies available to developers in cloud services. These developers — let’s call them “settlers” — have simpler, more convenient tools than starting with a sketch.

It has also changed the relationship between cloud services and developers forever. Cloud service providers are no longer just primitive infrastructure rental companies, they now care about the business details of each developer application. This is a huge shift in mindset and new responsibilities. Because the performance and capabilities of cloud services now directly affect not only what people can build on the cloud, but also how well those applications perform and how well they meet customer expectations.

Developers in the second wave have a crucial understanding with cloud services — developers are willing to learn these new technologies and modify their code to accommodate these new services for better revenue. For example, lower costs, simpler modes (such as event handling, automatic scaling), and no need to worry about configuration capacity or server health are all driving and advantages for developers to change the way they write software. These advantages have contributed to Serverless’s success. Today, almost all fortune 500 companies say they use Serverless services, and more and more developers start with Serverless when they get to the cloud.

So what’s next? Today we are at the beginning of this exciting new phase: what I call the third cloud wave.

Once again, these new wave developers look completely different from those who came before them. Third wave developers are like “city planners” who grew up in the cloud. Developers entering the industry today may never actually see a server. Many of them will never see a data center or use an operations methodology. To them, the term cloud native doesn’t even make sense — they’ve been in the cloud since the beginning. By and large, these developers are pragmatists, with plenty of professional software engineers who can do their jobs with the tools provided by the cloud.

What’s driving the third wave of cloud computing?

All this is to make it easier and more convenient to program using cloud services. Familiar tools and frameworks eliminate undifferentiated grunt work. A standard deployment process enables developers to transfer technologies learned from one company to another as they move from company to company. These technical standards also make it possible to reuse technologies in different environments. Further, the cloud creates solutions for developers, rather than just giving them new technology.

What does this mean for Serverless?

First, it means that you need a very broad range of use cases. Serverless starts with a few use cases, such as event handling. Initially, issues such as cold starts limited the use of Serverless in low-latency scenarios. So, to succeed in the third wave, Serverless technology must eliminate problems such as cold starts and be able to scale more quickly. We have seen cloud vendors address these issues, and the latest generation of Serverless computing solutions can now meet almost any application needs.

Second, Serverless in the third wave needs to work seamlessly with existing tools and frameworks. For example, support for standards such as container images. This does not mean that developers are once again faced with the challenge of operating servers and containers; it just means that application building and deployment tools need to be standardized and portable.

Finally, the third wave needs to address the real needs of developers: support for existing languages and frameworks, and cross-cloud standards for code and configuration (like Docker images) to help developers retain and reuse their technology and code in different environments. We’ve seen amazing, transformative offerings from every cloud provider in the space, making Serverless easier to use and generating more Serverless applications each year.

What is the future of Serverless? Based on the two exciting trends I’ve already talked about, I can give you two predictions.

First, we’ve all heard the bad news that Moore’s Law is dead! Computer chips aren’t really getting any faster, and memory density isn’t getting much higher — at least not at the rate it used to. The idea of computer power doubling every few years is over, isn’t it?

Cloud computing depends on three things, not just CPU and memory, but network. Cloud data center networking continues to get faster at a staggering rate year by year, which is really great news for Serverless. In the age of slow networking, HIGH-PERFORMANCE computing on the cloud is essentially server dependent and works in much the same way as it did 10 to 15 years ago. You have in the cloud, for example, a few big multicore CPU and memory large instance, if you are computationally intensive business: such as machine learning or monte carlo simulation, you might be in the same manner, the distribution of these robust server instance, and then run on computationally intensive tasks.

But as networks became faster relative to CPUS and memory, things suddenly changed. Suddenly, distributed storage and distributed computing are competing with traditional large computing instances. Developers are starting to think about where they can easily get large amounts of computing resources — the Serverless cloud function is the answer.

Why the Serverless function? For the past 50 years, distributed computing researchers have focused on server-based models with unlimited time and limited resources. Serverless computing turns all that on its head, and developers now have unlimited resources but limited time. That requires a lot of new algorithms and new research.

In the past few years, research in the field of Serverless has exploded. There are many papers on Serverless storage, Serverless computing, and Serverless applications such as image processing and linear programming, and universities have conducted more and more research to explore this new paradigm, which is fundamentally driven by the continued validity of Moore’s Law in cyberspace. And Serverless cloud products are getting better and better as a result. This is an incredibly exciting time, which will lead to greater adoption of Serverless technology in the third wave of cloud computing, based on the fact that Serverless now, when every developer deplores code in the cloud, Can get an easy-to-use, easy-to-program “supercomputer.”

Turning to my second prediction, I’ll start with a thorny question — if Serverless is so great, why do we still use servers? The pertinent answer is that state management and sharing remain difficult. For half a century, programmers have been grappling with how to build applications that span companies, geographies, accounts, clouds, and technology stacks. Serverless computing makes some of these patterns possible, such as synchronous event handling, simpler and more efficient programming methods, but it does not yet solve all of these challenges and problems.

Why is that? Despite Serverless’s many advantages. Serverless computing remains a challenge: These services typically run on only one cloud, and the general Serverless functions do not have built-in data models and persistent storage, making it still tricky to work your applications across different geographies or across clouds. Currently, when these problems occur, developers use a number of different tools and methods to solve them.

Now it turns out that distributed ledgers, the underlying technology of blockchain, can actually solve some of these problems. Distributed ledgers are inherently decentralized, and they span clouds, regions, and accounts by using replicated and synchronized data stores, and provide easy-to-program data models and ACID transactions just like traditional SQL databases.

The first generation blockchain was not very effective as a software platform. Each node runs on a single server, limiting its computing, memory, and network resources to a minimal amount, making it difficult to integrate with other cloud services, and unable to handle important real-time data such as large files or multimedia.

One of the reasons I started Vendia was to tap into the exciting intersection of these two technologies.

By rebuilding the distributed ledger using the Serverless service, we can place a supercomputer in each node, addressing the performance, integration, and deployment challenges that plagued the first generation of blockchain technology.

By attaching a distributed ledger with an easy-to-program, consistent data model to the Serverless function, we can give customers access to the Serverless programming model, which can span companies, clouds, geographic locations, and even technology stacks.

This technology standard enables developers to create portable, cross-cloud applications with unprecedented flexibility, extensibility, and simplicity. Such innovations are driving a new generation of Serverless applications that combine the best of services with the best of traditional applications.

Serverless has experienced an amazing rate of growth since its inception, and the future of Serverless technology has never looked brighter. Serverless will provide every developer with supercomputer-like performance, stateful, lighter application support, and the ability to link everything. This will drive a new wave of cloud computing to come, helping us deliver more value to our customers faster and better than ever before.