5 ms·
The architecture of our systems has gotten a lot more sophisticated and complex over the past 20 years. We’re not running monoliths on a few beefy servers these
by aaronbrethorst 4y ago
The architecture of our systems has gotten a lot more sophisticated and complex over the past 20 years. We’re not running monoliths on a few beefy servers these days.
I am running a monolith, and troubleshooting is still pretty easy.
We’re operating distributed microservice ecosystems on top of a deep stack of frameworks, abstractions and runtimes that are all running on other people’s servers (aka 'the cloud').
Yikes, good luck.
Snark aside, I just want to remind most people out there: you do not work for Google or Facebook, and your systems do not have to be architected as if you are the next Google or Facebook. Neither of these companies started existence with microservice architectures or whatever. Save yourself the pain. Build a product. Find some customers. Worry about the architecture astronautery later.
- johnthescott 4y agoi recall reading ken thompson's reply to what he thought of virtual machines. something like "they are such a good idea that i wrote unix".
- adrianN 4y agoEven without architecture astronautics you still run on a very deep stack of frameworks and abstractions that make troubleshooting difficult.
- aaronbrethorst 4y agoMy turtle stack is pretty well documented and 95%+ of problems have already been solved by other people. For everything else, I'm quite happy with https://sentry.io https://sentry.io and https://www.skylight.io https://www.skylight.io for my troubleshooting needs.
- Gordonjcp 4y agoHow do you know that?
- adrianN 4y agoBecause even if you run bare metal on a raspberry pi you rely on fairly complex binary blobs. Most software is too complicated for such a simple stack.
- anonymoushn 4y agoYou mean the Linux kernel and device drivers? Most of the time these things cause fewer problems than other things.
- Gordonjcp 4y agoThat seems a fairly stupid line to draw, to be honest. Do you know how the silicon your code runs on is made? Do you know how the fibreglass the CPU chip is stuck to is made? How do they get the copper to stick?
- deleted 4y ago[deleted]
- QuadmasterXLII 4y agoDoctor, doctor, every time I touch my left knee to my right pinky I get a stabbing pain in my heart! Don’t worry, I know a physical therapy regime that will fix you right up: no medicines or scans required Wonderful! what is it? Every day before bed, don’t touch your left knee to your right pinky
- danwee 4y agoThe problem is that if a company advertises a job that is all about maintaing one or two monolithic applications without K8s, distributed system topics, tracing, microservices, AWS/GCP, etc., well, then not many engineers will apply. That's actually a paradox in itself: my bet is that only a few group of (good) engineers would apply to such a job. Management otherwise usually thinks that the bigger the pool of applicants, the better for the company. Also, a lot of engineers out there are resume-driven: they do want to work with microservices, the cloud and k8s. It's a vicious circle.
- raxxorraxor 4y ago> then not many engineers will apply I would. I don't run server farms and don't need to provision entire environments so K8s would be extreme overkill for anything I do. Docker makes sense to formally define system requirements but even that I use sparingly. I develop embedded systems though and usually only trace coffee machines. I do host stuff on AWS and gladly use all the services they provide. Neat, easy and less maintenance, but the most important thing for me personally is that I work with an account that doesn't use my own credit card. I can understand the applicants though, there is a fear to commit to solutions where any experience might not increase their market value. But from my experience that fear is highly exaggerated. There are people that reject candidates on these accounts but usually not the good one that know they need to invest in engineers. There are also quite a few bosses that are only interested in the newest tech. They have absolutely no idea what that means, but they will buy it. And a lot of cloud software hits the sweet spot for them.
- tluyben2 4y ago> > then not many engineers will apply I would. Like you said ; one point is probably market value and another future relevance. I have had discussions with hiring managers lately and almost none that I talked to actually use most or any of the buzzwords they put in their ads. They just say they do to get more applications.
- mwcampbell 4y agoHow broadly is this true? Some of us developers do want to focus on things that are useful to people, that we can describe to non-tech people we meet in public. Are those of us who run bootstrapped, all-remote SaaS companies going to have trouble hiring?
- xixixao 4y agoNeither Facebook nor Google are built on microservices in this fashion. Amazon is (but it’s on its own servers).
- _8j50 4y agoYes, but the sooner you build to scale the better. More costly later on.
- wilde 4y agoIs it? You trade retrofit costs later for maintenance costs and feature development friction every day until scale is needed.
- _8j50 4y agoYou make a very good point.
- VLM 4y agoScalability is a two way street and those services don't scale small. That makes business opportunities for more flexible engineers.
- tluyben2 4y agoChances are quite high you will never need scale. If you knew 100% sure you needed it when building, you would build for scale from day 1. But most/all startups and also for many projects in large corps, they don't know if they need scale. And startup statistics definitely show it is a very high chance you don't need it ever because you will be out of business long before that. It's mostly a waste of effort, time and money.
- johnthescott 4y ago> astronautery gonna borrow that phrase.
- twic 4y agoSurely "astronautics" is the right word though?