Aiven Blog

Jan 28, 2022

Just plug it in - Aiven & Temporal

Temporal offers a microservice orchestration platform, and Aiven offers data infrastructure. Read why these two are practically made for each other!

jason-hepp

Jason Hepp

|RSS Feed

Senior Director of Solution Architecture at Aiven

andrew-staller

Andrew Staller

|RSS Feed

Director, Partner Sales

So you’ve chosen Temporal’s microservice orchestration platform for managing your workflows as code, but how do you properly bulletproof the persistence of your data?

Aiven has you covered!

Aiven specializes in managing data infrastructure like Postgres, MySQL, Apache Cassandra, OpenSearch, and M3 giving you time to focus on the business workflows within Temporal. Of course, there is no lack of options for managed database infrastructure, so we understand that you may have just thought “Why Aiven?”

Aiven manages data infrastructure

Aiven offers fully-managed cloud services (Postgres, Apache Cassandra, Apache Kafka, and others) that maintain the integrity of the open source code, meaning it is the exact same code that you could test on a local machine or self-manage. On the Aiven platform, customers have a myriad of options to create an Aiven service across several clouds and regions.

Aiven delivers services with a consistent industry-leading uptime SLA of 99.99%, observing closer to 5 9’s uptime over the last 36 months. A key differentiator for Aiven is the fact that when new versions and maintenance updates are available, they’re applied with no downtime, and this is applicable for upgrades or downgrades of a service as well.

For Aiven, these are the things that should be table stakes for a fully-managed service, and yet they’re not present with other offerings in the market.

OK, enough about Aiven. We do the boring stuff and we do it well.

Temporal orchestrates microservices

Temporal’s (very nice!) open source microservice orchestration platform is used to build modern workflow applications. It has already been adopted by the likes of Stripe, Netflix, Coinbase, and more.

To run Temporal, you first set up a Temporal Server to execute Workflows, which are business rules written as code, and Activities, which are encapsulated code to interact with external systems (e.g. ftp, file system, REST API’s, etc.). Both Workflows and Activities are easy for developers to manage because it has built in state, persistence, and retry logic.

The persistence of Workflows is where Aiven shines: Temporal allows for several databases to be plugged in for durable storage of state, allowing you to focus on getting the most out of Temporal. Like Temporal itself, the database choices of PostgreSQL, MySQL and Apache Cassandra are 100% open source. In addition, logging, monitoring and visualization can be delegated to such services as OpenSearch, Prometheus (Aiven for M3) and Grafana.

All of these are all available with Aiven. Given that all services can be procured under one roof and fully managed with the same Aiven Terraform provider-well, Temporal and Aiven are practically made for each other!

Plugging Temporal into Aiven

The Aiven code repository TemporalIO has examples for how to connect Temporal Server to Aiven’s various services: Cassandra, PostgreSQL, MySQL, and Opensearch. We take you through the example code that Temporal provides.

Aiven and Temporal

The added bonus of the pluggable database infrastructure from Temporal and Aiven providing all supporting databases, allows you to quickly switch databases to meet your engineering skill set or for benchmarking different Temporal workflow use cases. So, stay tuned for future blog posts where we will share when and why to choose Cassandra vs MySQL vs Postgres, and additional integrations for M3 and Grafana.

Wrapping up

If you're not using Aiven services yet, go ahead and sign up now for your free trial at https://console.aiven.io/signup!

In the meantime, make sure you follow our changelog and blog RSS feeds or our LinkedIn and Twitter accounts to stay up-to-date with product and feature-related news.


Related resources