Cloud Native ComputingDevelopersDevOpsFeaturedT3M: TFiR Topic Of The MonthVideo

PlanetScale: Revolutionizing Database Management

0

Guest: Sam Lambert (LinkedIn)
Company: PlanetScale (Twitter)
Show: TFiR: T3M

There is more data than ever. Even small companies have vast amounts of data under management. It is common to see a nine-person engineering team have terabytes upon terabytes of data being generated from their applications. Needless to say, storage and retrieval have become unwieldy and very challenging.

In this episode of TFiR: T3M, PlanetScale CEO Sam Lambert shares his insights on the current state of databases and how his company is leading the charge towards modern database management.

Current trend among big companies:

  • Category leaders and very large-scale internet companies realize that they want to get out of the business of managing their own databases, and that they can buy a platform that is run by folks that would only work on that. PlanetScale’s engineering team has scaled the workloads at GitHub, DigitalOcean, Google, Facebook, and Twitter.
  • Other large internet companies are thinking that the right way is to outsource to people that know what they’re doing when it comes to running high-scale infrastructure on a technology that’s trusted globally by very, very large customers.

PlanetScale is a scalable database platform. Its underlying core technology is Vitess, a sharding and clustering manager that was built on top of MySQL to handle all of YouTube’s data. Not only does it have the most scalable underpinnings for the database, it also has an entire DevOps layer on top.

How PlanetScale helps companies:

  • It takes their data center MySQL deployment, which can be huge, and migrates them into the cloud. They run a cloud-native MySQL cluster on top of Kubernetes, leveraging cloud technologies so that it’s appropriately baked into the cloud environment.
  • The DevOps layer allows people to automate their database, deploy the schemas of their databases into production, roll back the schema changes without data loss, and essentially fully automate the database as part of the CI/CD process.
  • It has prescribed and well refined workflows with the database, which makes it more of a platform than just a database back-end.
  • PlanetScale Insights allows users to drill into performance problems at the database level.
  • PlanetScale Boost is a real-time consistent query cache that uses the same MySQL protocol, the same connection even. You get 1,000x performance improvement on queries, without any worries about invalidation or hosting Memcached or Redis.
  • The company spends a lot of time understanding how the developers interact with the database and integrate the process of building into the database workflow. They help customers think in a more cloud-native, Kubernetes-oriented way.
  • It works very closely with its community, constantly looking at how they use the product, how they manage their usage, and what kinds of incidents they might have related to the database. It provides tooling to simplify remediation.

PlanetScale is facilitating a major cultural shift:

  • Most people say they’re doing DevOps because they’re doing it in the stateless world, they have continuous deployment, and they roll out code changes. But when it comes to their database, a DBA actually logs in and manually does it.
  • Unless the database fully lives in lockstep with your application lifecycle and gives you feedback and goes back around that loop with you, then you have not completed the full DevOps journey. People are now realizing the job’s not done until every part of their stack operates this way.
  • Databases have been the hardest to bring into the DevOps world because there is a lot of trauma, negativity, and fear around them. It remains one of the most significant sources of outages and incidents. If you don’t apply the right practices in the cloud, you could increase your rate of incidence and reduce your reliability.

Advice for companies looking to improve their database management:

  • Build an iterative and incremental process to adding features, modifying, and working with your database.
  • Identify bottlenecks in your process, sources of fear, and instances where you have to be too cautious. Round them out with automation.
  • Stay disciplined. Just because you’re at a certain scale, a certain size, of a certain importance does not mean you’re above continuous iteration. If you’re taking a maintenance window to do database operations, you are fundamentally sitting on a bad database technology.
  • Build architecture that recognizes the inevitability of failure. Automate ahead of time what to do when something goes wrong.
  • You want innovation, speed, DevOps, and all of the other things that make modern software development bearable. But at the same time, if your database is less than a decade old, you’re likely being dicey with the safety and reliability of your data.

This summary was written by Camille Gregory.