3 ms·
It's not bullshit but a lot of companies are definitely overthinking, over engineering, and overspending here. I've seen the transition from before the .com bub
by jillesvangurp 3y ago
It's not bullshit but a lot of companies are definitely overthinking, over engineering, and overspending here. I've seen the transition from before the .com bubble to where we are now. Things changed and improved quite a lot. But the ambition level also went up. Puppet, ansible, teraform, cloudformation, ansible, salt, packer, etc. you name it and I've been there and done that at some point. But without ever having taken devops on as a full time responsibility. I'm a developer that can do ops when I need to.
If you know what you are doing you can actually minimize your cost and complexity a lot and get away with not having to actually do a lot. I am a startup CTO these days. That means I'm not bored. Devops is not a person, it's me in what little time I can budget for this among many other more interesting, lucrative or tedious things that I also need to take care off. I need my servers to run and not die on me. I need decent uptime and build automation. I need backups, alerts, and all the rest. I've seen it done well and I've seen it done poorly. I don't like it when it's done poorly and I know what that looks like.
If I had the budget, I'd probably get a person to delegate to and invest more in this. But I don't. So, I go for minimalism and reduced complexity.
So, good bullshit free devops is what I do. No mico-services in my company. We have a monolith. That's not likely to change any time soon. We can't afford the operational complexity and I frankly don't see the added value of having to have that complexity. I don't use kubernetes for the same reason. Using kubernetes to run 1 docker container is nonsense. We run nice simple docker containers. Most common cloud providers have easy ways to scale and run those. I used google cloud run for a while (cheap and easy), but our use of websockets and threads made using traditional vms and a loadbalancer a bit more flexible. That's what we've had for the last two years.
I don't need a teraform script to create that for me and I just clicked that together in a few minutes. My infrastructure is fine. I do use build automation. We have a few lines of gcloud commands in there that tells the instance group to apply a new template with our latest docker container. It runs when we merge to our production branch. We use Github actions for this. Our master branch goes to a similar staging environment on every pull request merge. That's simple devops.
We also have a few managed services, alerts, monitoring, logging (via elastic cloud), and few other bits and bobs. I'm not a caveman. But you get the idea, this is not something that we need to spend a lot of time on. Set it up right and you can do more fun things. Our uptime is fine. I can scale this endlessly.
I can also setup a new environment without too much hassle. If that actually becomes a regular thing, I'll automate it further. But that just isn't a thing right now and not worth a minute of anyone's attention in this company. Automating things you only do once every few years is a waste of resources.
- aprdm 3y agoGood on you ! That’s how I would probably approach it too in your place, and have had similar experiences as you probably had in both big and small companies