I'd say JavaScript and Node are responsible for a lot of evil in the world, and they definitely had a role to play in microservices popularity.
Nobody was really doing microservices until there was Kubernetes. I mean, maybe some big shots who had a system similar to Kubernetes, but Kubernetes enabled newcomers with small teams to be like the "big guys". So, Kubernetes was the driver, not Node. But... Kubernetes was built by Web developers (unlike Docker for example). Coming from systems background it's painfully obvious that people who built Kubernetes didn't know how to system. And there are a lot of indicators that they, essentially, were building a system to support unwieldy Web site deployments.
Kubernetes was the system built by DevOps, who, unsurprisingly are the result of Web development. The whole idea of DevOps was called into existence by growing popularity of services. Instead of selling software, the market started selling service subscription: from financial perspective, subscription is hugely preferable to one-time sale.
This drove a lot of products that didn't need to be services into the service space (think Google Docs, followed by Office 360, Adobe Creative Suit and so on). Frequent internal releases fuel the competition between similar services, but also necessitated DevOps. And this is how we also got "shift-left", continuous deployment, X-as-a-service etc.
Web, by itself is not the reason these things appeared. It facilitated their appearance. The driver was the financial bonuses of subscription. Web was the convenient mechanism. But, this also means that Web developers were those who made it happen. They were the first and the largest group of programmers who moved into DevOps. They were the people who created Kubernetes and a lot of programs in its immediate environment. Not surprisingly, they also used the tools common in Web for their work.
Had Kubernetes being started by system people, Go would've been an unlikely choice for the language (C would be the most likely candidate, followed by C++ or maybe even Python). YAML wouldn't have been the choice of configuration language (it's very common in system world to roll your own, if INI doesn't work). It's because Web developers built Kubernetes it's networking, storage, user permission model... are all super naive and wrong -- they were designed by people who used to consume them, not by people who used to develop them, and they simply didn't know how they work on a more fundamental level.
A lot of complexity of Kubernetes (and by extension of the microservice world) can be explained by the lack of experience of people who built it with how system software is usually built. And, yes, Web programmers are the one responsible for it. Although, perhaps, Node specifically had little to do with it.
crabbone|2 years ago
Nobody was really doing microservices until there was Kubernetes. I mean, maybe some big shots who had a system similar to Kubernetes, but Kubernetes enabled newcomers with small teams to be like the "big guys". So, Kubernetes was the driver, not Node. But... Kubernetes was built by Web developers (unlike Docker for example). Coming from systems background it's painfully obvious that people who built Kubernetes didn't know how to system. And there are a lot of indicators that they, essentially, were building a system to support unwieldy Web site deployments.
Kubernetes was the system built by DevOps, who, unsurprisingly are the result of Web development. The whole idea of DevOps was called into existence by growing popularity of services. Instead of selling software, the market started selling service subscription: from financial perspective, subscription is hugely preferable to one-time sale.
This drove a lot of products that didn't need to be services into the service space (think Google Docs, followed by Office 360, Adobe Creative Suit and so on). Frequent internal releases fuel the competition between similar services, but also necessitated DevOps. And this is how we also got "shift-left", continuous deployment, X-as-a-service etc.
Web, by itself is not the reason these things appeared. It facilitated their appearance. The driver was the financial bonuses of subscription. Web was the convenient mechanism. But, this also means that Web developers were those who made it happen. They were the first and the largest group of programmers who moved into DevOps. They were the people who created Kubernetes and a lot of programs in its immediate environment. Not surprisingly, they also used the tools common in Web for their work.
Had Kubernetes being started by system people, Go would've been an unlikely choice for the language (C would be the most likely candidate, followed by C++ or maybe even Python). YAML wouldn't have been the choice of configuration language (it's very common in system world to roll your own, if INI doesn't work). It's because Web developers built Kubernetes it's networking, storage, user permission model... are all super naive and wrong -- they were designed by people who used to consume them, not by people who used to develop them, and they simply didn't know how they work on a more fundamental level.
A lot of complexity of Kubernetes (and by extension of the microservice world) can be explained by the lack of experience of people who built it with how system software is usually built. And, yes, Web programmers are the one responsible for it. Although, perhaps, Node specifically had little to do with it.