By clicking “Check Writers’ Offers”, you agree to our terms of service and privacy policy. We’ll occasionally send you promo and account related email
No need to pay just yet!
About this sample
About this sample
Words: 1003 |
Pages: 2|
6 min read
Published: Mar 28, 2019
Words: 1003|Pages: 2|6 min read
Published: Mar 28, 2019
Traditional computing has been the backbone of many infrastructure for a long time. As technology develops, new ways to do the same thing faster and more efficiently becomes more and more common. Enters serverless computing. Serverless computing is a relatively new system that facilitate application design and it deployment method by using events. This research report will explain how these systems work, their advantages and their disadvantages in the following paragraphs..
How does a serverless infrastructure works? How does it compare to traditional computing? To know how serverless infrastructure works, it is important to know that the term “Serverless” does not mean absence of servers. The name implies instead that there is a level of abstraction between the consumer and the server. Serverless frameworks works by creating resources in response to a trigger(events). From that point, the framework sends the code linked to that trigger known as a function. Afterwards, the framework kills the code one it finishes running. This may differ from provider to provider. Traditional servers aren’t restricted to functions, which permit them to work on a heavier load for a longer period of time compared to the serverless solution.
Costs
Since using serverless architecture doesn’t require much maintenance by the user, it is relatively cheaper than traditional server architecture. This significantly reduces required administrations for server security, maintenance and such. In addition, serverless functions are smaller and perform simple tasks and only charges the user only when the server is up and running. In contrast, a traditional server will require the physical machine itself, which takes time to setup and can be very expensive. In addition, the user will have to constantly update its security, patch any bugs, updates, upgrades, etc. In other words, it requires employees to keep a server functional.
For serverless architecture, all of it is done by its provider reducing cost for employees to keep servers up to date. This also allows for more effort into the business since there is not much of a split between the employees to work on the technical side, increasing efficiency. Another disadvantages to traditional servers are that they require to be on at all times. The user will have to pay for the server even not in use since its always running. On the other hand, serverless computing uses functions. This permits the user to make use of functions only when he needs it. When he is done, the function is destroyed and the user no longer pays for its upkeep. This is also known as microbilling.
Setup time
Setup time for serverless computing is significantly shorter than traditional computing by a huge margin. For serverless computing, there is no need for a team of system administrator to set up the system since the provider already does it, reducing setup time. A traditional server will need to be bought, setup, configured and updated by a team of professionals. It can take a long time before the server can be operational. In addition, there will be a need of a team to take care of security, patching and a probability of downtime to compensate.
Scalability
Serverless computing offers a flexible scalability when needed. Cloud servers can scale accordingly to the amount of traffic it receives. For physical servers, scaling requires upgrades to the server itself or a new rack of servers, which are costly and time consuming. At peak time, the serverless infrastructure will be able to virtually expand to be able to take in the requests. When thing calm down, the server will optimally scale down to the current level of trafic.
Resilience
Informations and applications stored within the cloud are distributed to all servers. Incase of a server failure, the information and applications are not lost. Traditional systems are much more limited. If the information wasn’t backed up in time of a failure, the information is lost and the downtime will hinder productivity.
Security
Serverless security is provided by the provider. For traditional infrastructure, the user is responsible of the security, requiring manpower to keep it up to date at all time.
Simplicity
Serverless infrastructure is much more simple in general. A traditional server infrastructure requires continuous monitoring. Such example are: bug patches, security, hardware upgrades, software updates, networking and maintenance. Serverless computing has no need for any of this. The OS and the interface is all set up by the provider and a simple tutorial can help guide a newcomer through the interface.
Vendor-Locked
One of the biggest disadvantages to serverless infrastructure is that the servers are controlled by the provider. As much as it is an advantage, it's also it disadvantages. The user is heavily dependent of the provider to have their ressources installed for them in which, at times, will not provide the proper tools for certain projects. Additionally, in case of server side error or security breach, the user is unable to do much to solve the problem. Another problem is porting application from a server to another. An example of this would be attempting to port an application written in java from AWS Lambda to Microsoft Azure function. Currently only two languages supports porting application from service to service without difficulty: Node.js and Python.
Unsuited for long term tasks
As explained earlier, FaaS uses short-lived functions. These functions are stateless. This means that any variable that the user wishes to save and transfer it to another function, he cannot save it into his system, but into a database instead to then chain them together. This can be an inconvenience in the long run. In longer tasks (A lambdas function lasts for about 5 minutes), the developer will need to call another function. This renders simple tasks as uploading videos or big files pointlessly long. In comparison, traditional servers are better suited for long term tasks as they do not rely on functions. This can be useful for companies that need to upload bigger files constantly.
Browse our vast selection of original essay samples, each expertly formatted and styled