Serverless Computing can reduce the cost of cloud apps
In serverless computing the machine resources are dynamically allocated by the cloud provider. In cloud computing function codes are the unit of deployment and scaling.
Serverless computing will do to cloud computing what S3 did to storage where you don’t know where the object is stored or how. In similar fashion the function code is executed somewhere we don’t know about. Serverless computing is also referred to as Function as a Service (FaaS).
The concept of serverless computing can be explained using the analogy of a cab versus leasing a car. Serverless computing is like using a cab while provisioning a cloud server is like leasing a car. The cab gets you to your destination without you having to be concerned with fueling and driving.
Microsoft explains that in serverless computing “server management and capacity planning are invisible to the developer and billing is based just on resources consumed or the actual time your code is running.”
Amazon describes serverless computing as building serverless applications that don’t require provisioning, maintaining and administering servers for backend components such as compute, databases, storage, stream processing, message queuing, and more.
So what are the benefits
- Serverless approaches allow developers to create new apps in hours and days instead of weeks and months meaning they go to market much faster.
- Serverless architecture reduces purchasing extra computing resources when you don’t need them to meet anticipated demand. An online training program scaled to 40,000 users in six months without a single server.
- In terms of both computing power and human resources, serverless saves. The days of spending hundreds of thousands of dollars for servers are gone.
- Users don’t care about infrastructure; they care about features and their experience.
- With serverless, providers have points of presence near every user, and apps perform equally well for everyone.
Downside of serverless computing
- In serverless architecture, you’re relying on your provider to know exactly what they’re doing. If they make an error and your functions aren’t working correctly, there’s not a lot you can do.
- Developers have to keep in mind the different type of data stores, different locations and even different types and states of data.
- It is completely up to the developer how to implement more advanced logging.
- Serverless implementations alone simply isn’t intended for long-running processes.
Future of serverless computing
Serverless architecture allows developers to focus on code. Such an approach can reduce time to market, operational costs and system complexity.
Zimki was the first to offer such a capability in 2006, but the idea didn’t catch hold – perhaps it was a bit ahead of its time, considering that some still saw VMs as new technology. Then, in 2014, Amazon Web Services (AWS) brought out Lambda, and the concept of compute without infrastructure captured the imagination of the industry. IBM’s Bluemix and Google soon followed suit, with Microsoft Azure the most recent hyperscaler to offer such capability.