A Place for Cloud Agnostic Solutions

A Place for Cloud Agnostic Solutions – DIS interview w/ Brendan Lee from Nodesmith

Uncategorized

*DIS represents “Decentralized Infrastructure Solutions” and will be used all throughout the web to identify topics, projects, and research related to the all things decentralized infrastructure. 

In DIS post we decided to have an interview with Brendan Lee, CEO and founder of Nodesmith, about the place for Cloud-agnostic infrastructure solutions in the decentralized infrastructure ecosystem. 

Thanks for taking the time to answer these questions, Brendan. Can you start by explaining a bit about yourself and how Nodesmith came about? 

Of course! Always happy to chat, so thank you for having me. Nodesmith, not uncommonly, was born out of personal frustration. Roughly a year ago, my co-founder and I were building an Ethereum based POC for a Fortune 500 company. During that gig, we spent about 50% of our time building the main application, and 50% of our time doing DevOps and infrastructure work.  We found that we needed to build a lot of supplemental services, like caches and monitoring, not to mention adding redundancy to our nodes to ensure we could access Ethereum 24/7.

We figured that this couldn’t be something we alone were dealing with, and hence Nodesmith was born. Our goal is to further adoption of decentralized networks by enabling more developers to build on top of them.

To set the stage, what does Decentralized Infrastructure mean to you? 

It’s a bit of a complicated question. The long term vision is a world where developers can build hostless apps, where they don’t have to worry about where their application is deployed and running, or how their users are connected to it. Instead, the API calls and data flow through a web of blockchain networks. Anyone can contribute infrastructure to those networks and be rewarded for it. We’re not there yet, but decentralization is a spectrum, and we’re working our way there.  

Today, what’s most important at the infrastructure level is that it is non-custodial and doesn’t have proprietary APIs that developers get locked into. Developers need choice. They’re connecting to public networks that are based on collaborative, open-source technology. The supporting infrastructure should reflect that. 

Some people are dead set against using solutions that are hosted by a third party.  Even if you’re comfortable with a third party, some folks are uncomfortable with Ethereum running entirely on AWS, how does your solution address that? 

First off, that’s a good thing. These public networks need to have a growing set of diverse infrastructure providers or we’ve failed at what we’re all trying to accomplish here. That’s one of the reasons we’re really excited about partnering with Pocket.  They’re tackling this problem head-on and providing a way for developers to access infrastructure like ours in a trustless fashion. 

That being said, we think that the adoption of these networks can drastically increase if we get more developers iterating and experimenting. And that iteration and experimentation is slowed down if developers are constantly struggling with infrastructure. That’s where we step in and shine. 

Internally, we also seek to mitigate the central points of failure. We don’t want all of our traffic flowing through AWS (or another single cloud provider). To address that, we’ve built our offering from the ground up to be completely cloud agnostic. Using open source tech, we’re able to have our solution deployed on multiple cloud providers. We currently have our offering deployed on AWS, GCP, and Digital Ocean. We can spin up a new cluster on a different cloud in a few hours. We’re taking a very long term approach here, and this will set us up to move to our own data centers down the road.

Thinking beyond Cloud solutions vs. their On-premise counterparts, can you touch on how you think they complement each other in any given blockchain ecosystem? 

Definitely. The Web3 movement is all about reducing intermediaries and creating a more equitable web & society. We can’t accomplish that if there are only 3 cloud providers in the world that handle the traffic. While we’re using cloud providers today (we’re a scrappy startup, it’s our best current option), we hope to see more and more people running their own setups. This could be a team running their own data centers or enthusiasts running a small hardware node out of their living room. For this movement to succeed, we need it all. We also need to be experimenting with new economic models so we can incentive individuals and companies (like ours) to run various infrastructure pieces.

Uses cases have different requirements. While an exchange that needs incredibly reliable and fast access to a blockchain network might use Nodesmith, an individual user trying to buy an NFT on an open market might use a lighter weight solution so they don’t want to go through a third party.  

Out of curiosity, what are some scenarios where you would stop a certain cloud provider, and no longer support them?

This is fairly hypothetical, but if a cloud provider started charging unsustainable prices or crossed a serious ethical line, we’d stop using them. That’s one of the nice things about our cloud agnostic solution, we aren’t locked in anywhere.

Looking at your docs I noticed some unique features you have built onto your platform can you explain some of those and why you chose to focus on those?

Sure thing. In general, we focus on features that improve the developer experience and make it easier for developers to focus on the unique features of their application. If we have one goal above all else, it’s to provide our developers with peace of mind. There are a few specific things we’ve added to support this:

  • Smart caching – we have a middleware layer that sends back cached data when possible, significantly increasing performance over a vanilla blockchain node.
  • Auto-scaling – if there is a sudden surge of traffic on our platform, we auto scale up before hitting capacity to ensure the API response times remain consistent.
  • Global deployments with latency based routing – every API request to our platform is sent to the nearest healthy data center. This increases our speed and reliability.

It seems like you are doing great things right now! For a more aspirational comment, I’m curious. If you had unlimited funding and we’re in charge of a developing a blockchains infrastructure network what would you do? What’s the foundation? Whats the Bells and Whistles?  

Maybe a slightly different answer than you’re looking for, but I’d funnel that funding into blockchain education and developer outreach. Only a very, very, very small percentage of developers currently know or care about decentralized network technology. If we want to deliver on the Web3 promise, we have to bring more people into the fold.

Other than that, if we had unlimited funding, we’d keep pursuing the path we’re already on, albeit at a much faster pace. We have a number of networks we wish to expand to, and we want to add support for decentralized storage and compute networks. We also have a lot of new infrastructures to build around upcoming layer 2 scaling solutions.

Thank you for your time, Brendan, what’s the best way for people to stay informed on Nodesmith?

Thanks to you as well! Best places to stay updated on what we’re doing is our blog on Medium and our twitter. We’re very approachable and love hearing from people, so please don’t hesitate to reach out.