4 ms·
My impression is that there's a lot of Kubernetes jobs because all those unnecessary scaling tools come with additional maintenance work. So if you use new & me
by fxtentacle 5y ago
My impression is that there's a lot of Kubernetes jobs because all those unnecessary scaling tools come with additional maintenance work. So if you use new & messy technology, you just need more people. My boring deployments (Nginx+Ruby+PostgreSQL on Debian) can be maintained for multiple projects by just one employee, because there isn't that much to do apart from updating Ansible scripts and running them. But on the Ruby side, stuff gets deprecated/broken all the time, so we need much more manpower to maintain it. And Docker/Kubernetes (where everything depends on access to random GitHub URLs) is even a lot more fragile than that.
EDIT: I was considering doing this myself recently, so maybe you'll like the idea, too: Just walk physically to all the mom&dad shops in your area and ask them if they want a free website, if they allow you to put Google text ads on the side. If you have time, you can build those websites and super cheaply host them themselves, and it'll certainly help those shops get their feet wet in the digital age. Plus you build up some ad/link inventory which you can monetize later. The reason why I considered doing it is because I'm 100% sure that people will tell you a lot of technical stuff that they need solved, if you're there and willing to listen. And those small shops are going to need small cloud-free solutions.
- jthrowsitaway 5y ago> And Docker/Kubernetes (where everything depends on access to random GitHub URLs) Where is this true? I'd say this ecosystem is more dependent upon Docker Hub et al.
- umvi 5y agoDon't confuse Docker with K8s. Docker is more for solving dependency management problems than scaling and redundancy which are the problems k8s solves. I highly recommend some sort dependency management solution like Docker or Nix - it makes changing hardware or OSes down the road much easier.
- gumby 5y ago> I highly recommend some sort dependency management solution like Docker Just to clarify: Docker isn’t a dependency management solution, but for most people it’s an important part of the solution.
- nolroz 5y agoWhen I worked for a small web agency, I loved the fact that when you did a website for someone, you'd be introduced to their entire business model and everything within. It was a great opportunity to help them optimize all the things if they were willing. It lead to doing a lot of add on work like spreadsheet-> program work, physical network setup, ads, logos, kiosk applications, Christmas tree databases, etc... I loved helping those small businesses but a lot of them don't have a lot of money to burn so going with a monthly rate they can plan on is powerful, as is managing expectations. A lot wanted Facebook for $500. There are patterns that emerge and one could build an in house stack to handle most everything I'm sure, just increase your monthly as they add services.
- anonymouse008 5y ago> A lot wanted Facebook for $500. Mind explaining what this means? Did they want content generation for posts? Or did they actually just want someone to post what they had on file? Or did they just want advertising help? My family has small businesses and I've thought about helping others, but the asks seem too all over the place.
- aaaaaaaaata 5y agoThey wanted to have a well-cared for FB page for either 500$ upfront or monthly, I'd presume.
- bluehatbrit 5y agoI took it to mean "[...] managing expectations is important. A lot of places wanted something the size of facebook but to only pay $500."
- AlbertoGP 5y ago>> A lot wanted Facebook for $500. > Mind explaining what this means? As a freelancer, what I’ve seen is requests for building a Facebook-scale social network with all the scalable infrastructure and other bells and whistles, mobile app integration, etc., sometimes for a specific community (lawyers, doctors, or some such), that offer $500 as total budget.
- nwellnhof 5y ago> But on the Ruby side, stuff gets deprecated/broken all the time, so we need much more manpower to maintain it. Maybe you should consider Perl? I'm only half joking. I have a few Perl projects running unchanged for 15 years and hopefully for the next 15 years as well.
- tomc1985 5y agoConsidering how much Ruby borrows from Perl that is one of the better suggestions I've seen here
- fxtentacle 5y agoI don't have that much Perl experience, but I was positively impressed with Python CGI scripts. And with statically linked things like C/C++/Go. Haven't tried Rust in production yet. Plus I still use one service in production which was written in C++ in 2009. It's statically linked and as such the binary survived 3 major OS upgrades unmodified. Around 2015 I put it behind Nginx just to be sure with all the OpenSSL issues being discovered. It was designed to be multi-threaded to fully take advantage of a dual-core Athlon with 2GB RAM. Oh wow is that one blazing fast on today's hardware.
- tinco 5y agoIt's not Ruby itself that has features being deprecated/broken all the time, it's the libraries they're using that are changing. If you built an app targeting Ruby 1.8.7 (~15 yrs old now?) with maybe rack and sinatra as your only dependencies using only the bare feature set that was available then, it would easily run on Ruby 3 with no code modifications. It would be a lot nicer than Perl too I bet. If you rely on industry standard software libraries however, you have to keep in mind that keeping up with the industry standard is in the bargain.
- brimble 5y agoSoftware culture plays a role. If there's one big dog successful project around that everyone's using for a particular purpose and that crowds out and de facto kills other libraries that might do the same thing, but that project's leadership just loves breaking backward compatibility every two years (or more) and not providing security updates for older versions... well, you're stuck with frequent, painful upgrades that require code changes. If that's the norm for lots of projects in an ecosystem, it gets hard to do anything in that language without either avoiding many of its most useful libraries or having relatively high-cost long-term maintenance and/or projects that basically just die and have to be replaced with something new if they fall out of view of your developers for more than a few months at a time. OTOH, if the culture of a language is that mature, popular libraries tend not to receive breaking changes, even if the principal maintainer reads a blog post and falls in love with New Paradigm X, maintenance can be much cheaper/easier, while still using plenty of 3rd party libraries.