At Deta, we are guided by a belief about the present:
This belief was formed by the bitter experience of trying to develop our own ideas in the environment of 'the modern cloud', and stumbling. We believe we are far from the only ones who faced the issues we faced and our ideas are far from the only ideas to get stuck. So we are building something to inch us closer to where we want to be. We call it a 'micro cloud'. Here's our thinking behind it.
Computers are incredibly powerful because they activate human ideas which have been encoded as software. They can put these ideas to work much more efficiently than a human could.
Ideally the process of going from idea to activation and back again (development) is tightly connected and supportive of experimentation. More often than not, to separate good from bad ideas, the ideas need to be seen at work. Stumbling blocks that prevent seeing if and how an idea works also blocks the possibility of this idea at work.
If you open up the 'terminal' on a modern personal computer, you can experience a great environment where ideas can be activated in a way that is largely unchanged since at least the Apple II. A big idea behind this 'micro-computer' was that 'you shouldn't have to build your computer before being able to use it'. Programs can be crafted, upgraded, tested and used in the terminal in a tightly connected loop. As an end user, you are plugged in to a compute and storage engine that has the ability to execute programs and store data. But the details of how the computer executes these ideas are largely hidden from you; everything you need is provided and 'just works' — there is minimal 'ops', there are minimal stumbling blocks.
This was, in retrospect, a great idea. It worked, and still works: such an environment is still an essential piece in the everyday lives of millions of software developers.
In the 1990s, a new set of powers thundered into the mainstream with the internet. A huge measure of information became un-siloed as it was brought online and the production and consumption of information became massively interconnected. With the internet, any idea that can be encoded is made theoretically accessible to any human or computer with an internet connection.
With the development of the internet, 'cloud computing' has evolved and become the norm for the large swaths of computational work that powers many of the ideas we use today. In theory this is a great marriage of computing and the internet: ideas can be activated on some server somewhere, which serves others, regardless of where they are.
However, gradually but consequentially, a wedge developed. In the environment of the modern cloud, there is a long pipeline between ideas and ideas that work. In this world, everything is compatible with everything else, so long as you configure it. This model makes a lot of sense, for a lot of purposes. It is hard to imagine constructing and operating the large applications we use everyday without it.
But for many ideas, the complexity is overwhelming. It stopped being "fun" once we stopped dropping PHP files on shared hosting. Why do we have to meticulously set up a DB, VM, and API from scratch every time? Why do we have to SSH into a VM, zip and ship Python dependencies, mess with nginx, gunicorn, supervisord, and static files? What does a CI have to do with it? All of the stuff that needs to be done, just to see an idea work, isn't helping the possibility of good ideas at work. Many ideas don't even see the light of day under all of this complexity, or 'ops'.
We believe most of the complexity within the modern cloud is completely unnecessary for the next billion ideas. These are ideas that start small but need some 'cloud'. Ideas that can thrive on a cloud computer without 'ops', a computer that 'you don't have to build before using'. So we are building exactly that: a 'micro cloud' to support the next billion ideas.
Here's what we're working on following this philosophy — as much as possible, everything should 'just work':
If you have an idea, we'd love to help it work: