Until recently, it was like this: in order to perform computing operations, you needed hardware. You had to have a computer, and in more complicated processes, a whole multitude of computers, stuffed in server rooms. Today we have AWS Lambda, that is serverless computing, counting without a computer.
The traditional solution had more drawbacks than advantages. After the initial need’s assessment, it was necessary to spend huge amounts of money on hardware and its installation, configuration and software. Such a server room is a bottomless sack, and just a few months after purchase it could turn out that the needs are larger (or smaller), and the hardware required constant care from the IT department – replacement, update, troubleshooting, etc. A few years after the investment, along with the development of information technology, all of it was suitable for exchange. Along with this, it was necessary to frequently change the infrastructure, cabling and buy new licenses.
There was another way, though. For a long time now, there were data centres that sold certain data resources that were predicted in advance, and we were able to use their equipment. The simplest example was renderfarms, which were often used by small graphic or film studios. Instead of building their own servers, they commissioned specialized companies to calculate complex 3D animations. That allowed them to quickly see the results of their work, while saving huge amounts of money.
Scientists have also used this solution, often ordering difficult simulations from data centers. However, even the largest server room has its limitations, like space, to name just one. This solution is also limited by the power of the computing cluster and shared processes at the same time. However, with the development of cloud computing technology and large, although dispersed systems, today the use of such services has taken on a completely new dimension.
It is not even about power anymore, because sometimes in serverless computing services it is difficult to calculate it. More often it is about the number of computing processes, which are to take place at the same time. Huge online stores or corporations often perform processes that do not require a lot of calculations, but their number per second is overwhelming.
Let’s think of PayPal, for example. Every second thousand of customers start the payment process. If this system was based on standard calculation processes, it would have serious problems with handling such a number of payments at once. Or another huge organization, the Coca-Cola Company. In this case, it is not even about retail customers, but about tens of thousands of customers, wholesalers and stores around the world. Every minute they provide small order and sales data packages, which need to be processed relatively quickly.
Building server houses in different parts of the world could be a solution, but using the existing infrastructure and system, such as AWS Lambda, combined into a huge computing cloud, we will save a lot of time and money.
Of course, the very concept of serverless computing is somewhat misleading. Naturally, all calculations are done by computers. However, on the client’s side, i.e. us, the only thing left is to throw the package with the program into a bucket, because that’s how in the Amazon environment a single package with a script is called, without worrying about all the hardware that is supposed to perform these processes.
Looking at the scheme of operation of the aforementioned AWS Lambda, everything seems to be clear and transparent from the financial point of view. After uploading or writing in a built-in editor, a script to be executed, the system starts the process only when it receives a request from the outside, like when the customer presses the “Pay” button on the website. After the payment process is completed, AWS Lambda stops working and waits for the next order. Individual buckets with scripts can of course interact with each other, like during non-standard operations – one bucket starts the other one.
AWS Lambda requires a lot of programming skills when we want to connect it to our website or internal IT systems. We can use a catalogue of ready-made instances and scripts, which can be found on the website of the AWS project. However, before commercial use, it is worth to consult a specialized company, such as Greenlogic from Wroclaw, which implements serverless computing solutions in companies. Using many scripting languages, they integrate the IT system already existing in companies so that all calculations are performed on the side of Amazon. They also take care of securing connections between the systems, which, for example, during financial transactions is of at most importances is of at most importance.
The system is scalable, which means that if necessary, it performs simultaneously as many individual calculation operations of the same script as it is ordered, for example during an increased number of purchases in our online store. Therefore, there is no need, as in traditional systems, to queue processes.
Using serverless computing technology like AWS Lambda we also save on electricity bills. At a time when there is less traffic, for example during night time, it is in our interest that we do not power dozens of servers that stand idle. There are also no booking fees for resources in Lambda. We always pay only for the working time of our script. A bit like an impulse on the phone, with the difference that it is charged every 100 ms.