FREQUENTLY ASKED QUESTIONS
The following is a dialog between the developer and a compilation of actual Frequently Asked Questions posted to this website.
I have found the dialog model the best way to help people gain a quick understanding of The Cosmic Initiative. Enjoy!
FAQ: Hi, I clicked this link by accident. Just curious What is 'WebAssembly Orchestra Anyway?`
uberscott: WebAssembly Orchestration. It's a Software Framework for deploying & executing WebAssembly everywhere!
FAQ: Software!? I thought this was a new science fiction show!
uberscott: Nope, just an open source and free software project with an Astro Physics based theme.
FAQ: No need to tell me it's free. I wasn't going to give you money.
uberscott: With this Framework WebAssembly components can discover their environment and communicate with other resources including WebAssembly components that talk to other WebAssembly components through messaging and RPC!
BTW, the kids these days sometimes refer to WebAssembly as Wasm and I want to be cool so I will be using the terms Wasm and WebAssembly interchangeably from here on.
FAQ: This is getting out of hand! Now you're calling it Wasm instead of WebAssembly! The Children! What about the Children!? This Wasm creation of yours must be terminated forthwith!
uberscott: I didn't invent WebAssembly. Wasm is a standard created by the World Wide Web Consortium (WC3). Wasm is a binary instruction format for a virtual machine. It's a widely accepted standard that already works on all the major browsers and is rapidly gaining acceptance on every other layer of the stack including Mobile, Desktop, Server, Edge and IoT. Check out webassembly.org
There are MANY advantages that Wasm has over containers and other virtual machines including an extremely small footprint, security and ubiquity. WebAssembly is the future and The Cosmic Initiative is just here to accelerate Wasm's inevitable ascension.
FAQ: Well the WC3 website looks much more trustworthy than yours. I may have jumped the gun and called the cops on you--probably better not mention that you are into Wasm or they might arrest you.
uberscott: Everyone wants Wasm on every layer of the stack and that is what The Cosmic Initiative is here to facilitate: the deployment, configuration, execution, and interoperability of these Wasm components across every Layer of the stack! To boil it down to one word we just call this Orchestration. The Framework is written in Rust so it can be compiled and run anywhere! ... OUCH!
FAQ: Sorry! Didn't mean to hit you. That's an involuntary tick I have with my right punching arm when someone says he or she is a Rust developer.
uberscott: A lot of people seem to have that tick... Anyway the framework also allows these Wasm components to interact with other resources like File Systems and Databases and really any Resource in the enterprise that has a Cosmic Initiative driver implementation.
FAQ: Good God man! You have turned my beloved Wasm into a monster! Tell me you have put safeguards in place to prevent these Wasms from becoming sentient and overthrowing us! Don't Make me invoke the children a second time!
uberscott: WebAssembly is itself very secure because it only allows host method invocation to white listed methods AND this framework is built upon the Wasmer host which is itself super cool and secure! Interactions between Wasm components occur via The Cosmic Fabric--which has many responsibilities including routing messages and managing a registry to locate component addresses-- The Cosmic Fabric also enforces security.
FAQ: This will never work because even though the illuminati is trying to make everyone say the made up word `DevOps` we all know deep down that the Dev folk like to deliver naughty code to Ops just for meanness because they can't forgive the Ops folk for not allowing them fully descend into a mad fantasy that hardware and service configuration doesn't exist and the world is only software.
There are some feuds that this humble open source project doesn't pretend to be capable of solving. Yet there is some mitigation:
All concepts in the framework exist in one of two "dimensions": The Universe or The Hyperverse.
Wasm components experience the Cosmic Fabric through the Universal API which allows the component to interact with it as if was on a single infinitely vast computer with no security.
FAQ: So it's NOT secure! The Children! Thricely thou hast made me invoketh the children!
uberscott: Security is still enforced. The Universal code simply doesn't need to be aware of security.
For example let's talk authorization: If a source Wasm component sends a message to a target Wasm component and the target Wasm component requires authorization--the source Wasm simply sends the message without credentials or tokens or anything... It behaves as if there IS no security. Behind the scenes as the message traverses the Cosmic Fabric it enters the Hyperversal dimension and the source's authorization is checked and the message is either passed to the target or rejected to the source.
Note that the target component which is also part of the Universal dimension makes no effort to authorize the request--it simply assumes that any message it receives must be authorized or else it would not have been delivered.
Of course, the two dimensional isolation of concerns will collide in the case when the source Wasm component does NOT have permission to message the target Wasm component. For this reason the Universe is not completely unaware of the Hyperverse, but at least there is a vast simplification on the code on both end.
As you can see it's really about moving the common and oft duplicated complexities away from the multitude of component endpoints to a single place in between the components.
FAQ: That last part was long and reading it has made my eyes hurt.
uberscott: There are many other examples of complexities besides security that are managed by the Hyperversal dimension such as provisioning, sharding and load balancing to name a few.
FAQ: Hey! I just realized something! The word Framework can be broken down into two words: "Frame" and "Work"... And, well, I guess I got no problem with "Frame", but "Work"! That's that thing that I hate!
uberscott: You might be interested in the reference implementation of the framework in development called STARLANE: A Mesh for extending enterprise resources with WebAssembly.
FAQ: Oh so The Cosmic Initiative is just a framework for making Meshes... Why didn't you say that in the first place?
I could have been enriching myself by watching amusing cat videos on YouTube if you had just said it was a Mesh from the start!
uberscott: The Cosmic Initiative is a framework for Orchestrating WebAssembly components and one application of the framework is a Mesh. I have plans for a 2nd reference implementation which is a stand alone application for mobile devices that makes use of the deployment capabilities so small parts of the overall application can be changed as needed.
FAQ: I see. I still kinda wish I had watched those cat videos.
uberscott: More importantly The Cosmic Initiative is a collection of Rust packages for composing WebAssembly Orchestration apps which means there is code for messaging, artifacting, configuration and more. I'm excited by the prospect that other developers may use these packages to create new applications that even I didn't imagine.
FAQ: Yeah, I'm not really a big Rust fan since I don't like being nagged by a compiler telling me I don't own something I used in the very previous line...
uberscott: Wasm is polyglot so you can compile Wasm binaries from most of the major languages. The Cosmic Initiative will provide auto generated serde models of all the important Universal concepts to the most widely used programming languages.
Also, aside from extending the Cosmos with Wasm components you can also create a Control component to exposes a traditional API endpoint from external services. The Control endpoints also enable you to add Wasm to your existing architecture gradually without throwing out the entire enterprise and starting over.... You simply add a Control client API library to an existing service and start sending messages to Wasm components that live inside the Cosmos.
The rational for using Rust for the framework is that Rust is super fast, super robust and has a small footprint. Of course all languages make trade offs in order to shine at something--in the case of Rust its fantastic benefits are achieved by a compiler that sucks the very sanity out of the developer producing a binary and the empty husk of a coder as byproduct.
FAQ: What's this! I'm looking at this STARLANE website of yours and it's trying to push some sort of STARLANE ENTERPRISE thingy on me... I thought this stuff was free!
uberscott: The community edition is free and has all the same features of the enterprise edition.
The enterprise edition offers support & greatly enhanced scalability.
Our policy: "The Enterprise Edition is for people who can afford it. Unsupported licenses are free to contributors, noble organizations (charities,etc) and anyone who can't afford it but needs it if they ask nicely."
FAQ: AND free for big people that threaten you with bodily harm, right?
uberscott: Gulp! ... Yes ... So it's for 1) people who can afford it, 2) contributors 3) noble organizations 4) people who ask nicely 5) people who threaten me and look to have the means to carry out those threats.
FAQ: And Capybaras?
uberscott: Pardon me?
FAQ: You know! The largest rodents species in the world: THE CAPYBARA!
uberscott: Why not. So its for 1) Rich people who pay 2) contributors 3) noble people 4) nice people 5) unethical people who I'm afraid of and 5) excessively giant rodents
FAQ: Sounds good.
uberscott: Thanks. We all know you could have kept that going.
Anyway, You should now understand enough about The Cosmic Initiative to make an informed decision as to if you want to learn more or slink off into the oblivion of the internet to pursue You Tube's rich bounty of amusing cat videos and you should make the best choice for yourself to further enrich your life. I hope you will dig deeper into the project, learn how to work with STARLANE and give me feedback either harsh critique or encouraging praise to help me shape what i think is an important contribution that will one day send Wasm to its full potential!
Also, you are actually the most sane person I have spoken too in a while so please consider contacting me and perhaps one day becoming a collaborator.
I am sure we we will have GREAT fun!
WHERE TO GO FROM HERE
Here's the 50th link to Starlane where this FAQ dialog continues and trails into documentation and tutorials showing how to administer Starlane and create and deploy Wasm components and all sorts of additional goodies.
Feel free to root around the code, critique it, fork it, fix it and PLEASE be sure to drop a star for the repo if you like it or like its potential: github repo
Contact Me. Really... Just say introduce yourself and tell me what you think of my project. I've been working on The Cosmic Initiative by myself for 2 years and I'm overdue for a human intervention.