leopardslab / nodecloud-legacy

[DEPERECATED] REFER: nodecloud | The Node.js API for open cloud
Apache License 2.0
54 stars 101 forks source link

Extend the services support for AWS platform #48

Open gayashanbc opened 6 years ago

gayashanbc commented 6 years ago

This is a Feature Proposal

I would like to propose the following functionalities to be added to the NodeCloud library for the AWS platform, so that we will be able to extend the service support for the AWS platform.

DynamoDB

S3

EC2

gayashanbc commented 6 years ago

@rehrumesh @rajikaimal I would like to work on the above mentioned tasks.

raju249 commented 6 years ago

@gayashanbc Are you working on all of the mentioned ? I can take up few if you don't mind. What you think ?

raju249 commented 6 years ago

Can take up dynamoDB and EC2 if you allow.

gayashanbc commented 6 years ago

@raju249 by all means, please feel free to. The reason that I didn't start the development is because I didn't get an approval for the proposed features from the repository maintainers yet. They might or might not approve it. (it's not my call to make). :) I have created a topic as well in the SCoRe labs mailing list regarding this, which can viewed be from the following link. https://groups.google.com/forum/#!forum/score-community

raju249 commented 6 years ago

I think you can add support and ask @rajikaimal to review your code. I guess there is no formal approval to request for adding support. When you submit a PR, maintainers can review it and give suggestions (if any). And after incorporating those suggestions, they can merge that feature in nodeCloud.

I can say this because there was no support for AWS IAM, but I submitted a PR with AWS IAM support and it was merged. So you can add without a formal approval 😄

gayashanbc commented 6 years ago

@raju249 Actually, there's a formal procedure. I think you should carefully read the CONTRIBUTING.md first, so that you will get an understanding of the procedure.

raju249 commented 6 years ago

Yes, the one that says, create an issue first. Have been following that :smile: I was saying about it doesn't harm to have necessary features to be in place, thats it :smile:

gayashanbc commented 6 years ago

@raju249 The goal of creating the issue is to let the maintainers know about what we intend to. So they can give their opinion regarding it before us directly jumping to development. Also refer to the ISSUE_TEMPLATE.md, so that you'll understand that there are specific guidelines given in case if we are planning to propose new features.

raju249 commented 6 years ago

Sure, thanks @gayashanbc

rehrumesh commented 6 years ago

@gayashanbc can you mention how those features map with other providers such as Azure, AliCloud? Our intention is to provide a unified API, not a provider-specific API. If we can generalize, sure you can implement them. So give me a comparison first.

gayashanbc commented 6 years ago

@rehrumesh OK, I will do a little bit of research around teh other cloud providers that you have mentioned and I will provide a comparison between those.

gayashanbc commented 6 years ago

@rehrumesh I was able to come up with the following table after looking at the API documentations provided by Microsoft Azure and Alibaba Cloud. The PDF version is attached below the image.

image Cloud services comparison.pdf

rehrumesh commented 6 years ago

@gayashanbc Great. However, this is not the exact comparison I wanted. Now you have mentioned that three equivalent services (DynamoDB, CosmosDB, Table Store). So the first requirement is clear. some of the cloud services do have a NoSql related service. So yes, we need to have a NoSQL service. And if you look at the source code carefully, we do have a NoSQL implementation.

We have implemented several parts of DynamoDB. What you need to do is to find out what are the other features of DynamoDB which we could implement in NodeCloud and for those features, are there similar features in other NoSQL services.

gayashanbc commented 6 years ago

@rehrumesh OK, thanks for the feedback, I will look into the fact that you have mentioned regarding NoSQL implementations, so that I can find out what are the other implementable features in DynamoDB for NodeCloud.