Temporal and Pulumi Goodness?
Why
I've done a fair amount of work using Infrastructure as Code (IaC) tools (not to be confused with Chef/Puppet which are Config Management tools) using AWS's Cloudformation, Terraform, and GCP's Deployment Manager. Azure's implementation of IaC using Azure Resource Manager (ARM) wasn't very popular and I never had the need for it (used Terraform for Azure's resources).
But what is apparent as you work through deploying infrastructure is that you need a workflow orchestration tool for managing complex scenarios. I've used Jenkins, I've used CircleCI, I've used GitHub Actions, and they all get the job done. But what really caught my interest with Temporal is that I no longer have to worry about protecting my workflow orchestration tools from transient failures (at least that's the Temporal claim).
Another advantage that I foresee of integrating Pulumi and Temporal is that both platforms provide a Python SDK. This uniformity should allow me to maintain a single development environment, enabling one unit testing framework, and one language to develop in. This consistency should significantly reduce the learning curve for new team members and streamline development and operational processes.
An AI's take on this
I asked ChatGPT. I'll redact the answer to the relevant bits but you can read the full output here.
The question I posed
Q: You'll be an Enterprise Architect choosing capabilities from a technology taxonomy. Please define all the tech capabilities that the following two products provide and if there is synergy between the two products to manage the lifecycle of infrastructure. The two products are Temporal.io and Pulumi.
Answer by ChatGPT
Synergy Analysis
Temporal.io and Pulumi, while serving distinct purposes in the IT landscape, have complementary capabilities that can be leveraged to enhance infrastructure lifecycle management:
- Workflow Orchestration Meets Infrastructure as Code: Pulumi's infrastructure management capabilities can be orchestrated using Temporal’s robust workflow management tools. This means that infrastructure operations such as provisioning, scaling, and management can be modeled as workflows and executed in an orderly and resilient manner.
- Enhanced Automation and Reliability: Temporal can enhance the reliability of infrastructure operations managed by Pulumi by handling failures and retries intelligently. This can be crucial in maintaining high availability and consistency in cloud environments.
- Integrated Monitoring and Operations: Combining Pulumi’s infrastructure operations with Temporal’s monitoring capabilities can provide deeper insights into the state and health of infrastructure across multiple environments.
In conclusion, Temporal.io and Pulumi together provide a powerful combination for managing the entire lifecycle of infrastructure from provisioning to operations and monitoring, ensuring both robustness and flexibility. This synergy can significantly benefit organizations looking to automate and optimize their infrastructure management practices in a cloud-native world.
In conclusion (my own, not ChatGPT's 😊)
So far, it is all theory. I have the slightest experience in Pulumi and ZERO experience in Temporal. When I get time, I'll see if I can do a small POC using both and blog about it here...until then, thank you for stopping by!