The survey, conducted on behalf of Redis Labs, polled 300 enterprise IT organizations with revenues of more than $100 million. According to the results, nearly half (47%) of microservices applications rely on a database, with the majority (84%) employing a key-value or NoSQL database.
The research also notes about a quarter of microservices-based applications (24%) are considered business critical, with 42% of those applications resulting in a direct revenue loss if downtime is incurred.
Allen Terleto, field CTO for Redis Labs, says developers are selecting open source, key-value databases, such as Redis, because it provides them with a lightweight approach to enabling stateful microservices-based applications that run in memory. A full 95% of respondents said technology profile and performance were the most important factors to consider when selecting a database for their microservices-based applications.
Redis also provides support for data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes and streams. It also includes support for built-in replication, different levels of on-disk persistence, and provides high availability via a Redis Sentinel tool that identifies point of failure and support for automatic partitioning with Redis Cluster.
Terleto says the replication capability enabled by Redis is especially critical for digital business applications that require microservices to remain synchronized with one another in near real-time.
Most microservices are built by an individual team of developers that typically select which databases to employ. Consequently, as more microservices-based applications are deployed in production environments, the number of databases being employed within enterprise IT organizations also is expanding. The IDC survey notes the biggest challenge in managing databases within a microservices-based application is orchestration (32%), which Terleto says stems from the fact that data is now being managed at a more granular level alongside each microservice.
In most cases, those databases are now being managed within the context of a larger set of DevOps workflows rather than by a database administrator (DBA), Terleto adds.
Terleto says it’s not likely microsevices-based applications will replace existing monolithic applications, which often serve as the system of record for organizations, overnight. Instead, IT team will take time to determine the functions of an existing monolithic application that might be better suited to redeployment as a microservice and that can be independently managed and updated.
Most new applications, however, are intended to run on mobile devices, accessing cloud services that typically run more efficiently when constructed as a set of microservices that scale up and down more easily, based on usage, Terleto says.
Of course, there are lots of options when building stateful applications based on microservices. The challenge most IT teams will face is not so much mastering how to build these applications, as much as it will be managing them as the sheer volume increases.