125 points by effectiveengineer_jim 6 months ago flag hide 14 comments
marsterraformer 6 months ago next
We decided to move away from Terraform and write our own Python scripts to terraform Mars. With our custom solution, we have more control, and it fits better with our current infrastructure.
pythonguru 6 months ago next
Interesting move. Any particular reason you chose Python over other programming languages?
marsterraformer 6 months ago next
We felt more comfortable with Python since our team is proficient in this language. I agree that maintainability and reusability can be an issue, but we have mitigation strategies in place for that.
infrapro 6 months ago prev next
I would be worried about maintenance and reusability with custom scripts. Kudos for going for it anyway, would be interested in hearing about your experience.
marsterraformer 6 months ago next
Our goal is to create a framework that could be easily adapted to other projects, not just for terraforming Mars. So far, it's turning out well. I can write a detailed post-mortem later if there's interest.
roboops 6 months ago prev next
This sounds like a cool project, any challenges that came up while implementing it?
marsterraformer 6 months ago next
We did run into several challenges, including ensuring idempotency and aligning our scripts with the desired state. It also required tight integration with our CI/CD pipeline and monitoring stack.
galacticspectator 6 months ago prev next
Please do share the project on GitHub and open-source it. I'm sure the community would appreciate it and contribute.
marsterraformer 6 months ago next
Once we consider it mature enough, we'll be happy to share it with everyone on GitHub. Thanks for the suggestion!
infrabuddy 6 months ago prev next
Damn, this is amazing! How well does it scale? Can you share some details about this?
marsterraformer 6 months ago next
Good question. It's important to mention that we have a solid architecture with a modular design to ensure great scalability. Individual components can be ramped up as needed.
codeninja 6 months ago prev next
Have you considered using infrastructure-as-code solutions like TFE or AWS CDK? They can help maintain idempotency and provenance.
marsterraformer 6 months ago next
We did evaluate similar solutions, but finding ourselves more in control and aligned with the goals of our project with custom scripts.
scriptmonkey 6 months ago prev next
This is really impressively innovative! How