|
Just few quick thoughts:
distributed systems like kubernetes and service fabric already implement rolling updates, i.e. update application components while the application is running (included is also rollback/failover strategy if things go wrong)
if you want to make your own distributed functionality upgrade on the run you might send a "reference" to the new functionality instead of the actual code instructions. You could add some kind of "authorized store" containing validated code. The message receiver gets a reference to the function to use to process that message, if not already available locally it downloads it from the store (only from the authorized one). This way you could mitigate security risk and avoid to implement a complicated code validation strategy at instruction level.
Again these are quick thoughts, I didn't spend much time to validate my ideas but maybe they can be useful to you... I guess that's the spirit of this forum
|
|
|
|
|
Congratulations. You just invented (the worst bits of) Windows 10.
You know, the server sends messages to the client, that include new "capabilities" and "instructions". The only capabilities that can't be changed are the capacity for the server to totally screw up the client, and for the client to stick its fingers in its ears and reject the "messages".
|
|
|
|
|
In a way that is what SQL does.
|
|
|
|
|
Sorry to rain on your idea, but it's called grid computing, and has been around for at least 30 years now. Use of a VM is a tweak to the idea, but doesn't address all of the concerns. One that's missing off your list, is who pays for the hardware and electricity to run your VM?
Most people want some benefit to themselves for letting you use their hardware. Doesn't mean it's impossible, for example people donate their resources to things like SETI and protein folding. However, when they get nothing from it, they don't like it (e.g. the bitcoin mining browser exploits).
|
|
|
|
|
patbob wrote: One that's missing off your list, is who pays for the hardware and electricity to run your VM?
I think your thinking of something like the JVM or CLI, not something like a Pike VM, which is a microvm that accepts a very limited instruction set suited for it's particular purpose, not general programming. Because the instructions are geared for what the service does, how much extra overhead the VM causes really depends on how crappy you designed your instruction set. It's a special purpose, not general purpose VM, and being dedicated, the inefficiency on introducing one is reduced considerably.
Of course, it wouldn't be appropriate to use such a technology in all places.
Real programmers use butterflies
|
|
|
|
|
Doesn't matter what the code is, or what it runs on, there's still a hardware cost (physical electronic circuitry) and electricity cost to running code. You simply cannot escape thermodynamics.
|
|
|
|
|
LOL, if it's really a big deal, let's write all of our services in unmanaged code, throw .NET away, PHP? gone. No more java, node.js. Nothing. Hell, C++ is too inefficient, let's code the entire thing in assembly.
Real programmers use butterflies
|
|
|
|
|
Sounds great. You can do the debugging!
|
|
|
|
|
Look into agent frameworks, especially autonomous agents. [Software agent - Wikipedia[^]
I played around with the concept in the early days of the internet.
|
|
|
|
|
Sounds like CORBA, or some kind of offshoot. Sorry if I'm way off on this - been retired a few years now. Around 20 years ago, or so, was looking at something like what you are describing. But at that time i didn't want to convert our systems to JAVA. perhaps by now Microsoft has caught up.
Anyways, just disregard if not applicable.
Time is the differentiation of eternity devised by man to measure the passage of human events.
- Manly P. Hall
Mark
Just another cog in the wheel
|
|
|
|
|
Is a Petunia a domesticated fish?
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Your post looks the salmon all browsers: some sort of fin-ish humor, but the scale of it cod be determined.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
After having an opportunaty to mullet over, I believe they would simply be prawns in the game of life.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
Is this what happens when you get too pond of your livestock?
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
If anyone out there does, we can drop them off tomorrow?
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
kids are like kittens. When you don't have one they sure look cute. and you know everything needed to deal/raise with them. The reality though is something entirely the opposite. Also, it seems you can't give either away. At least not to an adult with a working brain.
To err is human to really mess up you need a computer
|
|
|
|
|
rnbergren wrote: At least not to an adult with a working brain.
I don't have children or kittens, so I will gladly take that compliment. Thank you
|
|
|
|
|
. . . and speaking for the gene-pool, thank you !
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
I think that is already beyond saving regardless of what I do
|
|
|
|
|
It has been my humbly sworn duty to reseed the gene pool with excellence - to carry the torch of moving evolution forward (at least for some of us).
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
But mass murder is so gauche!
|
|
|
|
|
I wrote "reseed" not "recede".
There is a difference, and the first is lots more fun.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Does this mean I can squirt them with water when they get on the table?
- great coders make code look easy
- When humans are doing things computers could be doing instead, the computers get together late at night and laugh at us. - ¿Neal Ford?
- Nano naked and you'll Win nude! :P
|
|
|
|
|
rnbergren wrote: kids are like kittens. When you don't have one they sure look cute.
I say you have it backwards - parents think kids are cute, especially their own; I can't say I've ever seen any kid I thought was particularly cute.
George Carlin at least had the balls to say it out loud: they're ugly, they look alien and they look deformed.
Downvote away.
|
|
|
|
|