Telco provider builds platform-as-a-service with CockroachDB
A European telco provider built a platform-as-a-service with CockroachDB as well as an application that will be used by government agencies in Portugal to reach over 10 million users.
A government-owned ISP in Europe earned a contract to build out a platform-as-a-service and applications to be used by all government agencies in Portugal. To build this platform and application the telco provider needed an always-on, highly available database that could scale to accommodate over 10 million users all accessing an application at the same time. The best database for this project was CockroachDB.
The contract from the Portuguese government represented a hugely important opportunity for this telco provider so the stakes were high as they began development.
There were two distinct challenges that could only be properly addressed with the help of a cloud-native, easily scalable, resilient database. The first challenge was making the transition from providing infrastructure-as-a-service to providing a platform-as-a-service. The second challenge was building an application to be used by all government agencies to reach the entire adult population of Portugal.
The transition to platform-as-a-service required the ability to understand not just how all the hardware works, but also to be able to manage a database (in addition to the other tools that sit on top of the database). Guaranteeing security up and down the stack was important, because much of the data is PII. Deploying the database and the tools in Kubernetes quickly and easily was also essential.
The platform this telco provider is built needed to have the scale and resilience to allow the various government applications to reach over 10 million people with different notifications. Some of the information shared in the application is sensitive personal data and for that reason, the data must be consistent, resilient, and extremely secure.
In pursuit of a scalable, resilient, cloud-native database this telco provider initially looked into Amazon RDS, but that wasn’t a good fit. Amazon RDS needs to be run in AWS and this telco needed a database that could run in their private cloud. Next, they looked at MongoDB. It’s cloud-native and it’s scalable, but it doesn’t speak SQL. Without SQL it’s too difficult to accomplish an appropriate level of security.
This government project is massive, and it required that this telco provider ask for more from their database than they had ever asked before. So they increased their list of requirements to include the following:
- Kubernetes compatibility
- Horizontal scale
- Performance test results (with 10 million users in mind)
- Easy to deploy
- Resilient (replicate data across 3 data centers)
With the biggest, most important project of this company’s life-time in the balance, they chose CockroachDB and got everything they wanted:
With three different data centers spread out around Portugal and they liked the fact that CockroachDB could deliver SQL while distributing the data to each of the three data centers. CockroachDB’s architecture guarantees the high availability required for the application. The ease of scale and resilience in CockroachDB also make it an ideal fit in a platform-as-a-service tech stack. Being able to deploy their database in Kubernetes was a high priority and CockroachDB is one of the few databases that meet all four criteria for Kubernetes compatibility (disposability, API symmetry, shared-nothing, horizontal scale).
What value has CockroachDB added?
The benefits of using CockroachDB have been far-reaching.
• The resiliency of the database gives peace of mind to the engineering team.
• The ease of scaling CockroachDB saves time and money.
• The fact that CockroachDB is compatible with Kubernetes makes them more efficient.
• The wire-compatibility with PostgreSQL sped up the time to value.
Making the transition from infrastructure-as-a-service to platform-as-a-service would have been extremely challenging with a database that required a lot of manual maintenance. CockroachDB is a low maintenance database because it pulls complexity from the data layer down into the database and handles it automatically. This allows DevOps engineers to focus on enabling the developers to build modern, performant applications for their users.