Serverless eCommerce Platforms: A Complete Guide
Everything You Ever Wanted to Know About Serverless eCommerce Platforms but Were Afraid to Ask.
The term Serverless eCommerce means using ecommerce platforms that are able to work in serverless mode in a cloud hosting provider’s data center. A more general term for the technology is serverless computing, which refers to the operation of any application in serverless mode, including an ecommerce platform. For one, take ecommerce asp based Virto Commerce with perfect serverless support.
In July 2021, Virto Commerce was the first vendor in the B2B ecommerce industry to launch its serverless ecommerce platform. It was not a commercial version of the application, but an experiment to see whether our B2B ecommerce platform would work as serverless. The answer was an enthusiastic “Yes, it works!”
After the article How We Launched Virto Commerce B2B eCommerce Platform in Serverless Mode on Azure Functions was published, we received a number of questions about serverless ecommerce, and covered the most interesting ones in this post. What are the advantages and drawbacks of serverless ecommerce, its misconceptions, and real and unrealizable prospects? We’ll talk about all these questions here.
- WHERE DID THE SERVERS GO?
- HOW NEW IS SERVERLESS COMPUTING TECHNOLOGY?
- WHAT TECHNOLOGY IS BEHIND SERVERLESS COMPUTING?
- HOW SERVERLESS ECOMMERCE BENEFITS COMPANIES
- WHY MARKET-READY SERVERLESS ECOMMERCE PLATFORMS ARE NOT AVAILABLE YET
- WHAT IS THE COST MODEL FOR SERVERLESS HOSTING?
- RISK OF UNEXPECTED BILLS FOR SERVERLESS ECOMMERCE HOSTING
- WHAT ARE EXAMPLES OF SERVERLESS COMMERCE ARCHITECTURE ON THE MARKET?
Where Did the Servers Go?
Mostly for business people, the first question to ask is what hardware the applications are running on, if the mode is called serverless. We hasten to say that there is no magic in serverless ecommerce, but only a play on words.
The term “serverless” is deceiving in itself. It can be attributed more to marketing promotion rather than technology in the cloud hosting, say, b2b marketplace platform. In fact, all serverless applications run on servers anyway. Often these are the same servers that you can rent as virtual machines or as dedicated/bare metal ones.
The whole idea of serverless ecommerce is that a company does not rent any specific configuration of server hardware resources for their project (the number of CPU cores, memory, disk space) from the cloud hosting provider. The data center provides the appropriate server configuration automatically, depending on the load of the ecommerce application.
How New Is Serverless eCommerce Technology?
The idea of serverless computing and serverless ecommerce platforms is not a new one in itself, but the progress is in its ability to run large and complex applications due to the increased capabilities of cloud hosting infrastructure. Since 2018, there have been many discussions on how to use serverless computing for ecommerce, but in 2021, serverless ecommerce platforms are still in the experimental stage.
Initially, the idea of serverless computing, which in 2021 was already about 10 years old, was to launch short applications in a way that performs some function (calculation), then provides output data to a screen or to another application. The output data were not intended to be stored and, therefore, the function simply stops working further.
An example of an ideal serverless app is the function of calculating the amount in one type of currency relative to U.S. dollars. The function takes the code of the second currency, loads the current exchange rate, and displays the equivalent amount in dollars.
What Technology Is Behind Serverless eCommerce?
Serverless computing uses container-level virtualization. This explains why the first benefit of being serverless is unlimited scalability. At the programmatic framework, each function call runs in a separate container, which is destroyed as soon as the function ends. If a function needs to be run many times or multiple function calls come in parallel, it starts and then destroys the corresponding number of containers.
Serverless ecommerce: containers and virtual machines.
If you want to know how containers differ from virtual machines, then we recommend this Microsoft docs page, which explains the difference.
When a hosting provider offers you a serverless computing service, they take care of starting and stopping all the containers, including fault tolerance and updating the operating system of the servers on which the containers run.
How Serverless eCommerce Benefits Companies
While you've probably read many times about the wonderful benefits of serverless ecommerce, we have to warn you that, in all honesty, these are just supposed benefits and have not actually been proven commercially.
The principal advantage of going serverless is associated with the possibility of reducing infrastructure costs, which is especially important for the B2C and B2B ecommerce industries. To be more precise, the costs are supposed to be reduced in 3 ways:
1. Unlimited Scalability
For ecommerce, as perhaps nowhere else, the main advantage of serverless computing is its ability to quickly and almost unlimitedly scale the web store load, from complete rest to a bursting high. In this case, scaling occurs automatically and does not require any action from the owner of the ecommerce store.
2. Pay-for-Value Model
The second advantage is the pay-for-value model, i.e., according to the IT load and without any minimum level, which is also very favorable for ecommerce. No need to guess the future load on the store's server; hosting will provide any computing power needed (some limits will still be mentioned in the hoster’s tariff plan).
3. Savings on Staff
The third area of savings includes significant cost reductions on a highly paid staff of system engineers and administrators. In the case of cloud or on-premise hosting, these employees would be involved in setting up servers and installing operating systems and middleware. For serverless ecommerce, such operations and personnel are not required.
Within these three listed areas of cost reduction of serverless ecommerce, personnel savings seems to be the most realistic one. For the other two, we will discuss the challenge of combining scalability and payment model factors for your serverless ecommerce budget below.
Why Market-Ready Serverless eCommerce Platforms Are Not Available Yet
The containerized architecture of serverless computing creates a set of constraints on the application architecture, including the B2B ecommerce platform. Let's name a few of them:
• Ability to split an ecommerce workflow into multiple microservices, each of which can be launched as a function or as an external service from the hoster's serverless services.
• Execution of the function code within a very short time allocated by the subscription plan. It is measured in milliseconds; otherwise, the function will timeout abnormally.
• Low size of the occupied RAM. This parameter is usually limited in serverless subscription plans.
Initially, serverless computing was invented primarily for performing computational operations. Using a container virtualization method for multifunctional ecommerce applications requires data storage, authorization, content management, cataloging, pricing, payment, and other platform functionality to interact with many other applications and services.
In other words, a serverless module has to work in an ecosystem of enterprise applications, and it is very difficult to code and execute many microservices as serverless functions, as well as consider timing and memory requirements for the entire business logic of the online store.
What Is the Cost Model for Serverless Hosting?
The pay-as-you-go model for serverless services is applied, in which the cloud provider allocates machine resources on demand. The number of containers to start is defined by function calls. The bill depends on the actual volume of resources consumed by the application.
Although the pay-as-you-go model has been the de facto standard in cloud hosting for several years, for serverless services it goes further, to calculate every small function and interconnected service in the billing.
Generally speaking, serverless ecommerce platform can be used most cost-effectively when you only intensively process a large number of requests infrequently. In such a case, running serverless functions is more profitable for a short time than constantly keeping and paying for a powerful virtual machine or server all the time.
However, for online stores selling products with moderate fluctuations in demand throughout the year, for example (this is more common in B2B commerce than in B2C), it is better to stick to traditional hosting on a virtual machine or dedicated server. Why is that? The answer is in the next section.
Risks of Unexpected Bills for Serverless eCommerce Hosting
Delegating to the hosting provider the full right to practically unlimitedly bill your account in accordance with the infrastructure load brings a significant risk to the IT budget. While cloud providers give you some control options to limit monthly or daily costs, billing might not keep pace with real-time operations. For example, in the developer communities, it is argued that AWS billing is almost a day behind. In other words, you will know about excessive spending post factum when nothing can be disputed.
An example of the cause of unexpected and excessive spending might be cyclical operations in one of the functions that run a loop endlessly. Such errors are sometimes found in application code. If a subscription plan to rent a virtual machine allows you to stay within the previously defined budget, then there will be no spending limits on serverless tariffs.
What Are Examples of Serverless eCommerce Architecture on the Market?
Serverless computing is a hot topic, but none of the commercially available B2C and B2B ecommerce platforms in 2021 are offered to run in this mode yet.
In the Architecting a Highly Available Serverless, Microservices-Based Ecommerce Site article posted on AWS, authors provide an example of an experimental ecommerce platform built on serverless AWS Lambda hosting. At the same time, in addition to AWS Lambda as an FaaS platform for serverless computing, it is only supposed to use about a dozen internal AWS services. These additional services are needed for the content layer, authentication, and database.
While this AWS experimental ecommerce architecture could run in serverless mode, there are two big drawbacks. First, it is tightly coupled to the AWS brand and unable to migrate to another provider. Moreover, AWS will charge a fee for each additionally used service, and it is likely that the benefit of serverless cost savings will be lost.
Serverless computing providers, such as Azure Functions, AWS Lambda, and Google Cloud Functions, can be chosen for running your ecommerce application. There are local hosting providers that also offer serverless hosting these days.
Serverless technology is undoubtedly a technology with a great future. With all the advantages and drawbacks of serverless ecommerce, before implementation, the first step is to evaluate the application logic and understand what tasks can be executed in serverless mode in a particular case.