SwimOS & The Swim Platform: What's Open Source and What's Not?
by Chris Sachs, on Feb 26, 2020 11:39:28 AM
We’re living in an open core universe. These days it can be difficult to differentiate technology capabilities available via open source compared with commercial licensed versions of various software projects. While I can’t solve that problem on an industry level, I can take some time to help you understand the differences between open source SwimOS and the commercial Swim Platform. In this post, I’ll break down the capabilities and feature sets of open source SwimOS and the commercial Swim Platform once and for all, so that you have a better understanding of each.
What is SwimOS?
SwimOS is an open source software platform for building stateful, real-time applications. SwimOS enables developers to create distributed applications using real-time micro-processes, called Web Agents. In this way, SwimOS is similar to a distributed operating system (OS). Like an OS process, each Web Agent runs a stateful computer program. Instead of being identified by a local process ID, a Web Agent is addressed by a Uniform Resource Identifier (URI), like a Web Page. Unlike stateless Web Services, or functional analytics jobs, the programs executed by Web Agents are continuous, and general purpose. A Web Agent can execute any code that an ordinary operating system process can execute.
By unifying fundamental OS concepts with the principles of the world wide web, SwimOS can enable massively real-time, streaming applications. Distributed operating systems have a million-fold performance advantage over the loosely coupled stacks of middleware that underpin traditional distributed applications. This is because nearly every operation performed by a traditional distributed application must make multiple network hops between middleware tiers. Applications running on a distributed operating system instead operate on locally cached state, with asynchronous cache coherence continuously performed in the background. This allows Web Agents to operate on CPU time scales, measured in nanoseconds, rather than on network time scales, which measure in milliseconds per network hop—a 6+ order of magnitude difference.
The uses for a distributed operating system are as unbounded as the uses for a traditional operating system. Nearly every web application would benefit from being made real-time and collaborative by transitioning from Web Services to Web Agents. The rise of augmented reality will drive this transformation, as users increasingly demand pervasively real-time experiences. There is also an insatiable appetite to run analytics and machine learning applications with ever decreasing latency, and greater real-time context—feats that—due to fundamental physics—only a cache coherent distributed operating system can accomplish. And swimOS is the only general purpose distributed operating system in existence today.
The Swim Platform: Building on SwimOS
The Swim Platform builds on top of SwimOS, providing real-time visibility, management tooling and automation features to operate your real-time SwimOS apps at any scale. Additionally, the Swim Platform includes the ability to run stateful, real-time streaming Web Agent applications on deployed Swim Fabrics. A Swim Fabric is a cluster of compute nodes running the Swim Platform software. A Web Agent is a general purpose distributed compute process that runs on a Swim Fabric. Web Agent Applications are particular programs that execute inside a Web Agent process.
The Swim Platform consists of:
- the open source SwimOS Kernel, which provides the low-level distributed Swim Fabric runtime environment on which all Web Agent applications run
- proprietary extensions to the SwimOS Kernel that add persistence, scalability, resilience, security, monitoring, and management features beyond what's available in the open source runtime
- a set of proprietary system applications for configuring, inspecting, monitoring, and managing deployed Swim Fabrics, and for generically inspecting, monitoring, and managing all Web Agents running on a Swim Fabric
- a proprietary user interface portal for accessing system applications and custom Web Agent applications from a single pane of glass
If you think the Swim Platform is a good fit for your real-time app, let us know. We'll point you in the right direction for helpful Swim Platform resources and help you ensure your Swim apps follow best practices.
Share what you're building using the open source SwimOS platform. You can get started with SwimOS here and make sure to STAR us on GitHub. You can also learn more about the Swim Platform for enterprise apps here.