NodeCloud
NodeCloud is a standard library to get a single API among common cloud service providers (Ex. AWS, GCP, Azure.. ). This will make building products among multiple cloud services and its services easier for the developer.
Install
npm install nodecloud
or
yarn add nodecloud
Service Providers
- Amazon web services (AWS)
- Google cloud platform (GCP)
Service Types
Service Category | Service | AWS | GCP |
---|---|---|---|
Compute | IaaS | EC2 | Compute Engine |
Containers | ECS | - | |
Storage | Object Storage | S3 | Cloud Storage |
Block Storage | EBS | Persistent Disks | |
Networking | Load Balancer | ELB | - |
Peering | Direct Connect | - | |
DNS | Route53 | Google DNS | |
Databases | RDBMS | RDS | - |
NoSQL: key-value | DynamoDB | Cloud Datastore | |
NoSQL: indexed | - | Cloud Datastore | |
Security/ Authorization | IAM | AWS IAM | - |
Serverless | Functions | AWS Lambda | - |
Usage
const nodeCloud = require("nodecloud");
// AWS
const ncAWS = nodeCloud.getProvider("AWS");
const options = {
apiVersion: "2016-11-15"
};
const params = {
ImageId: "ami-10fd7020", // amzn-ami-2011.09.1.x86_64-ebs
InstanceType: "t1.micro",
MinCount: 1,
MaxCount: 1
};
const instanceParams = {
Key: "Name",
Value: "Node Cloud demo"
};
const ec2 = ncAWS.compute(options);
ec2
.createInstance(params, instanceParams)
.then(res => {
console.log(`All done ! ${res}`);
})
.catch(err => {
console.log(`Oops something happened ${err}`);
});
Development setup
$ git clone https://github.com/cloudlibz/nodecloud
$ cd nodecloud
$ yarn install
Run unit tests
$ yarn test