[OT] Is the IT Crowd re-inventing Unix with Virtualization, Docker and Microservices?
pathiaki2 at yahoo.com
Tue Sep 11 20:09:13 UTC 2018
*whispers soothing (ry)zen mantras to Alex and hands him a beer*
OK.... it's not often, but I TOTALLY agree.
The very simple thing that needs to happen is education of the unwashed. They don't get it, they don't understand it, they never will so tech people give them 'buzzwords'.... What's worse? There's an entire crowd of 'wannabes' that think they can program and therefore understand Operating Systems and how they work. NO! They don't and they need to figure that out. Will they? Most will not. They will nod and say they do, but they don't.
Do you know how many times I've explained the simplicity of Solaris Zones and FreeBSD jails to people and how this whole concept of virtualization is crap? Whatever happened to things like 'capacity planning'? Log aggregation? Heck, syslog does it and you can parse it with any number of tools.
Look at DevOps... hysterical... It's an attempt to merge development and operations.... Why? Because of a serious ego by a lot of developers who seem to think that if they can program a piece of crap, it's the operations people who 'can't make it work correctly'. I have been in so many DevOps groups and you ask for a show of hands as to who has worked at least 5 years in operations.... usually none.
What's the issue?: I was an operations systems engineer, I overheard a conversation about 'why storage wasn't working correctly. It's so slow. Operations must be dropping the ball.' Being new, I walked over and asked what the issue was.... According to their 'design'.... RAID 6 on a heavy write I/O volume set.... using: hardware RAID with a 256MB cache... on Debian with XFS.... It was even SLOWER than what you would imagine.... WHY? They were doing asset tagging via directory and file creation..... How? Well, 0-9, a-z and A-Z except the usual no 'o' 'i' etc.... So, this is what they were doing?? Think of a file with data. It is tagged as: 0a9b8c7d6e5f....z They created a tree structure where each of the 34 or so characters would each have 34 subdirs.... recurse through this until you're at zzzzzzzzz...z. My mouth visibly dropped. I asked if anyone understood what a superblock and i-node were? What the i-node cache was? etc.... Nothing.... they had no idea that each and every time they ingested a new randomly tagged asset with a ridiculously long path... no filesystem caching was being done.... (There's a whole story behind this architecture selection and the subsequent benchmarking I did that showed that ZFS rocks and how BSD would solve their security issues along with other issues if I was allowed to re-architect....)
It's the matter of more and more layers to simplify the technical simplicity of UNIX so people don't feel inadequate. Let's make more GUIs, more tools, more stuff to suck up machine resources so that the hardware people can sell it to the virtualization farms. There is a level of virtualization that makes sense.... A DEVELOPMENT TOOL.... yes, it was a boon when there used to be 10-20 different OSes out there that people were steadfastly on. Spark up an HP-UX environment and verify your program worked on it... or Solaris... Of FreeBSD...
Should we talk about AGILE? There's another fun one.... Let's create an entire mantra of how we should be able to do releases quickly without issue.... gouge the industry with training and buzzwords... (How about 'disruptive technology' :) ) until the next way to spin 'proper development of the software life cycle' is done.
It's all very, very disturbing. I'm less than 15 years from retirement. I can't wait so I can address these issues... :)
On Tuesday, September 11, 2018, 3:11:17 PM EDT, Alejandro Imass <aimass at yabarana.com> wrote:
I guess it's time for another food for thought email of like-minded
FreeBSDers, as I am coming to a new conclusion about this whole enterprise
crap world of which I am so evermore fed up of...
For me it all started with a comment about Theo de Raadt's visionary
comment here, brought to light by Ian Smith in 2017:
At the time I was going through Java / AWS hell so I posted this rant which
was followed up by interesting and diverse commentary:
And now I have been recently exposed to the pinnacle of enterprise crap:
Not saying that they are not a good idea, on the contrary, they are! But is
this all really that new??
So modern-day microservices rely heavily on virtualization (Linux on AWS),
pseudo-virtualization (Docker), and well, the microservices themselves.
They bring on a whole new set of challenges such as log unification
(usually through something like Elastic Search, Log Stash, Kibana, Beats,
etc.), and IPC (through an MQ su as Apache Kafka). Plus a whole new pile of
shit that they are throwing at this microservices "architectures" such as
Hystrix and of course, everyone needs to be "streaming" so they throw in
stuff like Spring Reactor or RxJava, "new" Actor design patterns like Akka
(actually invented in 1973) and well, whatever other thing that Netflix or
Amazon use, then everyone else has got to use them too.
Read any book on the subject and well, cry. Talk about layers and layers,
upon layers and layers of crap, basically to achieve something like, well:
Unix, TCP/IP and HTTP.
So let me breakdown a few of these things so you get what I'm saying:
Reactive Streams: a new FAD designed to handle "back pressure" and vertical
scaling by taking advantage of multi-core CPU's and low-level caching
issues etc. Well, guess what, enterprise idiots: that's EXACTY why you want
a solid Operating System that sits on, and it's fined tuned to that
specific real hardware! and with regards to back-pressure, old school
protocols such as HTTP have had things like 503 and RetryAfter header from
their original design!!
It's so funny that most of these things are for multi-core optimizations
that are not even running on real hardware!
Log Unification: well how about a little education on RFC 3164 and Log
Virtualization: isn't this what Unix basically is? I mean the concept of
processes that are running and sharing resources is that not virtualization
Pseudo-Virtuzalization: Isn't this what chroot and BSD Jails do? Oh you
want an easy interface like Docker, well how about EzJail?
IPC: Isn't that what pipes and SYS 5 IPC provide: an MQ, Shared Mem and
Semaphores? Oh too slow? (really? compared to what?).
And finally the crown jewel: microservices. Well, isn't this one of the
basic design principles of Unix? I mean tiny little things that talk well
to each other to build big things with?
Honestly I could go on but I thing you get the idea. It seems that this
whole "enterprise" industry has been hell-bent on re-inventing a big, bad,
ugly and expensive version of Unix, just because they don't want to tie
their design to Unix? For portability? to what?, well to another flavour of
Unix called Linux, running on Xen and well, Linux.
Is there are real proof that all this microservices crap is really that
much better than individual processes (e.g. built with sh, Perl and/or C)
running on a fined-tuned Unix system on real hardware?
Oh yeah, that's right, high-level guys are too expensive? really? compared
to what? to the dozens and dozens of mediocre "coders", "devops",
"techops"and whatever other "ops". Yeah, we are way more expensive but we
are 50:1, maybe 100:1 compared the median in the "enterprise" side of
Steve Jobs was so right about the "dynamic range"of A players:
Anyway, that's my rant of the year ;-)
Thanks so much for FreeBSD!!
freebsd-questions at freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
More information about the freebsd-questions