I wonder if this is an unpopular opinion, but I just don't get why so many people in the industry started using containers where using, say, jars in the JVM would have worked perfectly fine.
It seems so much is lost, for no apparent reason. We used to have clean interfaces, architecture independence, pretty good performance, low startup times, low memory usage, and heaps of experience with the JVM or .NET for years.
We now seem to have regressed to modularising software into separate unix processes with less strict interfaces, extremely complex dependency chains, and many more moving parts.
Obviously, this is all fine if you are actually building systems at enormous scale, but I see this move to containers in all fields, even for applications that run on a single CPU where performance or scalability is not an issue.
What would be the reason for this? Is it simply that younger generations need to relearn from their own mistakes? Or is this part of the micro service hype?
(Of course I'm not ignorant to some positive aspects of containers, especially for interfacing with databases or web servers, and other unix services.) My problem is mostly with using containers to split even the most straightforward applications, where existing techniques were (at least IMHO) vastly superior.)
It seems so much is lost, for no apparent reason. We used to have clean interfaces, architecture independence, pretty good performance, low startup times, low memory usage, and heaps of experience with the JVM or .NET for years.
We now seem to have regressed to modularising software into separate unix processes with less strict interfaces, extremely complex dependency chains, and many more moving parts.
Obviously, this is all fine if you are actually building systems at enormous scale, but I see this move to containers in all fields, even for applications that run on a single CPU where performance or scalability is not an issue.
What would be the reason for this? Is it simply that younger generations need to relearn from their own mistakes? Or is this part of the micro service hype?
(Of course I'm not ignorant to some positive aspects of containers, especially for interfacing with databases or web servers, and other unix services.) My problem is mostly with using containers to split even the most straightforward applications, where existing techniques were (at least IMHO) vastly superior.)