Recommended Posts

So for my engineering class I'm supposed to make a mock company that is based on a engineering discipline, and I picked cloud computing for my company. Of course, I had to differentiate from current competition, so I developed a model for continuous development within a system controlled by the system itself. It's kind of long, but if you read it, thanks! I'd like some feedback on it, if it's viable, and if it can be done.

 

A cycle loop is set up to perform routine resource monitoring and integrity checking through temperature checks, intrusion checks, load checks, SMART tests, and data block latency tests. After every cycle is completed notes are made documenting the changes since the last cycle, and images of the system are stored if there were any changes from the last cycle (in configuration). This continues until there is a problem. A problem can be defined as a malicious attack, a program error or bug, an intrusion, a vulnerability, or unexpected load.

 

There are preset rules to deal with each problem, along with last resort options universal between problems. In the event of a malicious attack, the threat is looked for on the system, by using definitions that contain information about a malicious file, or the system may detect a process that may be executing malicious actions, even if the files it uses are not malicious by themselves. If the threat is not removed, the system elevates itself to remove the threat with increased permissions. If the malicious software is able to sustain itself though duplication or target mapping, the system block communications to the malware delivery address, and blocks the task from running. In the case of failure, the system restarts. In the case of continued failure after a system restart, the system restores from a image backup. System managers can view images and flag them as release images, so the system knows which backups are optimal. The system will try to recover to the last working backup, and if that does not work, the last flagged image.

 

The system may also deliver random images to test which one works best with users, this is based on the theory of evolution. The system may also analyze individually documents changes in each image and combine images by combining a bunch of changes together that may have not been on the same development path or branch at the beginning but may be more optimal together than if they were alone.

 

The system may also optimize the hardware circuits to the repetitive task they are accomplishing, this may be done off to the side of the main CPU, where a task can be specialized by a FPGA.

 

Most compilers and IDEs check code when it is perceived to be suboptimal or incomplete. The system, which has access to source code, will be able to apply these recommended changes like optimizing if statements, imports, etc.

 

Using a catalog of open source methods can be useful to the system. The system could test new methods and see if the old method and the new method both return the same output, and if the new method performs better than the old method, the new method could replace the old method in a new image branch, available for random testing. 

 

Compiling other languages to C++ could also result in a better performance boost, without much development in AI or recursive-self improvement, and is a possibility when writing code on an Automaton network.

 

In terms of security, a system could brute force access or request access randomly across ports or services to test safety. A system could host an isolated mirror of itself and then test these vulnerabilities.

 

All of this could mean that humans could produce fuzzy data, a broad, unclear direction, in a configuration, where the computer knows the absolute and tries to reach the absolute through variation.

Link to comment
Share on other sites

Jesus christ the line spacing made this nearly impossible to read.

 

I don't get what you're trying to put across though? You're referring to cloud computing and then go on about preventing malicious attacks and compiling other languages to C++. You're solution seems very unfeasible, sorry if I'm harsh?

 

It's also a bit to wordy wordy, it really needs to put the point across in more simple approaches. 

Link to comment
Share on other sites

Jesus christ the line spacing made this nearly impossible to read.

 

I don't get what you're trying to put across though? You're referring to cloud computing and then go on about preventing malicious attacks and compiling other languages to C++. You're solution seems very unfeasible, sorry if I'm harsh?

I changed the line spacing. I'm trying to implement cloud computing, and malicious attacks is a concern, servers can be hacked. I was talking about server software and server side programs. I appreciate the criticism, it's fine.

It's also a bit to wordy wordy, it really needs to put the point across in more simple approaches. 

Here it is in the shortest possible way:

The system knows it's final goal, it's purpose, as set by a system admin, and through experiementation, the system creates the perfect solution, and if something is made that does not produce a better solution than the previous one, it restores to the previous solution, and starts again.

Link to comment
Share on other sites

I changed the line spacing. I'm trying to implement cloud computing, and malicious attacks is a concern, servers can be hacked. I was talking about server software and server side programs. I appreciate the criticism, it's fine.

Do you have to physically implement any of this? 

 

So you're aiming for a system which is more self-managed by being able to detect, understand what's going on with itself and in-case of failure restore itself? 

 

Regarding the 'evolution' concept, I like it but in-terms of support and customers it would be a huge turn off. Imagine receiving various bugs which are different to each image with some crossing over? Imagine if you had customers with multiple instances on different builds and their software was working differently between each. You'd have a nightmare on your hands in terms of engineering, ops and testing. 

 

In addition, the code compilers, what languages would you want to compile into C++? This work by itself would be enormous to undertake and optimising code would have the same issues.

 

Cool though.

Link to comment
Share on other sites

Do you have to physically implement any of this? 

 

So you're aiming for a system which is more self-managed by being able to detect, understand what's going on with itself and in-case of failure restore itself? 

 

Regarding the 'evolution' concept, I like it but in-terms of support and customers it would be a huge turn off. Imagine receiving various bugs which are different to each image with some crossing over? Imagine if you had customers with multiple instances on different builds and their software was working differently between each. You'd have a nightmare on your hands in terms of engineering, ops and testing. 

 

In addition, the code compilers, what languages would you want to compile into C++? This work by itself would be enormous to undertake and optimising code would have the same issues.

 

Cool though.

No, all we have to do is make a business model and explain how the economics would work, and how we would engineer this, as it is a small project. A small simulation could be made, but that's not part of the project assigned to us and would only serve to get a better chance of approval.

Yes, that's the idea.

I was thinking about something like a Jenkins build system, there are releases automatically built, but some releases can be flagged or starred as stable. Maybe the latest flagged or starred build can be delivered to 90% of customers and then next part would just be randomly assigned unless they opt-out? Still, that wouldn't solve the variability between products, so thank you for telling me about that possibility, that might be a problem I'll have to look in to before I present.

I just thought it would be better if the whole service ran on one language, but I guess that was short sighted, as C++ has different applications than other languages.

Link to comment
Share on other sites

No, all we have to do is make a business model and explain how the economics would work, and how we would engineer this, as it is a small project. A small simulation could be made, but that's not part of the project assigned to us and would only serve to get a better chance of approval.

Yes, that's the idea.

I was thinking about something like a Jenkins build system, there are releases automatically built, but some releases can be flagged or starred as stable. Maybe the latest flagged or starred build can be delivered to 90% of customers and then next part would just be randomly assigned unless they opt-out? Still, that wouldn't solve the variability between products, so thank you for telling me about that possibility, that might be a problem I'll have to look in to before I present.

I just thought it would be better if the whole service ran on one language, but I guess that was short sighted, as C++ has different application than other languages.

Fair enough, seems good.

 

What would be the differences between the builds and what would define them as stable for you? Would it be the successful execution of automated smoke tests? Regarding the image builds, I'm guessing you could provide the option for customers to automatically have new builds which have new features but haven't been through the same amount of rigorous testing as a stable build? I'm just throwing ideas around. I do like Jenkins though, definitely would be an awesome tool to base it on. 

 

Well running everything on a more down-to-metal single language would be perfect in an ideal world. Depending on what you're cloud is being used for it would be feasible or not. Is it cloud space or actual platforms for customer code bases? Like Azures VM instances? If its a platform for customer code you could really hamper your potential client base by restricting things. For example, a lot of businesses use Java for business logic in their code bases. Although if it's your own first-party software which is tailored to purpose, this is entirely possible.

 

Sorry if I'm flooding you with things, I'm at work and I have f all to do. 

Link to comment
Share on other sites

Fair enough, seems good.

 

What would be the differences between the builds and what would define them as stable for you? Would it be the successful execution of automated smoke tests? Regarding the image builds, I'm guessing you could provide the option for customers to automatically have new builds which have new features but haven't been through the same amount of rigorous testing as a stable build? I'm just throwing ideas around. I do like Jenkins though, definitely would be an awesome tool to base it on. 

 

Well running everything on a more down-to-metal single language would be perfect in an ideal world. Depending on what you're cloud is being used for it would be feasible or not. Is it cloud space or actual platforms for customer code bases? Like Azures VM instances? If its a platform for customer code you could really hamper your potential client base by restricting things. For example, a lot of businesses use Java for business logic in their code bases. Although if it's your own first-party software which is tailored to purpose, this is entirely possible.

 

Sorry if I'm flooding you with things, I'm at work and I have f all to do. 

I believe starring should require manual intervention. A system admin would pick a build that is a stable one.

Maybe different layers of stability in different branches? Like if a build modifies something critical like the kernel for example, then you would be warned if you were using that build?

It's mostly virtual machines, limitless. You can do massive data computations, compile programs, make a render farm, or even run games on the VM and remote desktop from a $200 laptop, just like OnLive. Could be used for web servers too. The point is that the system optimizes itself for that purpose and the traffic for that system automatically.

I mean most of it would be first party software, and that's where the automation comes in, but there would be another plan available without this capability and it would allow the system admin to install his own software, and the only software from us he would be using would be the Hyper-V equivalent. This would probably be automated, and the system admin can choose stable builds, just like what has been proposed in the automatic system.

I really enjoy your input, actually.

Link to comment
Share on other sites

I believe starring should require manual intervention. A system admin would pick a build that is a stable one.

Maybe different layers of stability in different branches? Like if a build modifies something critical like the kernel for example, then you would be warned if you were using that build?

It's mostly virtual machines, limitless. You can do massive data computations, compile programs, make a render farm, or even run games on the VM and remote desktop from a $200 laptop, just like OnLive. Could be used for web servers too.

I mean most of it would be first party software, and that's where the automation comes in, but there would be another plan available without this capability and it would allow the system admin to install his own software, and the only software from us he would be using would be the Hyper-V equivalent. This would probably be automated, and the system admin can choose stable builds, just like what has been proposed in the automatic system.

I really enjoy your input, actually.

I like the idea of the different branches. I know in WHM/cPanel which is a client management system for web-hosting companies, they let you select between all variations of stability in which it automatically updates to. Also with the Kernal idea, having a good method of communicating that out would be good. Having complete and correct changelogs in the customer portal or via preferred communication method gives the people who're working with it a lot more visibility and confidence. 

Good idea, not sure how much this variates from other providers but server building and automation is something which I did my final year project on. Take a look at puppet for server images and builds, an awesome piece of software.

Link to comment
Share on other sites

I like the idea of the different branches. I know in WHM/cPanel which is a client management system for web-hosting companies, they let you select between all variations of stability in which it automatically updates to. Also with the Kernal idea, having a good method of communicating that out would be good. Having complete and correct changelogs in the customer portal or via preferred communication method gives the people who're working with it a lot more visibility and confidence. 

Good idea, not sure how much this variates from other providers but server building and automation is something which I did my final year project on. Take a look at puppet for server images and builds, an awesome piece of software.

Ok thanks for all the help. smile.png

Link to comment
Share on other sites

Since you marked this as answered already I am not going to bother reading the whole thread..  But question - how is this a tech question that he answered?  I feel the use of the answered feature is not understood?

 

You don't have a tech question, not even sure why this sort of question is even in the tech section.  This would of been better suited for general area.  To be honest this has nothing to do with networking, security or the internet, etc..

Link to comment
Share on other sites

Since you marked this as answered already I am not going to bother reading the whole thread.. But question - how is this a tech question that he answered? I feel the use of the answered feature is not understood?

You don't have a tech question, not even sure why this sort of question is even in the tech section. This would of been better suited for general area. To be honest this has nothing to do with networking, security or the internet, etc..

I was asking if this was something viable and he answered questions I had about my idea that I wasn't sure about. Cloud computing has a lot of stuff to do with the Internet.

I wanted to express my gratitude using the best answer feature.

Link to comment
Share on other sites

"I wanted to express my gratitude using the best answer feature."

 

While that is nice and all - it is not the purpose of the feature.. Like his post if you want to thank him, etc.  Best Answer is for a tech "answer"  not that you like his comment about your subject.

 

Asking if what is viable?

 

"A cycle loop is set up to perform routine resource monitoring and integrity checking through temperature checks, intrusion checks, load checks, SMART tests, and data block latency tests. After every cycle is completed notes are made documenting the changes since the last cycle, and images of the system are stored if there were any changes from the last cycle (in configuration). This continues until there is a problem. A problem can be defined as a malicious attack, a program error or bug, an intrusion, a vulnerability, or unexpected load."

 

Yeah resource monitoring is viable, integrity checking, again viable - smart test - yeah, etc..  Your topic would be better suited in say programming or general -- nothing in your post is about networking or security or the use of the internet to be honest.

 

"this forum is to be used for discussion of actual networking and the security surrounding it"

 

how does your post fall into that?  While there are plenty of topics in this section that stretch the topic section area -- yours is really a square peg to this round hole..  And answering it is impossible - your talking about something that doesn't exist, some "model" you have..  How can you have a best answer to something like that?  And on bit of side note..  How are you sure that is the best answer in the few minutes of this threads discussion?  Sorry just my 2 cents on it all.

Link to comment
Share on other sites

"I wanted to express my gratitude using the best answer feature."

 

While that is nice and all - it is not the purpose of the feature.. Like his post if you want to thank him, etc.  Best Answer is for a tech "answer"  not that you like his comment about your subject.

 

Asking if what is viable?

 

"A cycle loop is set up to perform routine resource monitoring and integrity checking through temperature checks, intrusion checks, load checks, SMART tests, and data block latency tests. After every cycle is completed notes are made documenting the changes since the last cycle, and images of the system are stored if there were any changes from the last cycle (in configuration). This continues until there is a problem. A problem can be defined as a malicious attack, a program error or bug, an intrusion, a vulnerability, or unexpected load."

 

Yeah resource monitoring is viable, integrity checking, again viable - smart test - yeah, etc..  Your topic would be better suited in say programming or general -- nothing in your post is about networking or security or the use of the internet to be honest.

 

"this forum is to be used for discussion of actual networking and the security surrounding it"

 

how does your post fall into that?

Sorry, I understand. I made this thread in the middle of night, so I apologize for the misplacement. Could a mod move this?

Link to comment
Share on other sites

This topic is now closed to further replies.