Web assembly, when coupled with products like wasmcloud and NATS, is creating a new paradigm for cloud native, which should eliminate entire classes of problems that we struggle with today in building distributed applications.
Red Badger Presentation and Demonstration at Cloud-Native North America WasmDay 2021
Presenters: Stuart Harris, founder and chief scientist and Aayush Attri, senior software engineer, of Red Badger
Red Badger is obsessed with helping organizations streamline their ability to deliver digital products and services. As a consultancy, the company has experienced the pain of building microservices using today's architectures. Stuart Harris notes, “It's not straightforward by any stretch of the imagination. And there's a lot to think about.”
Stuart’s keynote takes viewers through Red Badger’s engagement with one of Europe's largest banks to describe what a future state platform architecture would look like. This was all in preparation for a world where the bank could easily deploy workloads securely and reliably across on premise and any cloud without having to constantly adjust network topology to suit.
Harris recognizes, “This is really refreshing that large enterprises are thinking ahead like this, driven by the pain of working with today's development environments.” Red Badger built a proof of concept to show what such a platform might look like and shares the demo here.
The next decade will be characterized by rushing out of the cloud – enough to be independent of any one provider. And that's enough to make good use of the edge, on premise, Internet of Things, etc. For companies in regulated industries, like financial services or healthcare, regulators will insist that organizations have a ‘get out’ plan. Realistically these plans aren't yet real and organizations wouldn't be able to execute them, at least not quickly. They are in place to satisfy the regulations. The reality is that the cost of moving everything to another cloud provider is prohibitive.
Kubernetes is the first time that there has been a standard, consistent and uniform way to deploy its innovations regardless of which cloud provider they want to use. However, according to Stuart, they are still locked into cloud provider specific services.
While Kubernetes was the first step on this ladder, what's the next step? Whatever it is it needs to be multi-cloud or multi-location. And to do that requires a higher level abstraction that sits above the HTTP and TCP IP network that dominates microservices today. “But multicloud is not really a thing yet,” says Harris.
“Enter a platform like wasmcloud -- running on top of Kubernetes for now, on top of Cloud -- and the game changes completely,” said Stuart, as the Red Badger demonstration of a service fault tolerance in a multi-cloud architecture articulates.
It’s the first time where developers can have a true multi-location, cluster spread across geographic locations worldwide. And it's made possible by WebAssembly and distributed application runtimes like wasmCloud for lightweight, portable workloads and true location independence.
Harris is convinced that “In the next few years or maybe months, server side web assembly runtimes will make significant inroads into platform design, suddenly influencing our software architecture on the way. I say this because there's another thing happening here. Microservices for today are delineated by network boundaries that will give way to much smaller, lighter applications compiled to WebAssembly.” And importantly, they'll be free from almost all the boilerplate code that consumes so much of developers’ energy today.
“If we visualize the onion optic, or ports and adapters or hexagonal architecture or clean architecture or whatever we want to call it, we basically need to strip away all the outer layers and just focus on the core application business logic,” he adds. “We push the side effects to the edge so that we can keep the core pure and therefore simple to test. We can iterate on this tool quickly so that we can deliver real value to our customers. Data allows us to do this today on micro services on Kubernetes.”
“The real magic,” concludes Harris, “is that wasmcloud allows us to do this even more. We now have actors that consist of our core logic, which are compiled to WebAssembly and they can run literally anywhere.”