Applications are traditionally deployed on servers, the time spent managing those servers is time you could have spent on building new business features and improving the quality of your applications. Building new features and improving the quality of your application is the way you make more revenue.
Before the cloud age developers had servers available to run their workloads, the process of obtaining new hardware can take months. A huge amount of time and money was put forward to plan for scalability. In 2019 the idea of running an application on your own hardware seems ridiculous. The time to provision a new server has been reduced down to minutes through virtual machines.
Serverless Computing has been around in the developer’s world for a few years and has caused a shift in the adoption of cloud. Now a developer does not need to maintain any infrastructure so they can just start building or extending their application.
Reader beware that Serverless is not a silver bullet. Serverless is not appropriate for services that require a fast response time like a login process. Services running on Serverless are by default ‘off’ and only turn on when they are required.
We will go through some of the reasons that serverless computing is good for business.
Managing servers is a time-consuming task which often requires dedicated and experienced systems & operations engineers. Experienced engineers are expensive. In a Puppet Survey of developers in 2017 it was found 44% of a developers time was spent managing infrastructure.
In a Serverless world all the time spent dealing with infrastructure resources provisioning and infrastructure management team to continuously monitor/deploy and scale the services is spent on further feature building.
Most public cloud providers offer a serverless platform. The providers are responsible for the serverless platform, ensure infrastructure security, reduce maintenance efforts and improve scalability all at a low operational costs.
AWS Lambda lets you run code without provisioning or managing servers. You pay only for the compute time you consume – there is no charge when your code is not running. We have a fintech customer running a production application that manages more than half of their revenue for $220 per month.
Time to delivery
A developer’s job is to build code that delivers value.
A serverless platform provides all the best practices that a developer needs to do their job well:
– Integration with development tools
– Local debugging and testing,
– Simplified deployment configuration; which helps developers build, test and release their code into non-production and production environments.
These practices reduce the number of reported issues and increase the overall quality of the delivered features.
We have experienced an increase in the reported average delivery speed, man days saved and reduction in AWS monthly bill after moving to a serverless platform
With a rapidly increasing number of customers for an application it’s necessary for an application to be scalable.
Scaling infrastructure requires time. Adding new servers, setting up the necessary software require effort and time.
A serverless platform will provide a consistent performance by automating capacity management, this would result in the ability to dynamically scale in response to increased traffic until the load is accommodated
To match your services scaling the database needs to scale as well. Amazon Aurora Serverless is an on-demand, auto-scaling configuration for Amazon Aurora (MySQL-compatible edition), where the database will automatically start up, shut down, and scale capacity up or down based on application needs.