Cloudflare (NET 17.01%) is best known for speeding up websites and protecting servers from massive attacks. That’s its bread and butter, and it performs those functions well. But Cloudflare does much more than that.
Cloudflare rolled out Workers in 2017, a product that allows customers to run chunks of code on its edge. Website hosting service Pages became generally available last year, and both products are now integrated in a way that makes it simple to host an application on Cloudflare’s network.
The missing piece of the puzzle
While it’s possible to host a modern web application solely on Cloudflare’s network, there are limitations when it comes to data. Cloudflare offers Workers KV, a key-value store that can be accessed directly from its Workers product, and Durable Objects, essentially a persistent chunk of storage tied to a Worker. But modern web applications are often complex enough that a real database is often necessary.
Connecting to databases hosted elsewhere has always been a bit tricky with Cloudflare Workers, although the company has been working to make it easier. It would be more convenient for developers, though, if a standard relational database could be hosted directly on Cloudflare’s network.
That will soon be possible with the announcement of Cloudflare’s D1, a database product based on SQLite that runs on Cloudflare’s network and integrates seamlessly with Workers. Once D1 becomes generally available, developers will be able to easily create new databases, bind them to workers, and query them efficiently.
D1 will have some powerful features. Cloudflare will automatically put read-only clones of databases close to users to speed up access, syncing them as changes occur. That’s a lot of complexity that goes away for developers using D1. Backups are automatic as well, and chunks of code can be run right next to the database to improve performance.
While D1 will be packed with functionality, there are some inherent limitations. SQLite is one of the most widely used databases in the world partly because it’s simple. Databases are stored in standard files and can be easily created with little configuration. What SQLite lacks are advanced features found in other database software, like a concept of users and heavy-duty security features.
Despite the shortcomings of D1, this new database product is a huge step forward for Cloudflare. Applications that need a relational database can now be run on Cloudflare exclusively, something that wasn’t possible in the past.
Taking on the cloud giants
With D1, Cloudflare moves closer to offering a compelling alternative to cloud platforms like Amazon Web Services (AWS) and Microsoft Azure. Those platforms offer hundreds of products and features, but the basics are now covered by Cloudflare.
On top of D1, Cloudflare also announced Pub/Sub, its take on a cloud-based message bus. A message bus is useful when you have many cloud services that need to interact with each other. Instead of direct communication, which introduces dependencies and complexity, each service can simply shoot off messages without regard to which other services will receive them.
The Cloudflare platform is very different from AWS or Azure. You can’t spin up virtual servers, which is certainly a deal breaker in many cases. But for developers who don’t want to manage infrastructure, Cloudflare is becoming a better option with each new product added to the platform. D1 is the missing piece of the puzzle that removes the biggest downside.
The pace of innovation at Cloudflare is impressive, and the company could very well become a cloud giant that rivals AWS in time. The stock is still exceedingly expensive, though, so investors should weight that growth potential with the valuation before jumping in.