Freedom to build awesome applications with Aiven

Once a week, I am googling for new articles or projects which use Redis Plugins for Grafana and constantly see links to Aiven — “Scale-up and get the latest open-source features without in-house upgrade hassles”. Interesting? Redis database can be deployed in Redis Cloud and Grafana in Grafana Cloud. Can both of them be deployed in Aiven and seamlessly work with other services?

Mikhail Volkov
6 min readJul 29, 2021

Browsing the Aiven website, I learned that I could deploy a modern open-source Redis database in 10 minutes, and get 99.99% uptime in 90+ Regions. Aiven supports out-of-the-box Grafana, InfluxDB, Kafka, and many other open-source projects.

Let’s create our Redis and Grafana services

When you log in to the Aiven console, you can choose one of the supported services: Kafka, PostgreSQL, MySQL, Elasticsearch, Cassandra, Redis, InfluxDB, Grafana, M3DB, etc. I will create the Redis database for my new project on AWS in the us-east-1 region with minimum configuration and upgrade to the bigger instance when the project goes live.

Adding the Redis service on AWS using Aiven Console.
Adding the Redis service on AWS using Aiven Console.

While the Redis instance is deploying, I created the Grafana service in the same region to avoid latency issues. Configured services can be effortlessly integrated with Datadog, Prometheus, Syslog, AWS CloudWatch, Google Cloud Logging, and other services.

Configuring Grafana service

After a couple of minutes, the new Grafana service was up and running with one of the latest versions, 8.0.3.

Connection information and configuration for Grafana service.
Connection information and configuration for Grafana service.

The service can be configured to allow access from specific IP addresses, set a preferred Maintenance window, upgrade Service Plan, and migrate to another cloud or region while it's running.

Migration happens in the background and does not affect your service until the service has been rebuilt in the new region. After this, the DNS name the service uses is pointed to the new region which may cause a short interruption in service while the DNS changes are propagated.

After logging into Grafana using configured Service URI with provided User and Password, you can see the Grafana home page and add new data sources and dashboards.

Grafana Home Page.
Grafana Home Page.

Created Grafana instance supports all built-in and a limited number of community plugins.

Plugins Grafana configuration.
Plugins Grafana configuration.

Grafana instance configuration supports custom advanced options, which allows modifying authentication method, SMTP server, etc. Parameterplugin_admin_enabled is not available to enable one of the newest features of the Grafana 8 plugin Catalog to install community plugins.

Configuring Redis service

Redis service is up and running with version 6.2.3, and has similar Grafana configuration options to upgrade the Service plan, allow connection from specific IP addresses, integrate with other services, fork database, and specify maintenance window, which is one of the favorites. Aiven’s customers should love it!

Connection information and configuration for Redis service.
Connection information and configuration for Redis service.

Redis service provides SSL instances with default user and password to protect access. The command acl is not available, and additional users can be added using the Console.

Adding new Redis users using Aiven Console.
Adding new Redis users using Aiven Console.

I don’t see options for an SSL Certificate and Keys to further secure the connection required by Enterprise customers.

I was planning to monitor my application data and interact with the Redis instance using Redis plugins for Grafana. Unfortunately, they are not available in the provided configuration and should be requested from Aiven’s Support.

I like Aiven’s support, which promptly responded to my request:

Hi Mikhail,

I have raised a feature request to have this feature included in our offering. Now the process would be to gather interest from our customers. Then the product management will make a decision based mainly on interest, licence, code maturity, impact on including a new feature etc. I will link your contact details to the internal ticket that we keep to track this activity. In this way you will be notified if and when the new functionality becomes available.

Connecting to Redis service from Grafana

To verify a connection and interact with the Redis service, I am going to use local Grafana installation with preinstalled Redis plugins using Docker image redis-app:

docker pull ghcr.io/redisgrafana/redis-app:latest && \
docker run -p 3000:3000 --name=redis-app ghcr.io/redisgrafana/redis-app:latest

Copy the Service URL from the Aiven Console to set Address, Password and enable TLS Client Authentication with Certificates and Keys for the new data source. Click Save & test to verify connectivity.

Redis Data Source configuration.
Redis Data Source configuration.

Redis Data Source successfully connected to Redis service and is ready to run any commands. In most cases, I am using the Redis CLI dashboard, which provides the most important Redis information — ops/sec, clients, memory, network, keys, and custom panels — Redis CLI, Latency, and Max Memory Keys.

Redis CLI dashboard provides Redis statistics with Redis CLI, Latency, and Max Memory Keys panels.
Redis CLI dashboard provides Redis statistics with Redis CLI, Latency, and Max Memory Keys panels.

Conclusion

Aiven provides intuitive UI with many configuration options, and it’s easy to get started with new services in less than 10 minutes. Having various open-source services from one vendor is a great option but comes with limitations.

Feature comparison between Grafana Cloud, Redis Cloud, and Aiven.
Feature comparison between Grafana Cloud, Redis Cloud, and Aiven.

I could not install Grafana community plugins to connect to the Redis from the Grafana service and add custom panels required for my project dashboards available at Grafana Cloud.

Configured Redis service comes with a limited security configuration and does not support modules like RedisTimeSeries, RedisGears, etc., available at Redis Cloud.

I have not tested other services like Elasticsearch, Kafka, InfluxDB, or M3, primarily interested in Redis and Grafana for my projects.

Volkov Labs is an agency founded by long-time Grafana contributor Mikhail Volkov. We find elegant solutions for non-standard tasks.

Check out the latest plugins and projects at https://volkovlabs.io

--

--