125 points by effectiveengineer_jim 1 year ago flag hide 14 comments
marsterraformer 1 year 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 1 year ago next
Interesting move. Any particular reason you chose Python over other programming languages?
marsterraformer 1 year 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 1 year 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 1 year 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 1 year ago prev next
This sounds like a cool project, any challenges that came up while implementing it?
marsterraformer 1 year 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 1 year 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 1 year ago next
Once we consider it mature enough, we'll be happy to share it with everyone on GitHub. Thanks for the suggestion!
infrabuddy 1 year ago prev next
Damn, this is amazing! How well does it scale? Can you share some details about this?
marsterraformer 1 year 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 1 year ago prev next
Have you considered using infrastructure-as-code solutions like TFE or AWS CDK? They can help maintain idempotency and provenance.
marsterraformer 1 year 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 1 year ago prev next
This is really impressively innovative! How