00 Preface Word Serverless Is an Inevitable Choice in the Wave of Cost Reduction and Efficiency Increase

00 Preface_Word Serverless is an inevitable choice in the wave of cost reduction and efficiency increase #

Hello, I’m Jingyuan.

Let me briefly introduce myself. I am currently a senior technical expert in cloud-native at an internet company, responsible for Serverless-related business and technology. I mainly provide Serverless landing solutions for both public cloud and private clients. At the same time, I am also a standard expert in the field of Serverless at China Academy of Information and Communications Technology (CAICT).

With the increasing popularity of cloud-native, Serverless, as a core component of cloud-native architecture, has become a hot topic in the technology community in recent years. How popular is it exactly? Let’s take a look at the data below.

According to data from Datadog, more than half of the institutions and organizations using cloud services have adopted Serverless technology. The latest report from CAICT in 2021 also shows that users who use Serverless in their core business account for 18.11%, and more than 70% of users have already started or planned to use Serverless technology.

Image

Currently, there is a shortage of cloud-native, Kubernetes, and container engineers in the industry. Top-tier companies are urgently recruiting cloud-native engineers. In this situation, becoming an engineer who knows and understands Serverless can help us take the lead and reap the benefits of the popular cloud-native technology.

The “Love-Hate” Relationship with Serverless #

The continuous rise of Serverless is due to its advantages in “fast development and delivery,” “high operational efficiency,” and “low resource costs.”

From different perspectives such as containers, applications, and functions, Serverless allows businesses to quickly migrate to the cloud and enjoy the convenience it brings. By delegating the management of machine resources and network resources to specialized platforms, we can focus more on our own business and products, thus enhancing the core competitiveness of our products and business. This way, we can let professionals handle professional tasks and avoid doubting questions like “Why does it take so long to develop such a simple feature?”

Although Serverless has such great advantages, after going through several years of development, there is still a lack of practical experience and knowledge when it comes to using Serverless, whether it’s clients, team members, or myself. It feels like we are still feeling our way through the river.

After experiencing numerous frustrating nights, I realized that the constantly evolving features of Serverless greatly increase the difficulty of learning and using it.

So, next, let’s take a look together at how to grasp the “unchanging” aspects amidst the constant evolution of Serverless and achieve rapid growth and advancement in the field of Serverless.

Course Design #

I have designed the entire course into three major modules: “Core Technologies,” “Expanding Abilities,” and “Practical Advancement.” I hope to gradually guide you to become an expert in the field of Serverless through step-by-step progression.

Introduction #

At the beginning of the course, I will provide a detailed introduction to the history of Serverless and share with you the growth path that my team and I have summarized. At the same time, I will combine the latest standards from the China Academy of Information and Communications Technology to present a complete solution for Serverless. Lastly, I will explain the learning method on the Serverless path to make your journey of leveling up and becoming the champion smoother.

Core Technologies #

In this module, I will clarify the abstract points of Serverless by using concrete FaaS products and technologies. This includes the implementation mechanisms of core technologies such as triggers, cold start, scaling in and out, traffic forwarding, and runtimes. Alongside the principles, I will also incorporate case studies and frontline experiences so that you can learn and apply them immediately, removing the cloud of mystery and revealing the clear sky.

With the knowledge of core technologies, it will be like a “trunk” for a big tree. Once you understand the architectural principles, core features, and technical details of Serverless, you will have a clear plan in mind when designing a Serverless cloud computing product.

Expanding Abilities #

In this module, I will explain the extended capabilities of Serverless, allowing you to understand the overall solution for Serverless. It includes how to implement the capabilities of WebIDE in FaaS, how to build multi-task orchestration capabilities, and how to construct a multi-dimensional Serverless observability system, among other topics covered in six sections.

The content in this module is like the branches and leaves of a big tree. If you were to lead the technical architecture design work for a new Serverless cloud native product in the future, you should be able to apply the knowledge gained here and handle it with ease. I believe with this, you will be one step closer to becoming an architect.

Practical Advancement #

Through the learning in the previous modules and the hands-on exercises throughout the course, typical scenario-based practices and frontline problems should no longer pose a significant challenge to you.

However, theory alone is insufficient. In the practical advancement module, I will share my firsthand experiences as both a business and platform entity. I will discuss with you the lessons learned on the frontline and help you apply the knowledge gained earlier through several typical cases.

In addition, the development of Serverless relies on the contribution of open source ecology and the community. Here, I will explore the matters of open source engines with you. Combining the experiences gained from interacting with customers and users, I will share the thought process of implementation and conclude this module by discussing how to build your own Serverless platform based on the core engine. It will also serve as the sublimation of the entire column.

Through this “three-in-one” learning path, I hope that you will grasp the “meaning” of Serverless rather than just the “form.” As Serverless becomes increasingly popular and cloud products become more diverse, this will be more important.

If you are a user of Serverless platforms, through this column, you will become more proficient in application, understanding not only the “what,” but also the “why.” If you are a developer of Serverless platforms, through this column, your mindset will also become more open for development and innovation of cloud-native products.

Image

Before you embark on your journey of learning and advancing in Serverless, I would like to provide you with a course knowledge map. I hope that it will serve as a knowledge framework for you to preview and review the course content, helping you connect the dots in Serverless technology starting from FaaS.

Conclusion #

In the end, I chose Serverless in the form of FaaS as the focal point of this course to analyze its core technologies, capabilities, and practical experiences.

Why did I make this choice? Let me share my thoughts with you, and of course, I welcome you to discuss with me in the comments section.

Serverless is still in a rapid growth stage, with its functionality, products, and target domains expanding. Building your own knowledge system in this fast-paced and dynamically evolving technology field is extremely challenging. Moreover, Serverless has developed to the point where it is no longer just one or two specific technologies or products; it encompasses a whole set of product systems and technical concepts.

We can consider it from two perspectives. One perspective is the theoretical and academic aspect, including FaaS (Function as a Service) and BaaS (Backend as a Service), where BaaS includes Serverless messaging middleware, object storage, databases, etc. The other perspective is the product and technology aspect, which includes FaaS, elastic application hosting services, elastic container services, as well as a complete set of supporting toolchains.

Just imagine, do we have to start from scratch every time we want to expand our knowledge of a new product, feature, or domain?

So, can we find a more mature entry point to understand the technology itself and learn how to learn it?

FaaS, as a “pioneer” product in the Serverless ideology, has been around for over 8 years since the release of AWS Lambda, with many vendors following suit. Features such as custom runtimes, custom images, orchestration, and application center are all built on and extended from FaaS. Therefore, I believe that FaaS in the form of Serverless is an excellent starting choice.

I hope that this focused approach can help you develop the habit and ability of learning from one and applying to many. The frontline experience and problem-solving over the past few years, as well as the methods abstracted from platform design, have benefited me greatly. I hope to share these experiences with you through case studies and practical exercises, so that together we can advance Serverless.

In a recent paper published at UC Berkeley, it was predicted that Serverless will dominate the development of cloud computing in the next decade. I firmly believe that through this approach, you can definitely become a valuable member of the Serverless community, standing strong in the next ten years.

Now, let’s embark on the journey of learning Serverless together!