database resiliency

Resilient Databases for Gluu Server

An important cloud native design principal is “Resiliency”.  A resilient system embraces failure instead of trying to prevent it. A resilient database service that is sharded, replicated, and multi-region is hard to build.  In the long term, it is also hard to train and retain database experts to operate it. Enterprises have come to see resilient database services as a commodity, and prefer their technology team to focus on business value.

Another challenge to implement Resiliency is failing gracefully, e.g. handling high load by slowing down, not crashing. For many Gluu Server applications, login is “bursty.” Some typical use cases: seasonal shopping patterns: (e.g. Black Friday), deadlines (e.g. file taxes), and events (e.g. pay-per-view boxing match). To accomplish this well, the database service needs to elastically scale up (and down) to accommodate traffic.

Here at Gluu, our business value is digital identity, not databases. The less time we spend talking about databases, the better! Like our customers, we just want the database to work (99.999% of the time). We don’t want to get dragged into marathon “the production database is down” Zoom meetings–the right number of those per year is zero!

For all the above reasons, we decided that we needed to jump on the cloud database bandwagon. If Google or Amazon want to help with database operations, that’ s great–they have economies of scale.

Previously, Gluu supported two database options for both Community Edition (“CE”) and Cloud Native Edition (“CN”): LDAP and Couchbase. We will continue to support both of these in both CE and CN. What’s new is that CN now supports Amazon Aurora and Google Spanner. Both these data services offer Gluu customers easy scalability in the cloud.

For the time being, we have not made these database options available on Gluu CE, which is a distribution optimized for deployments on virtual machines (“VM”).  While there has been community enthusiasm for Gluu Server CE to support RDBMS as an alternative to LDAP / Couchbase, the business case was 100% from our customers using CN.  The general feeling is that LDAP is a good default database for CE, which are generally smaller or workforce applications. However, we may release RDBMS support for CE at a later time.

Other databases are on the wish list. At the top would be a Postgres interface for RDBMS, which Google Spanner will support soon. This is likely to happen for CN in the next few months.  MongoDB and Cassandra backends could be interesting too–but no plans on these.