Serverless and Blockchain: New paradigm in application development
What is serverless technology?
Serverless technology is the new paradigm in the cloud computing which is based on event-driven architecture. Also known as Function-as-a-service (FaaS) products execute functions (code) that are run on demand in response to events.
Going serverless means that developers focus on the application at the task level instead of at the server level. Now, they don’t need to worry about managing and operating servers or runtimes in the cloud or on-prem. The benefit to running code on demand is in the use case where your code does not need to be running full time. When you use a serverless product you only pay for the resources your application consumes, not a pre-purchased unit. Serverless is ideal when your application has inconsistent traffic with peak loads. Prominent use cases of serverless are multimedia processing, document format transformation, real-time processing, chatbots etc.
The major players in this space are AWS Lambda, Azure Functions, Google Cloud Functions and IBM ApacheWhisk.
What is Blockchain?
Blockchain is a public ledger of transactions that is composed of two parts: Peer-to-peer network, and a decentralized, distributed database. A blockchain is like a ledger that a bank would use to keep track of all customer transactions. However, in a bank, the ledger is controlled by the bank and only the bank can see the transactions. In blockchain, there is no central authority. It is like a giant, global spreadsheet that runs on millions of computers and doesn't require any single person to authenticate or settle transactions.
What’s common in both of them?
At face value, blockchain networks and serverless computing appear have little in common. Serverless is stateless, blockchain is stateful; serverless is ephemeral, blockchain is persistent; serverless processing relies on trust between parties, blockchain is designed to be trustless; serverless has high scalability, blockchain has low scalability.
On closer examination, serverless and blockchain actually have a fair amount in common. For example, both are event-driven and highly distributed. Another key similarity is where they both process functions — in a layer above the infrastructure/server level. Even when the characteristics aren’t shared or similar, they are complimentary. For example, serverless is stateless — but blockchain can be used as a state machine for validating transactions.
Taking a look at the similarities and differences helps to gain a better understanding of both serverless and blockchain. The deeper analysis also informs how each of the technologies might impact this next wave of computing cycles.
How they fit together?
Even though serverless and blockchain are two independent technologies, but share a number of things in common. While serverless is inherently stateless, blockchain is stateful and intended to provide a public verifiable way to maintain transactional states.
As application patterns quickly evolve to event-driven architectures, the need for independently verifiable transactional states will increase — and the more likely the serverless and blockchain will be used together. The use case for this combination is especially true in private and/or permissible blockchains where the trust level is higher, and the allowances for use of outside components and services more tolerable.
Manifold technologies, a leader in highly scalable blockchain infrastructure, has expanded its collaboration with Amazon Web Services (AWS). Deploying blockchain-based applications on monolithic infrastructures can be prohibitively complex and expensive. Moving those same applications onto Manifold's serverless infrastructure drives down deployment complexity and operating costs, facilitating transition into production. Manifold's infrastructure provides unmatched performance for use cases that demand extremely high transaction throughput, and its serverless architecture enhances security by simplifying integration and reducing the overall attack surface. Switching to serverless infrastructure is a win-win for companies looking to build and deploy blockchain-based applications without the limitations inherent in other approaches.
If you are looking for different use cases of serverless, I wrote this comprehensive blog specific to AWS Lambda - https://www.simform.com/serverless-examples-aws-lambda-use-cases/
But the principles can be applied to other serverless providers also.