What is Serverless or Paas?
System infrastructures have evolved a lot since the introduction of cloud technologies, unlikely virtual machines in our cloud server, serverless or some they call PaaS (Platform as a service) provides convenience for developers to focus on applications instead of spending time on dealing with infrastructure and optimising the hardware.
The conventional deployment requires the infra experts to set up the development or production environment for the application to be live. Different applications need different setups in the server with the current choice of languages to build an application is better wider, infra specialists or developers tend to spend more time in setting up application environments and things can be complex when there are conflicts or optimisation issues with their running hardware. Imagine if you have to setup software to run your frontend, backend application, database, CI/CD, firewall, security, network settings, etc each time before you deploy your system in development and production if everything went well and you wouldn’t need to deal with all the complexity of the setup but if you are going advance setup such as dockers, load balancer, cache, etc, you will at least spent half a day just to work with these infra setups. With PaaS, all you need is just upload your applications to the platform, some basic configuration with GUI from your browser, and viola, your application is up and live right now, literally, you just spent less than an hour deploying your new application to live.
Serverless has the advantage of managing your cost better compared with cloud servers. If you are an experienced developer you will realise often the bottleneck the infra resources are always laid on one software or process instead of multiples. Frontend with CDN layers often used less resource in the server, backend application with optimised code and caching software process along can reduce the server load tremendously, most of the case bottlenecks happens due to queries loads in the database when dealing with high numbers of records and complex SQL commands such as join tables etc. Most of us resolve this by upgrading our cloud server which doesn’t really cost efficient when serverless technologies allow us to choose which areas to upgrade instead of the entire server specs.
Good PaaS comes with automated CI/CD which reduces the timeframe of deployment, easy configuration to make sure the developers don’t pull their hair during setup, monitoring tools for developers to monitor the resource usage and optimisation recommendation which is really helpful for developers to optimise the application without increasing spending.
Who to use serverless?
If you are not an infra guy, careless about resource optimisation, and you wish to lunch your application as fast as possible you should really explore this option.
What PaaS options do you have?
There are a number of providers doing pretty good in serverless technologies, but not all of them suit everyone, when choosing the right fit always comes with the consideration of stability, cost, performance, support, user-friendliness, etc. we’ve listed down some of the providers below for your reference.
- Amazon Aurora
- Amazon DynamoDB
- Azure SQL Database serverless
- Google Firebase
- Alibabacloud RDS
- And other cloud service providers such as Digitalocean, Linode, etc do provide the same service as well.
Database caching software;
Frontend web application:
- AWS Lambda
- And more.. (if you know any, please let us know)
Whether it is a serverless or conventional way deployment we don’t encourage to go with the reason knowing the pros and cons in between. Not using serverless doesn’t mean that one don’t have the skills or not follow the trend, it’s not about showing off your skills when choosing technologies stacks, it’s about the sensible reasons behind using these technologies for economical, longevity and flexibility reasons.