In 2010, when the Vitess project was started to help the YouTube team at Google handle MySQL database scalability issues, the Ruby on Rails application framework was about 5 years old, and there were already several “Unicorn” companies that had leveraged both technologies to massive success. What has happened in the interim? If you trace the advancements in databases, do they compare with the advancements in application development?
More than 10 years later, Rails has gone on to be tremendously influential in the world of app dev, directly inspiring other languages and communities to embrace frameworks, convention over configuration, and other ideas that seem so commonplace now that it’s surprising that they were scarce in a pre-Rails world. In terms of what’s freely available to the typical dev in terms of databases, however, advances have been mostly relegated to the types of problems that FAANG-scale companies face, or otherwise are focused on optimization and mousetrap improvement.
Another way of looking at this is that the “compute” component of application development, as it has come to be known in the public cloud commodity era, has propelled tremendous development and change in how people write the “business logic” part of applications. The most predominant example of this seismic change is the maturation of Serverless technology, but it has to this point been hindered, ironically, by the one thing that we’ve all supposed to have figured out by now: databases. Serverless has had a major, mostly unforeseen impact beyond its technical advances as well -- people love the economics. Don’t maintain what you don’t need, don’t lay out money up front, don’t overprovision -- basically, don’t pay for what you don’t use.
So why hasn’t Serverless been served by the right database? If you consider the spectrum from Single Page Applications to “Serious Distributed Backend Applications,” it’s clear that the extremes have been served relatively well. There are decent, but not great, options for the types of simple data stores required by SPAs, and the “Very Serious Enterprise Apps” (VSEAs) are being served by “Serious Enterprise Serverless Databases” which appear to delight in contorting developer’s brains to get them to “think about problems differently.” In addition to these types of solutions not being built for the typical developer, there has also been almost no innovation in terms of the types of workflows, capabilities, and platforms that application developers have enjoyed in the past decade. The whole middle, then, which is where most of us develop, is underserved. Until now.
The dream behind PlanetScale is to think beyond the database to consider what a data platform could look like that serves the modern application developer’s needs as well as something like GitHub does for code. We thought, “If you designed something from scratch to cover the entire spectrum from SPAs to VSEAs, what would it look like?” We’ve obsessed over bringing you the best developer experience possible, figured out how to deliver innovative features like non-blocking schema changes, deploy requests, and database branches, and we’ve packaged it in the same “pay as you grow” style that we’ve come to enjoy on the compute side of things. An easy on ramp, and a platform that you can start using today and stop using never. With PlanetScale, the data needs of Serverless developers can finally be served.