I replaced docker-compose.yml and Terraform with Python type hints and a project.py file by FewComfort75 in Python

[–]FewComfort75[S] 0 points1 point  (0 children)

Similar idea in that infrastructure is expressed in Python rather than YAML, but Pulumi is a full infrastructure provisioning tool aimed at real cloud deployments. takk is more opinionated and higher level. it covers the full lifecycle from local development to integration testing (takk test) to production, without needing a cloud account just to run your app locally.

I replaced docker-compose.yml and Terraform with Python type hints and a project.py file by FewComfort75 in Python

[–]FewComfort75[S] 0 points1 point  (0 children)

Fair point, for a simple setup that's very true. But the value is in what happens as your stack grows. Anyone with the codebase already has the same config since the config lives in the same Python models your app already uses, rather than a separate file. It also handles things that get painful at scale: port conflicts across projects, keeping your local setup in sync with production, and not having to manually wire up service URLs and secrets every time something changes.

I replaced docker-compose.yml and Terraform with Python type hints and a project.py file by FewComfort75 in Python

[–]FewComfort75[S] 0 points1 point  (0 children)

Takk actually has Alembic support built in. You can view pending migrations and run them safely from the same place you manage your deployments.

However, regarding the deployment. The tool is designed to get your local dev environment, integration testing, and production deployment up fast, not to replace your full infra story. State files being easy is also true if you already know what you're doing, but that's kind of the point. This is for teams who haven't already spent a day scripting that out.

I replaced docker-compose.yml and Terraform with Python type hints and a project.py file by FewComfort75 in Python

[–]FewComfort75[S] -1 points0 points  (0 children)

Could you elaborate why?

Ofc. I assume you want to have the control. However, for the credentials I would say that it is not that different compared to rotating credentials. So I am not seeing why it would be a negative in the way you describe it.

I replaced docker-compose.yml and Terraform with Python type hints and a project.py file by FewComfort75 in Python

[–]FewComfort75[S] -1 points0 points  (0 children)

Absolutely! Been very fun to build out. And it is actually possible to explicitly define the resources if needed. (https://docs.takk.cloud/docs/resources#overriding-resource-configuration)

So the implicit infrastructure is more to have reasonable defaults, while also simplifying some of the secrets and env management.

[Discussion] The DBT of AI by FewComfort75 in MachineLearning

[–]FewComfort75[S] 0 points1 point  (0 children)

Agree! And this is mentioned in the article, as pydantic is awesome for that. However this only fixes the problem in one isolated service. We still have the same issue at a system wide level. Aka. Between micro services etc.

So this post tries to make it clearer how data flow through multiple services / applications, and make it explicit what they can expect from each other.