By Lee Briggs & piers karsenbarg
Translator | Donghui
Many developers say that no server is the future of computing, while others say it will never succeed. Our own views are not so polarized. We see no server as an option, which is a possible stepping stone from start-ups to medium-sized enterprises to large enterprises. In these two posts, we will discuss how serverless adapts to this process, as well as its advantages and disadvantages.
Our goal is to help you effectively evaluate serverless computing. We want to stimulate discussion, not subconscious reaction, whether for or against. I hope these blog posts can help you discuss among all relevant people and agree on the best business solution. The course may or may not involve no server. In this first article, we will consider some of the most common problems when discussing server free. In the second article, we will study some broader issues.
What is no server?
The term “no server” is a bit of a misnomer. A more cynical person might mutter, “no server is still running on the server“ It’s true. No matter what cloud provider you use, you always use servers to run your applications. These servers must be configured, managed, and maintained. The serverless services provided by cloud providers often abstract out the running application components that are difficult to manage: they run and manage the server for you. Developers can run their applications without worrying about the underlying, such as the operating system, or even computing power.
Why server less?
When people promote no server, they will give some ready-made answers. We will refer to them quickly here, and then we will study them more carefully. Here are three reasons given.
1. This is a quick way to start
Handing over the management of the server to the provider means that you can make the application available to users very quickly. There are many underlying infrastructures for which you do not have to write or maintain code.
2. It’s very cheap
No server can save you money in several ways. First, because the provider manages the server, the management cost can be reduced. You don’t need to write so much code, because the server is not your concern. You can bring applications to market faster, which means you can start generating revenue faster. Finally, depending on your usage pattern, you only need to pay for the time it takes to execute the code. You don’t have to pay for your free time.
3. It is outside it control
In organizations that adopt cloud engineering, people often turn to no server because they think it is too slow or slow to respond. In “traditional” organizations, it may be difficult to purchase hardware, the procurement time may be too slow, or it may shrink back due to operation or finance. This is often one reason why people turn to cloud providers, who may consider using serverless as part of the migration.
If you encounter obstacles such as strict permissions in the process of providing cloud resources, you will also see server free adoption in companies that have adopted cloud computing. No server is a simple way to get around what is considered a “roadblock” to get the job done. Sometimes, the server less push may come from outside the development department. For example, the marketing department may want to publish something that is critical to time because it is related to an event.
Let’s take a closer look at the reasons why people advocate no server.
1. Is this really a way to start quickly?
Using no server may make your application easier to market, but it needs to reconsider how to build and develop applications, which will lead to labor punishment in the future. When you start leveraging serverless products, the traditional approach your organization uses when building production applications may need to be reconsidered or even readjusted. A good example of this is when considering monitoring and observability: many monitoring platforms work on a layer that you cannot access, and you cannot gain insight into the performance of your application. Redesigning and rethinking how to use serverless technology to build production ready applications may bring unexpected delays to the serverless journey.
2. Is it really cheap?
One of the reasons why no server is considered cost-effective is that you only need to pay for the computing time used. However, using no server to save money is not inevitable. It’s important to dissect the appropriateness of your application. Here are two considerations.
What is the mode of the request?
If your application has many small, fast requests, then no server may be a good choice. On the other hand, if your application relies on long-running operations, you may be shocked when viewing the bill.
What about the start-up time?
Remember, you still need to “pay” for the startup time of the application. Serverless services are often penalized by “cold start”, so if you use them infrequently or not at all, you may have to run other processes in the background to ensure that your application does not pay for them. This also means that your first request will take longer than subsequent requests. If no server functionality requires always quick response, you can pay extra for implementations such as preset concurrency to improve the loss of cold start. However, compared with traditional software deployment methods, this can easily offset any cost savings you may have.
3. What about control?
Adopting a serverless platform as a deployment mechanism means that the responsibility for patching the infrastructure is transferred to the provider. You can no longer respond quickly to security warnings at the operating system level; You trust your suppliers to do this. In this case, you may not want to give up control.
You still need to manage security notifications in your application dependencies, and you need a mechanism to respond to these issues. Due to the lack of infrastructure to manage, serverless collectors often have the wrong impression that their applications are “secure”, but this rarely happens. You may need to adapt any existing mechanisms used for penetration testing of your application to any new serverless platform. Although your attack surface may be small, you still need to ensure that any potential attacker is difficult to attack at the server free infrastructure level.
If you choose no server because you or other departments want to bypass standard it processes, this will point to problems within the organization rather than the need for no server. Technology cannot solve cultural problems. What can really solve these problems is that people communicate with each other and find out how to make everyone related live better.
You must understand that you are transferring control of the server to the provider rather than yourself, and you need to study the trade-off between compliance and the advantage of no server in detail.
This article is reproduced from Serverless Life official account. Please contact the original author.