I just started to learn about platform engineering...
# general
e
I just started to learn about platform engineering (loving it), but I'm not sure if what my company needs can be considered a Internal Developer Platform. We are a kind of a software house that build products from scratch for some startups. We are increasing very fast, and we now need to create some automation and process to ensure we keep the high quality. We have many unrelated teams in different products, but need some process and rules to apply to all Our "thinnest viable platform" is: as soon as we sign a contract, the team can: • Automatic create github repositories for backend services, frontend, mobile app from templates • Configure CI/CD for each repository • Ensure sonarcloud quality gates enable in pull request • Automatic create aws environments My questions are: 1. A internal developer platform is really what we need to build? 2. What tools can we use to make it... Backstage is a good option?
h
I'm putting together a product for this exact use case, here is how I have approached it so far, I put together a custom cli that handles your first and second points using taskfile.dev as the engine + terraform, for the last one you can use something like kubefirst.com + terraform
Backstage could in theory be used as a frontend to track all your different projects and which team is assigned to them.
a
I think this came up before and you may really like this thread. The tl;Dr is that it is hard to change user behaviour, so thinnest viable platform may be very small now (and don't get enticed to make it bigger than you need!). But getting the interaction model between users and your offerings right may help introduce new offerings a bit easier as and when you need to.
And so just to add, thinking through the API that drives a UI like backstage and/or a CLI like Hugo did may be a good first step 🤷‍♀️