What is Serverless technology and how can it benefit your business?
What is Serverless?
Serverless is a software architecture term referring to the way that you organise (design and build) your website or platform.
Imagine you are going to build a house, you need to have a blueprint (plan) in place before start building. Softwares are no different, you should have a plan before starting creating one.
The serverless approach gives you some sets of predefined standards that you need to follow to create a software.
First Impression of Serverless
If your first impression of Serverless is that you don’t need a server for your project (website) – you are both right and wrong at the same time!
But how is that possible?
Well you don’t need to worry about servers anymore – but that doesn’t mean that there is no server. Your project (website) will still run on a server, but the provider of Serverless technology (usually clouds like AWS and Microsoft Azure) will manage the servers for you – meaning that you don’t have to worry about them.
How it works?
Serverless programming is usually based on a cloud service called Function as a Service (FaaS). It means for every task, you define a function, and that function will be triggered based on an event regardless of other functions.
Imagine you go to a website and you click on “Sign In” you enter your login information and click on “Log In”. The whole Sign in process is a function and will be triggered when you as a user click on Log In button.
In none Serverless technology sign in is usually a part of bigger class, and that class will have more functions that are all tied in. In the Serverless method the “Sign In” function acts on its own regardless of any other functions. This makes it easier for you to design a software or even easier to debug a problem.
Scalability – the main advantage of using Serverless technology
When you use a server to run your project (website) on, you need indicate how powerful your sever must be in terms of RAM or CPU. You then decide on your server capability based on your websites peak traffic.
Imagine you have a website selling tickets for different events. You rent a server based on supporting 1,000 users per minutes. Of course you don’t have 1,000 visitors every minute of every day, but you need to pay for that server just in case you hit 1,000 users per minute.
This means that essentially you have to pay for something that you will rarely use to its full potential or even never at all.
Now imagine you have a super duper event (like a Justin Bieber Concert :D) exclusive on your website that you know will be sold out in a matter of minutes. Now you need a server that supports 10,000 users per minute but just for a few minutes. Unfortunately you only have one option – upgrade your server to a more powerful server which will cost you a lot more money!
Serverless is built to solve this problem. The Serverless architecture can manage 1 to millions of requests per minute, and more importantly you pay for what you use. This means in off-peak time you don’t have to pay as much as peak time, which can save you a lot of money.
In a case study a company called Trek 10 managed to hugely decrease their cost from $1700/month to only $200/month. You can read the full article here.
There are many more advantages of using Serverless technology such as:
· No cost of setting up and maintaining a server.
· You can break the project to many smaller functions which is easier to use and debug.
· Highly customisable – every single function can have its own memory allocation and its own settings.
· Highly available – in non Serverless technology if your server goes down the whole system won’t work, while in Serverless if a server goes down another server will take place of faulty server without you needing to do anything.
Serverless at Design By Day
In 2016 a Manchester based start-up approached Design By Day to design and implement a highly available and scalable platform and API for their fitness apps.
They were worried about running large marketing campaigns, and how this would affect user experience would be during the peak time.
For example, if they were sponsoring a big boxing match that was covered live on Sky Sports.
Thanks to the Serverless technology we managed to handle all the requests during peak time with average latency of 0.5 second per request. And doing all this while keeping the cost down. Impressive stuff, isn’t it?
Serverless for your project (website)
If you are planning to design and build a website contact us at Design By Day to give you some advice on how Serverless technology can help you and your business.