5 ms·
Personally staking my own future on this "less is more" approach having seen some serious horror flicks in terms of app/infrastructure stacks the past few years
by rglover 5y ago
Personally staking my own future on this "less is more" approach having seen some serious horror flicks in terms of app/infrastructure stacks the past few years.
What continues to surprise me: a lot of time and money has been or is being wasted on reinventing the wheel (speaking specifically about webdev here).
There are a ton of great tools out there that are battle-tested (e.g., my favorite find of late as someone just digging into hand-rolled—meaning no k8s/docker/etc—infrastructure is haproxy).
- ftlio 5y agoI've seen millions of dollars spent on infrastructure to support what Heroku could do for a few thousand a month. Not to mention the egregious dev heartache caused by having to work against it. Anyone who argued it was a waste of time and money just "didn't get it" apparently. I'm a huge fan of all the cool container stuff, queues, stream processing, all the weird topologies for apps built with node, Golang. I'm with it, kids. But for an MVP, just use Heroku, GAE, a Droplet with SCP for god sakes. If you need to do something more complicated, growth will tell you.
- VWWHFSfQ 5y agoI worked for a very profitable small internet biz whose entire deployment was git-archive + rsync. I never had to troubleshoot that thing even once. Now it seems like everybody is playing golf trying to see how many AWS services they can use to unpack a gzip on a server.
- pphysch 5y ago> If you need to do something more complicated, growth will tell you. +1. Needing to refactor & scale your infrastructure to enable more growth is almost always a "good problem to have". You've steadily grown to $100mm revenue and your backend is starting to show it because you prioritized productivity over premature optimizations? Oh no, the world is ending! (said no one ever)
- tomcam 5y agoSorry to nitpick, and I agree with almost the entire statement you made, but I don’t quite understand how Go fits in there. I chose it in large part because it sharply reduces dependencies. Just curious about your inclusion of it in that list. Totally not trying to get into language wars or anything. Just want to understand your thinking.
- ftlio 5y agoI guess it doesn't fit in besides I've seen it be used for microservices where microservices don't apply
- xupybd 5y agoSimple manually deployed docker images have been a great win for us. You get to declare all your dependencies in the docker build. All config is in one .env file. Installs and roll backs are trivial. Setting up new dev environments is easy.
- justin_oaks 5y agoWhat do you mean when you say "manually deployed docker images"? It could mean that you build the images on one machine, then export the images as a tar files, copy those to the destination server, and then import the images. Or it could mean that you copy the Dockerfile and any necessary context files to the destination server and run the Docker build there. Or it could mean you still use a Docker registry (Docker Hub, AWS ECR, or a self-hosted registry), but you're manually running docker or docker-compose commands on the destination server instead of using an orchestrator like Kubernetes. As for me, I've done pretty well with that last option. I still use either an in-house Docker registry or AWS ECR, but I haven't needed anything like Kubernetes yet.
- 7steps2much 5y agoI do the last thing as well! I essentially use docker compose files as glorified installer scripts. Back in the day I would have installed whatever software comes in the container by hand, then set up a service with systemd / cron or whatever. Nowadays I just set the container to start at systemboot. Works pretty well for me so far and unlike scripts the docker containers so far never failed to just set up and run.
- xupybd 5y agoOh CI builds and pushes to a repo. The CI then generates a docker compose file and a default .env. Installs are just a matter of copying over the docker compose. The running docker compose up in detached mode. Edit: I didn't set this up. But it's amazing to use.
- asdfman123 5y agoWait until people learn about this hot new technology that revolutionizes web development: A C# web application with a SQL DB. That's it. Go home at 5 pm and spend time with your family in your $300k non-coastal-city house.
- GSGBen 5y agoWorking with asp .net core then intermittently jumping into different stacks in other projects is blowing my mind. Lots of "Node wants how many packages to do this?"