Are you paying high costs on your organisations hosting bills? Did you know there is new technology that can significantly reduce your hosting costs?
The current way of delivering software as a service is by using a microservice. That involves making sure that the service is secure, scalable, and backed up; these three are essential and require qualified staff, or an operations group, to manage. This is just one part of the cost associated with hosting; you also have running and CPU costs on top of that.
However, newer technologies have recently been developed which unburden business from these costs. Its called 'Serverless' technology and it takes care of the security, scalability, and backups for you. This not only cuts down the time it takes to deploy 'software as a service' but also can reduce the cost as you don't need all that manpower to manage these capabilities.
So regarding which service to employ for your organisation, we thought we'd compare this newer technology with the existing so you would have a good idea of the difference and the pros and cons of each.
With a microservice, the backup, scalability, and security must be set up and maintained by qualified staff. The work involved in this could take several weeks just to get one microservice ready for production. On the other hand, Serverless technology does not require staff working on these features. These features are built into the framework so you do not require specialised staff or professional services contractors to set them up. You could theoretically have your 'saas' up and running in a fraction of the time without those additional ongoing costs.
Serverless Pros - security, scalability, and backups are automatic requiring less manpower
Microservice Con - additional costs associated with manpower needed to setup and manage
Now, lets compare the ongoing hosting costs. A Microservice is always running. Even when you have no traffic on the service, the CPU is still running and the costs continue to accumulate. And, regardless of whether it's being used or not, you can still be charged a lot of money. Serverless, on the other hand, is temporal. It only runs when a request is made and you are only charged for those requests. This can greatly cut your hosting costs in comparison to the current microservice technologies.
Regarding the cost of an individual function, there are pro's and con's to both types of technology and what is best for you will depend on the variety of functions performed by your service. A longrunning serverless function will cost you more than a longrunning microservice function. However, if you take into consideration the additional costs associated with microservices, ie, the extra human resources needed to manage the security, backups, and scalability, it might be more feasible to go serverless.
The sorts of functions we are talking about here could include such things as data imports or big data downloads that may take a long time to execute. If your service is mostly providing such functions, then you should probably stick to microservices. If the functions are primarily short-running processes such as accepting an online payment, then serverless is the way to go to reduce the hosting costs. The costs to carry out a single transaction on Serverless technology is very minimal when compared to running the same request on a microservice. On serverless technology, you only pay for the execution of that function, so we are talking fractions of cents as opposed to a CPU that is continually running. Imagine having thousands of these microservices running over a year; the costs can run into the hundreds of thousands of dollars.
Whereas when a single function executes on serverless technology, you are paying a fraction of a cent, so that's the economies of scale. In terms of 'which is better,' the answer depends on what your functions are and how they are executed.
Serverless Pros - charges are only applied when an action is performed
Microservice Con - charges are applied 24/7 whether you have actions performed or not
In a typical microservice, there are a lot of infrastructures built around it. For example, 'Spring' which is a microservice framework has all of your API endpoints and these are quite easy to map and setup. Connecting to databases, for example, is easy and likewise, if you need to connect to any 3rd party services, such as those that send and receive emails, all this happens very easily with a microservice because capabilities are built in.
Serverless technology does not give you these capabilities out of the box; you need to build it. For example, you will need to integrate into API's, set up your storage, ie 'S3 buckets in the case of AWS' and connect your database etc. You will have to do the connectivity manually through configuration. The reason for this is because of how new the serverless technology still is. It's in its infancy now but it will mature in time, and these processes will likely form part of the framework in the future.
Serverless Cons - no inbuilt capabilities, need to build them.
Microservice Pros - Inbuilt infrastructure making connectivity and integration easy.
We hope we've given you some useful information about the pros and cons of each type of technology. If you are interested in learning more about how Serverless technology can benefit your business, feel free to drop us a line, and we will be happy to point you in the right direction based on your service type.