Serverless architecture and blockchain enhance some efficiencies and eliminate some of the maintenance costs of running an enterprise-grade network.
Leaders in serverless and blockchain are changing how people think about solving digital challenges. Earlier articles examined distributed ledgers generally, blockchain specifically, and the tech stack that enables blockchain, including Kubernetes, Geth, Helm, and the Hyperledger Fabric.
Now, I’d like to look at it from an entirely new angle by reviewing how serverless has evolved since 2014 and what happens when it intersects with enterprise applications of blockchain.
Deus Ex Nebula
The cloud and everything that it has made possible — the mobile app ecosphere, the Internet of Things (IoT), computing at the network edge, streaming services, online payments, and more – have only become commercially viable over the past two decades, some in the past few years.
Serverless architecture is one on the most recent, with around 62% of serverless users coming on board in 2017 and another 15% or so in the past year, according to Annika Helendi, co-founder of Dashbird.io.
Like all things cloud-related, definitions tend to be nebulous.
Serverless is defined in many different ways, but the essential principle at the heart of it is that cloud providers handle everything related to network infrastructure so developers can just push code. That’s why it’s also referred to as Function as a Service (FaaS). Everything about server functions is abstracted away from the development of the code. Billing is by the microsecond of consumption and execution, so cloud processing costs are far less expensive. Services are instantly scalable and event-driven so they only evoke cloud resources when an event triggers the service into action.
This explainer from Network World is a great high-level overview for non-technical leaders on how serverless operates and how it’s being deployed.
If the concept of using micro-transactions to monetize unused capacity sounds familiar, it is. That’s the same principle that energizes the collaborative consumption piece of the sharing economy. It underlies the business model and value proposition of companies like Uber, Airbnb, and Taskrabbit.
The use-case for Serverless
Not every application is the ideal match for serverless, but according to Stackify, the types of applications that benefit the most from serverless architecture as those with:
- Super high volume transactions – Isolate them and scale them.
- Dynamic or burstable workloads – If you only run something once a day or month, no need to pay for a server 24/7/365
- Scheduled tasks are a perfect way to run code on a schedule
The list above covers a great deal of what’s running in the cloud today.
Berkeley’s Center for Computational Imaging and RISELab concluded, “We predict… that serverless computing will grow to dominate the future of cloud computing.” They also pointed out that the biggest cloud providers are increasingly adding Backend as a Service (BaaS) to FaaS in their serverless offerings. That has accelerated adoption among founders without budgets to hire large IT teams. The Berkeley researchers wrote:
“Cloud users like serverless computing because novices can deploy functions without any understanding of the cloud infrastructure and because experts save development time and stay focused on problems unique to their application. Serverless users may save money since the functions are executed only when events occur, and fine-grained accounting (today typically 100 milliseconds) means they pay only for what they use versus for what they reserve.”
In terms of using the cloud as a service, however, there’s a bit of overlap here among IaaS, SaaS, and PaaS, which includes BaaS and FaaS. Here’s how Hacker Noon defines the differences and options:
- IaaS, i.e., Infrastructure as a Service, gives you granular control over your product’s underlying infrastructure. Use IaaS if controlling your infrastructure yields substantial benefits or if there are no other technical ways to implement your product (e.g., optimizing server lifecycle to decrease operational costs, or strictly controlling your network because of critical security concerns).
- SaaS, i.e., Software as a Service, provides features to your product that significantly improve it, so you don’t have to build them yourself. Use SaaS whenever you can, unless it dilutes your margin so much that it legitimizes developing that set of features yourself.
- PaaS, i.e., Platform as a Service, allows you to focus on writing code without worrying about the underlying infrastructure. Beyond writing code, the only extra complexity might be around deployment and configuration (e.g., automatic scaling rules, geo-replication).
- Serverless overlaps with PaaS and falls into two categories: BaaS and FaaS. Like PaaS, Serverless focuses on writing code without worrying about the underlying infrastructure, but it does it with even more deployment ease and even less configuration.
- BaaS, i.e., Backend as a Service, is a Serverless backend (e.g., DB, hosting), i.e., a highly-available backend that can be set up with barely any configuration and can scale almost infinitely. Once created, the developer focuses on deploying code or data only.
- FaaS, i.e., Function as a Service, is a Serverless product that hosts a piece of business logic (with a usually small footprint like resizing an image or sending an email). FaaS is very well suited to build Event-Driven architecture.
Serverless is not a silver bullet
Serverless is clearly not a silver bullet, and Berkeley’s RISELab came up with several categories of projects where serverless isn’t necessarily the right choice to achieve state-of-the-art performance:
Requirements for new application areas for serverless computing, Source: Cloud Programming Simplified: A Berkeley View on Serverless Computing
What all these technical specs and speed clocks miss, however, is that something incredible is happening in the physical realm of those who are consciously pushing the boundaries of these digital tools. For them, serverless is not a technology but a community.
There are few serverless experts either as energetic or as knowledgeable as Stackery’s Ecosystem Director Farrah Campbell. After a year stacked with interviews, podcasts, videos, being featured in a documentary, and kicking off conferences — all on top of her full time commitments — she continues to make time to answer questions for newbies curious about why serverless signals a fundamental mindshift in the development world.
In a private conversation on Twitter this February, Campbell wrote,
“I would say that part of it is that there is indeed a huge need and demand for diversity in tech right now; serverless is a relatively new field, and with that comes a new community. Brand new teams are emerging due to serverless, and they have new responsibilities. With that comes an opportunity for different perspectives, and so far, many serverless companies are rising to that occasion.”Farrah Campbell
This is another case where the medium is the message because the platform only attracts those who already have a future-forward mindset.
“But serverless is also about smarter building and innovation. So, of course, a diverse group of people with different backgrounds will build a more sustainable serverless ecosystem than an intolerant one would. I think that serverless has thus far attracted people with open minds because it’s beneficial to have both of those things when inventing a whole new software composition approach. It’s sticking because this community has work to do and big things to accomplish— there’s no time for homogeneity or insularity. You see trans leaders emerging in the industry – where else do we see that?”Farrah Cambell
The Future of Serverless
Campbell’s enthusiasm is infectious, and it’s clearly amplified by her optimism about what a serverless future implies. Forrest Brazeal, the senior cloud architect at Trek10, shares her vision, observing on his Medium account that, “Serverless is the rare technology that gets business leaders just as excited as engineers. That’s because (surprise!) it’s not really about technology at all. At its heart, the serverless movement is a radical transformation of your business processes and culture to re-orient your business around building value, not dead weight.”
He’s talking about the dead weight of on-premise servers that struggle to reach 15% utilization. Maxing out utilization is guaranteed to end up in system failure, but leaving plenty of room on the server is an enormous waste of both money and resources. The smartest solution depends on collaborative consumption. Sharing the compute and storage of a commercial data center is a variation of the same principle that animated the growth of Uber, Airbnb, and Kickstarter: Share what you’re not using and open up access to microtransactions for everyone.
The concept is anathema to old-world, property-obsessed pessimists, but it’s just common sense to a generation that has had to put sustainability first by necessity.
Serverless Meets Blockchain
Brazeal is somewhat of a bridger of worlds. He expressed that a big fan of Campbell’s work when he profiled her as a “Serverless Superhero,” but at the other end of the spectrum, Brazeal has also brought attention to the work of Tim Wagner, who recently jumped from AWS Lambda to the head of engineering at Coinbase.
Wagner made explicit why serverless and blockchain represent much more than choices in development. He wrote,
“I really think that there are two disruptive technologies that are changing how we build and operate businesses. One of them, of course, is serverless…. I really feel like serverless has amazing momentum now. The second technology that I think is really disruptive and has an amazing potential for impact is blockchain. Now, that one’s still very nascent. I would say we are roughly where AWS was when I joined to help build Lambda, and it may be even a little bit earlier in the life cycle.”Tim Wagner, the former general manager of AWS Lambda, API Gateway, and the Serverless Application Repository, now head of engineering at Coinbase.
His point was that the two reinforce each other in both the enforcement of mutually beneficial agreements and radical cost reduction, often by orders of magnitude.
While blockchain’s distributed ledgers encode trust into the transaction mechanism, they normally lack a simple way to plug in code execution, which strictly limits the potential of smart contracts. On the other end, serverless makes code execution reliable and scalable but doesn’t have a component for keeping contractual agreements secure. The two fit together like puzzle pieces.
Wagner concluded, “So if you could bring those two capabilities together, I think we could offer businesses and organizations of all sizes this ability to create mutually trustworthy and enforceable contracts for a whole variety of goods and services. And I think that would be an exciting future.”
Leaping the Digital Divide
Serverless provides a glimpse into the near future where no silicon goes to waste, and we collectively begin to make good use of the 90% compute capacity laying dormant in unused servers. As entrepreneurs build out the middleware to make blockchain available to less technical users, the sharing economy is likely to expand into new industries and business models. That’s rapidly bringing costs down and allowing more startups to accelerate for the great leap across the digital divide. Look for enterprise-level capabilities to suddenly appear in the hands of smaller teams of entrepreneurs operating further from the urban core. We’ll investigate the roles played by serverless and blockchain in digital transformation everywhere in the months ahead.