3 ms·
Honestly, I love compose files for local development. Launch and init a database, a DB admin tool, middleware, and a UI server in a single shot. New team membe
by ttfkam 4y ago
Honestly, I love compose files for local development. Launch and init a database, a DB admin tool, middleware, and a UI server in a single shot.
New team member: "How do I get the stack running?"
Existing member: "Clone this repo and run docker-compose up -d"
20 minutes and a cup of coffee later:
New member: "Cool! Ready to start!"
Does it look like our AWS stack? Only superficially. Which can be a good thing. The compose file shows you the broad strokes, not the extreme details. Compose files help with the basic mental model. Want to know more? Read through the CDK stack code.
But using a compose file for a cloud deployment interface? No thank you.
- ocimbote 4y agoIn theory, it works everywhere. In practice, for any sufficiently large project, teams can't (either in terms in possibility or ability) size down the running services so that the whole stack runs locally. And then starts the hunt for tradeoffs, with a million pitfalls. I have seen the pattern fail too often to be only optimistic on the approach. I now tend to favor ephemeral deployments with only one locally running service connected to a bunch of remote services.
- ttfkam 4y agoNews flash: 90% solution not suitable for folks with 10% of problem domains. Full story at 11 o'clock.
- shortrounddev 4y agoYeah recently at work I created a compose.yml for our kafka pipeline. We have a collector and an enricher which produce to and consume from a kafka topic, respectively. The enricher then runs some functions on the data it consumes and produces to another topic. These services are all super microservicey, and so testing locally outside of docker was difficult (not to mention the PITA that is setting up a zookeeper broker on Windows) The compose.yml runs everything on a docker network and uses redpanda for the kafka broker. Iteration became SUPER easy. Previously, we were just writing config files locally and uploading them to S3, then restarting the dev instance of whatever we were working on in k8s to re-ingest. This was, as I'm sure you can tell by now, tedious
- aitchnyu 4y agoI gave up on compose since I couldnt figure out VSCode autocomplete for Python and JS, with the library files living within the container. Once I needed to run a command on a docker container (wasn't allowed to commit it) to make it work. To update pip/npm stuff, I do it outside of docker and then update the images. Has anybody found a better way with just open source tools?
- ttfkam 4y agoI typically just map the source directories on the host. Good for --watch options. Works for me with Angular, Django, Svelte, and others.