Welcome to the TCA: The Total Cloud Abstraction

Computers should be more secure and easier to use. While the public cloud has many benefits, it also adds complexity. What if we used a cloud account differently... what if we entered the TOTAL CLOUD ABSTRACTION zone!

Welcome to the TCA: The Total Cloud Abstraction
Welcome to the TOTAL CLOUD ABSTRACTION

Computers should be safer and easier to use. Unfortunately, as much as we've advanced their use over the last 90 years or so, things haven't improved as much as you might expect.

Complexity is a real problem.

Cybersecurity is a real issue.

While from a consumer perspective, companies like Apple have done a great job of improving security for the average person, the business-to-business (B2B) market is still in relative disarray. Deploying applications is intensive from both a capital and operational perspective, which ultimately translates into trillions of dollars in spending and countless person hours. Sure, we have vastly improved operating system protections, and then created security tools to fill in the gaps. These tools have made it harder for bad actors to break systems, and that is a good thing. Yet...building safe systems is still a complicated process fraught with danger. Ultimately, I believe that everyone should be able to use any software that makes sense for them or their business, and that the application should just be readily available and secure, mostly on its own.

The public cloud has made it faster to deploy applications, but it hasn't made it easier. Quite frankly, it's made it more complex. Much of the security of the cloud is considerably better, physical access, hypervisors and so on, yet there's still a lot to be desired, and what's more, there are unused–even unexplored–capabilities and models.

The TOTAL CLOUD ABSTRACTION

What if all you had to do to deploy everything in your organization was connect the Total Cloud Abstraction (TCA) to your Git repository? Say, "Hey, TCA, here's my Github organization and all the repos in it, please deploy all of these applications and run them forever." Wouldn't that be nice? Implausible? Sure. Impossible? Well...that is debatable. That is something we can talk about.

For the TCA, perhaps there would be a simple web interface, and you connect it to your cloud accounts and then connect your Github account and BOOM! Done. Now watch it grow.

What a web GUI for a TCA might look like...

The TOTAL CLOUD ABSTRACTION would be like a seed that gets planted into the cloud and it completely takes over an account (no one from the actual owner of the account does anything with the account other than deploy or connect the TCA to it–the TCA does the rest).

It could be something like (forgive the curl bash 🙂):

$ curl -sL my.tca/install.sh | bash
$ which tca
/usr/bin/tca
$ export AWS_PROFILE=profile-for-tca
$ tca install
tca deployed at https://yourpersonal.tca
$ tca set git https://some.git
git organization set
$ tca status
deploying https://some.git/yur-java-app
$ curl https://company.url/yur-java-app
hello world!
$ # you get the drift

It could be (almost) that simple–if we want it to be.

Certainly there have been tools and systems that have done something like this previously, but I don't know if we've approached it from this particular angle, where the point is to abstract away a cloud account, to use it to our advantage.

A cloud account can be a giant messy hairball...or it could be something else: a single point.

TCA

Overcomplication

We overcomplicate working with computers and our efforts to create value with them. It strikes me as an innate quirk of the human condition. We're rarely able to make computers–software, hardware, related business processes, whatever–simpler. We tend to make them more difficult to use; more complex.

Of course there is value in this sometimes pedantic view, as there are situations where we need to know exactly how things work down to the smallest detail (yes, leaky abstractions, etc, etc), but we also have to admit to ourselves that there are times when it doesn't make sense; that we waste too much time writing and running software. Electronic computers are relatively new, and we should remember to be willing to learn and adapt; to change our minds about how we use them; to change directions. There's no doubt that our computers and software are powerful and extremely complicated–they are "intelligent" rocks; we can't destroy that complexity–but we don't have to deal with it on a daily or hourly basis.

The cloud, all the work done by open source software, huge amounts of capital, and two pizza teams, is an incredible technology. We should use that amazing capability to enable TOTAL CLOUD ABSTRACTION.

Clouds are interesting because you get an account. Anything can happen in that account. As well, we've invented machine identity, which can its their own permissions to create and manage other workloads. And now, AI has advanced, and hopefully will continue to advance, to the point where it can become agentic and take actions on its own in a useful way.

More to come on this front!

👊
Thanks for reading! Please forward on to your friends and colleagues.

Subscribe to Tidal Series by Curtis Collicutt

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe