eclipse-fog05 / fog05

End-to-End Compute, Storage and Networking Virtualisation.
http://fog05.io/
Other
55 stars 24 forks source link

Architectural doubts #144

Closed Davide-DD closed 4 years ago

Davide-DD commented 5 years ago

I have many different nodes that need to be deployed at run-time when certain conditions are met or specific messages arrive. I was asking myself what was the best way to implement this kind of behavior:

  1. Adding a REST service to the Python script that deploy the initial architecture that can receive those message and can trigger the creation of the nodes;
  2. Give to one of the deployed entities (one of the central ones) the possibility to contact YAKS and use fog05 REST APIs to create the nodes;
  3. Create a specific entity (maybe there's something I'm missing from fog05 explicitly for this use case) that can have access to YAKS and use fog05 REST APIs to create nodes. I was rooting for the first or the third idea, because it would be a centralized way to manage the entities and I would avoid giving to deployed entities the explicit knowledge of the existence of fog05.

Therefore, I have 3 doubts:

Thank you in advance for your time.

gabrik commented 5 years ago

Hi @Davide-DD,

I'm also in favor of the first solution, because it hides the fog05 APIs (REST or not, I will suggest not the REST ones but directly the python ones), and you can add all your 'businnes logic' on top, in your case will be part of the python script that will evolve is a simple managment and orchestration. Also it allows you to just use fog05 as a VIM which I think is your use case.

If you have more than one interface in the nodes, then yes, they will use the management interface for this sort of communication.

Regarding ETSI OSM, it is mainly used for NSs and VNFs provisioning, so it is used to do similar stuff to what you are trying to do, but it manages only VMs and you may need powerfull nodes to run it. There is the possibility to use ETSI OSM with fog05 but I have to check the compatibility after the last updates in fog05 APIs.

If you have any other doubt, I'm happy to help!

Davide-DD commented 5 years ago

Thank you very much for your opinion, @gabrik! If that's your analysis, I'll go for the first solution and leave aside ETSI OSM, as I'm not going to manage VMs. Meanwhile, I'm keeping this issue opened for the moment, as I'm not going to implement it by this week and further questions may come up to my mind.

Davide-DD commented 4 years ago

Hi @gabrik! Starting from the considerations we made in this thread, I came up with an orchestrator that encapsulates the existing fog05 functionalities and tries to ease the complexity of deployment of some distributed architectures like the ones I had created in my master thesis. I thought that maybe it can be useful also for some more practical use cases: if you want, check out the repo and tell me what you think about. If you find it useful, feel free to share it or mention it in fog05 repo (it would be a great honor for me).

gabrik commented 4 years ago

Hi @Davide-DD!

Nice to see that you where able to leverage and extend some existing functionalities and map them to the use case of your master thesis.

I had a quick look at the code and architecture and it is very well done! Nice work!

Sure we can mention you work as one use-case of Eclipse fog05!