Oddbean new post about | logout
 Containers & Micro-services add complexity & confusion & cost. 
Not the other way around.  
Bring back SOA & waterfalls. 

Not my opinion. This is fact.  I worked with some of the best Java devs on the planet & this was the overwhelming consensus. 
 Yeah.....Microservices seem to be a cop out for running shitty code. Why do you need 500 instances of your app because your code sucks? 
 ☝️☝️☝️this. Exactly. 

So much shitty code in big companies. Especially financial services (JPMC, BoA, PNC etc). If people only knew how bad it really is they would run to BTC faster.  Simplicity wins. 
BTC was built from the ground up for stealth & doesn’t rely on COBOL from 1976 to run. 
 Good question for Google Chrome  
 😎 
 I can't imagine running thousands of containers for an app. Seems like a nightmare. 

I'm just using docker containers the same way you'd use VMs for now. It makes deployment much easier for what I'm working on.  
 Yup. That’s a good use case. The VM analogy is solid. 

At scale is where most things just crash/burn. 
 Luckily, my scale is like 10 people haha. It's nice working in a niche. 
 👊👊👊
Keep it open source brother. That’s the key. 
 All the tools are open source (except for one stupid SQL server container I need, at least it's free), but I'm rewriting trade secrets I reverse engineered while I worked there directly in the code, so there's no way it's ever seeing the light of day.

If I get this elastic stack stuff working, I'm absolutely making a repo with an example setup that works for other people. It's ridiculous. 
 kubernetes makes running tens of thousands of containers manageable, speaking from experience. 

I really like using docker-compose for what you’re describing. quickly bring up a few containers on my local machine. I like to use a Makefile so instead of typing “docker compose up/logs/down” I just type “make run” 
 Fuck Kubernetes. Right in the fucking face. 
 😂 would not recommend kubernetes unless you’re a large org with a microservices architecture and a dedicated team to manage it. 
 Dedicated it correct.  

Bloated shit always requires the dedication 🫡 
 I don’t know of any better orchestration system for building large scale hybrid clouds for a microservice architecture. 
 Fuck the CLOUD. Right in the fucking face. 
 🤝 
 🤝
IBM Mainframe > Cloud 
 Docker compose is what I'm using. I didn't even think about using makefiles though. I have my services split into multiple files, so I just made some convenience scripts to run the dev version or prod version, etc.

I wanted to eventually deploy to kubernetes, but it's a lot to set up for an app that's so small right now. Heck, my client's IT department is so bad we can't actually even get them to deploy anything. It's a big ask to get an old engineering company to learn new tricks. 
 ECS Fargate is a simpler solution if you don't want to go the kubernetes route. 
 Look into Nomad. 
 Roger that.  Haven't head if it up until this moment so will for sure check it out. 
 It’s open source. Scales. And is the best solution on the market IMO that nobody really knows about. 
 Nomad is great. I worked with it for a couple of years back when CoreOS was a thing. definitely simpler/easier than k8s. they all have their sweet spot. 
 nice! scripts or Makefiles, same convenience. 

would caution you on k8s… heck you can simply install docker on a Linux box and it’ll run your containers in the background and restart them if they die. manually run cert manager and you’re pretty much done. k8s is great to learn but it can be a nightmare to operate. I used to run my personal stuff on k8s using k3s on a single box. after like a year some mTLS cert expired and I couldn’t get kubectl. after banging my head on the wall I burned the whole thing down. now I either use docker to run containers or systemd to run binaries. no bs. nothing to break. 
 There's honestly no need when I really think about it when I consider who I'm making it for. Docker compose will do just fine for a long long time.

Those guys were at one point just happy with a python script they had to run manually on a VM they already had something else running on. Cause it worked and it was useful beyond anything they had previously. 
 that’s the best. you’re probably like a magical superhero to them. ✨ 
 Always have been 😎