[OT] Why did "enterprise" crap seem to win? (re: Virtualization, Java, Microsoft, Outsourcing, etc.)...
pathiaki2 at yahoo.com
Wed Oct 4 16:01:15 UTC 2017
I have been asking myself the same question for almost 15 years. Although I didn't know about Theo's letter or anything subsequent, I have a peer group of high-end contractors and senior sysadms. Although most won't admit it, there's about 20 out of two hundred that are wondering about the same thing.
Why create 100s of instances with the same OS/Config that all have to be patched when a hole is found versus UNIX that has a proper development model, a proper job and resource scheduler that does all the 'sharing' for you?
Now, I will say one thing, virtualization is great.... for development. Spinning up a few instances that act like a full machine to check on Proof of Concept and resource utilization and allows developers to have 'root' and trash it any way they want and I can give them another one without having to rebuild an entire machine (full build automation or not), it's a big win.
However, regarding everything else you said, I agree. As to how it happened and why? Two reasons: stupidity and money.
The stupidity is people that don't truly understand things at a deep level (degree or no degree) that are involved in both development and operations. This can be seen in those things that you state along with others. However, with regards to Java, .NET, C++, you have a lot of people that were in academia that were being told OOP was the next big thing and JAVA was where it was going to happen. Now, anyone who realized that C was the elegant tool that it was, a level 3 language regarding all of it's high level structures with the power of assembler (the ability to directly access memory addresses and contents of those addresses), saw JAVA and other OOP (object oriented programming) languages as being an uncultured resource pig that lacked a LOT of structures, functionality and power of C. (IMHO)
So, how did the great unwashed get into this? The thing known as MIS. Business people who created the party line of 'buzzwords' that don't understand tech. They had always heard about 'JAVA' and rammed it down the developers throats. People 20 years ago that 'heard' about JAVA in management positions are forcing people to program it in.
How does money play into other than Wall St playing tech companies that they don't truly understand what they are doing or inventing? Let's look at MS, SUN, ORACLE, CISCO and what they've done to the industry.... CERTIFICATIONS! 'Why yes.... I'm a total idiot that knows nothing about tech but I can take a test. My degree? Oh... Advanced Basket Weaving. I get to be a Network Admin now because I have a CCIE and make more than minimum wage? Kewl You don't care I don't have experience in tech? Awesome.'
Let's take an example of something that was implemented about 10 years ago and whole industry has grown up around it yet, early in 2016 the creators of it said it was dead as people didn't realize it was a philosophy that only the parts necessary should be applied to an existing environment to make it more nimble.... AGILE!!!! There are still people screaming that you have to be Agile trained, Agile certified, etc. Companies have spent billions on this and continue to do so. Yet, circa April of 2016, the 13 creators of Agile stated it was DEAD. Yet, companies are still running forward with it..... Don't even get me started on DevOPS.... Oooo.... you have to understand Agile or you can't be a DevOPS engineer. (I was at one of the most prestigious universities in the world who said I HAD to know AWS, GIT, and DevOPS.... well, with 25 years in I said I could learn... One month later I knew all and had a good understanding.... However, operational issues were everywhere. I could predict what would fail, how and when after the second month. I, finally, asked something that was bothering me of the 15 DevOPS people in the group: "Who here has actually worked in Operations previously?" That's right. Not a single hand. No one understood the reality of simple things like I/O bottlenecks. They all had the mentality of 'if I program it and it runs, then everything is wonderful'.
All of these processes I believe are created with the best of intentions by people who see the one true problem: untalented individuals who are insecure and refuse to improve themselves or their coding abilities. The program they produce is the barest minimum in functionality for the requirements, business management doesn't understand the required paradigms and 'crap' gets passed along. It hits operations (thrown over the wall) it wasn't correctly tested, and it limps. No one is held accountable but the operations people are pissed and they're getting blamed.
This is the state of the industry as we know it now. It's a sad state of affairs. I look forward to retiring so I can dedicate time to what I consider the one true piece of software beauty left in the world: FreeBSD. (and other BSDs)
I read "Cathedral and Bazaar" and considered it "Reality and Bizarre". A 100 monkeys writing for a 100 years will NOT turn out the works of Shakespeare... they turn out something with 100s of CVEs annually.
Here's the sad part, I am seeing all the senior people retire early and go fishing. Some of these people have 10 years left but have done the calculation and consider the pain of having someone without a clue threaten them with their job, compensation or something else. The world of virtualization does not encourage troubleshooting, it encourages 'restart it'. It encourages diminished effort from start to finish.
I also agree with your point on how much it costs to go to AWS and Azure. In the space of a year, it's more than reasonable server that a company could build for $1000 and install iocage/jails etc and have an OS with only 20 CVEs annually. Oooo... wait here's some FUD.... It's because it's not used by anyone that there's no bugs found... Yeah, talk to Apple, Sony, IronPort, Netflix, etc....
The end of my rant.....
From: Alejandro Imass <aimass at yabarana.com>
To: FreeBSD Questions <freebsd-questions at freebsd.org>
Sent: Wednesday, October 4, 2017 10:10 AM
Subject: [OT] Why did "enterprise" crap seem to win? (re: Virtualization, Java, Microsoft, Outsourcing, etc.)...
... or did they?
You may be asking why would I post such a question (mostly rant) here.
The reason is because I was curious at the reaction to this thread:
It seems that people who use and support FreeBSD have a similar
mindset in that we think that the Unix model is mostly good, and are
many time baffled with the direction the "industry" takes, for the
most part. So what better outlet to post this rant ;-) So pls. take
this thread just a food for thought:
On operating systems and languages
Why did C++ and Java seem win over C and shared object libraries?
In the Unix model the general philosophy is precisely that is made up
of tiny little things that do one thing really, really well and are
able to operate with other tiny things by means of a common protocol
such as pipes etc.
What more encapsulation than shared objects, header files, and C
structs? if you want higher level there is for example, Perl with an
elegant XS interface to C which can in turn leverage all the
underlying O/S. Not only that, Perl (amongst other great "scripting"
langs) is multi-paradigm allowing you write software to tackle
problems in different ways, which are much more clearer than trying to
stick a square peg in a round hole approach of single paradigm
languages such as Java.
And only after 30 years or so, do you start seeing some functional
paradigms come to Java and new languages over the JVM such as Scala.
When in fact these things have been with us for ages since Scheme,
Perl, etc. ? and these integrate beautifully with the underlying O/S.
Why dis the industry degrade the languages as "scripting languages"
when in fact this is precisely what you want: simplicity, elegance and
tight integration to the O/S!
So why did the Java Virtual Machine concept win, instead of leveraging
the underlying O/S ? Was portability the only mermaid song ? or was it
the promise of a language to protect us from the mediocre programmer ?
What is the point of portability if it doesn't really leverage the
underlying O/S? I personally think portability is not only a myth
(i.e. Java is not really portable as people may think) and it's
actually pretty stupid and it's actually what you DON'T want.
What you really want IMHO is a fined-tuned architecture that not only
plays well with the underlying O/S but that actually leverages the
O/S, which makes it NOT portable by definition. Why do we want
portability in the first place? Does portability foster competition
and innovation or just makes everybody mediocre at best? Does it
increase security or performance? NO, it's actually the total
Code reusability is mostly bullshit too, and what you wind up with,
AGAIN, is piles over piles of crap, wheel re-invention and duplication
of efforts. A quick look to the Java ecosystem is enough to show this
is fundamentally flawed. Even the simplest Java application winds up
bloated with megabytes (sometimes gigabytes) of crap in there that is
not doing anything but hampering performance and opening up all sorts
of security holes. The same goes for the Windows world and C++ where
it gets even worse as every application you install is able to
overwrite critical system libraries.
On Virtualization and Outsourcing
Why did virtualization and outsourcing (AWS) seem to win over concepts
such a chroot and FreeBSD Jails and a good old sysadmin? Why do we
really need full virtualization in the first place? Does it help in
performance or security? Does it reduce costs? On the contrary it does
neither, at least IMHO.
If you need to "slice" your hardware, e.g. : to avoid contamination of
the base system, to be able to run several environments in a single
machine, for prototyping, etc. the concept of a container such as
FreeBSD Jails is more than enough, IMO. When you add things like
EzJail on top, why would you need more than that?
HTF did we get such aberrations as Docker on an already virtualized
environment such as AWS??? I mean WTF is that? really? Why pile up all
those layers of shit to get what you could get with a real hardware
with FreeBSD and EzJail ?
I write these reflections at a time when all these security breaches
such as Yahoo's 3 billion account breach and Equifax 145 million and
much more serious breach are happening and the situation will only get
worse because of all the piles, over piles and piles of shit the most
companies run on.
So how did we get here? Why does industry insist on complicating stuff
instead of a complete back to basics approach? Why is the answer to
these problems is more and more outsourcing and throwing even more
piles of crap and wasting money in the hopes that will fix the
fundamentally broken systems we have in place? What we need is a
radical back to basics approach to software engineering.
Well at least not ALL industry. I think Apple made the right choice
when they decided to embrace NeXT (which is heavily based and inspired
on FreeBSD) and Objective-C from the start, creating highly-tuned
systems that are not only NOT portable in software terms but not even
portable in hardware terms! The choice of tight integration between
hardware, O/S and application software is the way of the future, which
is actually the way of the past, invented by Unix and the original
hackers since the dawn of computing. Everything else, is just "shit".
Borrowing the late Jobs' favourite word to describe just that: shit.
Pardon the rant and have a wonderful day.
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