2024-04-17
Introducing LaunchFlow
A better developer experience on GCP and AWS
Written By
Co-Founder
LaunchFlow is an infrastructure-from-code tool for Python that aims to dramatically improve your developer experience on GCP and AWS. We automatically deploy infrastructure to dedicated environments in your cloud as you use it in your code and ensure it's configured for both local development and production deployments.
Most teams cobble together their own DevOps automations using a mixture of Terraform, Pulumi, custom scripts, and environment variables. These automations are great when they work, but are often brittle and eventually become the main source of complexity.
We believe there's a better way.
The Way
Use LaunchFlow’s Python SDK to import Postgres, Redis, and other cloud resources in your Python code, then deploy everything to dedicated environments in your cloud with a single command.
Everything in the LaunchFlow ecosystem is preconfigured for both local development and production deployments.
Environments
LaunchFlow deploys and manages your infrastructure inside Environments that run in your own cloud account. These Environments satisfy most compliance requirements by default and are automatically configured for cost, security, and reliability.
Resources
You can create and connect to cloud Resources in an Environment by simply importing them in your code. Our SDK provides ready-to-use client APIs for every Resource so you can immediately start using them in your application both locally and when deployed.
import launchflow as lf
# Automatically deploys to your cloud account
gcp_postgres = lf.gcp.CloudSQLPostgres("gcp-postgres")
aws_postgres = lf.aws.RDSPostgres("aws-postgres")
# Ready to use with no additional setup
gcp_postgres.query("SELECT * FROM users")
# FastAPI, Flask, & Django integrations
aws_postgres.django_settings()
Deployments
You can build and deploy Python applications in the same Environment as your Resources with a single command. LaunchFlow Services let you deploy your APIs to GCP / AWS with all resource permissions and networking settings automatically configured.
We will be adding Jobs and Notebook deployments in the next couple of months.
Works anywhere that Python runs
LaunchFlow Resources manage their own configuration and can be plugged into any existing Python app. We’re framework-agnostic and work anywhere that Python runs - we also include a library of common utilities for building FastAPI, Flask, and Django apps on the cloud.
See example projects in the LaunchFlow examples GitHub repo.
Why not just use Terraform / Pulumi?
Tools like Terraform and Pulumi make it easy to automate cloud infrastructure, but there is still an added cost of maintaining a separate IaC tool and keeping it in sync with your application code.
On top of this, these tools only help you create the infrastructure, they don't help you actually use it. Engineers can spin up infrastructure in a few minutes, but they'll often spend the rest of the day (or longer) stumbling through docs and blogs trying to figure out how to actually connect it to their application.
Things only get worse once you add a release pipeline into the mix and now need to figure out how to structure your code to work across multiple environments.
This creates a tradeoff between automation and overall system complexity, which is why many teams put off IaC practices until they can afford a DevOps engineer / team to maintain the automations for the company.
Get started in minutes
Sign up and follow the quickstart to launch a new Python application to your cloud in minutes.
If you'd like to see a quick demo, email josh@launchflow.com or schedule a call.
Happy launching! 🚀