Announcing Caascade Labs: A bold new step forward
Entropy — The bane of the Systems Builder. A Systems Builder’s role in society is to combat entropy. To create organization in chaos, to build structures and to control change.
Ironically, progress and development are not possible without entropy and change. This delicate balancing act of creating change, while sustaining progress is what we Systems Builders do every day.
Mark Andreessen, in 2011 said — “Software is eating the world”. The world of software has been the System that has brought organization and structure to the material world. However, the world of software itself is changing so fast, that we Systems Builders within this world are dedicated towards organizing software itself.
x86, Virtual Machines, and Containers
In the tech industry, large computing trends have emerged out of standardization and organization of fragmented systems. x86 architecture and Virtual machines are prime examples of this phenomena.
The x86 architecture standardized and organized vertically integrated de facto proprietary computing architectures. Before this, computers were large monoliths. Once the x86 standard emerged, it was possible to build inexpensive, commodity computers. This ushered in the era of PCs, also known as the first wave of computing.
In a similar fashion, Virtual Machines standardized and organized various PC architectures, and catalyzed a new wave of Infrastructure as a Service. The Virtual Machine is the core building block of the Cloud, also known as the second wave of computing.
Containers are the next wave in this trend. They standardize and organize various software artifacts on a single machine. There is however, a lot of entropy around managing distributed applications.
Application management of distributed applications comprises of the various activities, techniques and tools to effectively run large scale software tasks that span across multiple machines. Packaging, CI/CD, Deploying, Monitoring, Scaling, Alerting are various phases of application management. These steps are different for each software and each organization also performs these steps in their own way. For eg, scaling MySQL is different from scaling MongoDB.
Enter Caascade Labs
As a Systems Builder, I created Caascade Labs, an organization to combat the entropy of distributed application management. Caascade Labs’ mission is to standardize and organize all of the steps of distributed application management.
We are building a language that provides rich primitives for defining, composing, packaging and managing the life-cycle of applications. Initially, this will be aimed at the Kubernetes platform.
In this new world of reduced entropy of application management, any application can be setup in a trusted, production ready fashion with just 1-click of a button. Non-engineers and engineers alike will be able to setup large scale computing tasks. Similarly small startups and large enterprises will be able to reach very large scales without the need for a large IT team. Finally, Applications will become the new unit of computing, and not machines.
This vision will be the center of my existence for the years to come and I’m excited to contribute towards it. Here’s to a bold new step forward!