MicroService Testing - Don't Have Credit/Debit card - microservices

I don't have a credit or debit card. Is there is any place where i can get my microservices deployed for free for testing.
I wanted to learn but AWS asks for credit card info for signup.
Thanks

If you want to to test your microservices in a cloud environment you may need a credit/debit card at least for major cloud providers. You will not be charged as many of the AWS services are within the free tier limits.
The other option I feel is you can go for a docker container, which you can install on your local machine and test your micro services on the same. Dockers are pretty easy to install and deploy and are free of cost.

Related

How to implement auto stop for iddle or inactive applications on Google cloud platform like Heroku does?

Classic approach on GCP is rent a linux host with static monthly payment. It doesn't matter if your application is not running or users aren't consuming it, you will always pay the static monthly payment. I think this is acceptable for production environments but for development and testing not.
This does not happen on Heroku :
If an app has a free web dyno, and that dyno receives no web traffic in a 30-minute period, it will sleep. In addition to the web dyno sleeping, the worker dyno (if present) will also sleep.
Free web dynos do not consume free dyno hours while sleeping.
Question
How stop or delete app on google (gae, cloud run, cloud build, containers) if does not receive web traffic?
If it is possible using just google tools it would be great:
https://cloud.google.com/products
Idea
Developing a basic router with nodejs which works as minimal balancer. If web traffic is not detected for some apps, an instruction to google cloud platform api could stop the app or container. This would also apply to other clouds.
Any help is appreciated.
Update
I cannot find any solution yet. I will try to add that feature here https://github.com/jrichardsz/http-operator or a basic shell script to detect incoming request to a specific port like How to print incoming http request on specific port
GCP is offering several serverless products (like you mentioned) and they offer a pricing where you are only charged for the resources you use (when requests are processed).
In Cloud Run you are only billed when an instance is handling a
request using the autoscaling to know more. See their pricing as well for a better overview.
For Google App Engine the app.yaml configuration file contains several settings you can use to adjust the trade-off between performance and resource load for a specific version of your app. You
also check this link how to manage the auto scaling settings.
You can also check this Google Cloud blog for other strategies in auto scaling your applications.
To answer the Comment below:
This video can help you better understand their differences to be able to see the appropriate service for your use case.
To clarify, there's 2 variations of cloud run, the first is managed by google and the other runs on gke. As long as your classic application (api app) is stateless, you should be able to deploy it as a container and take advantage of being charged based on only the resources you use. Snippets would fall under Cloud function where it only runs functions based on triggers.
You can choose to deploy your Cloud Run app on fully managed infrastructure ("serverless", pay per use, auto-scaling up rapidly and down to 0 depending on traffic) or on a Google Kubernetes Engine cluster.
It is also possible to run Docker containers in Serverless using App Engine (Flexible). App Engine is always fully managed, with auto-scaling. App Engine Flex auto-scales gradually and down to 1. App Engine Second Generation auto-scales up rapidly and down to 0.
In your current use case I would recommend to use Cloud Run, check its limitations first before getting started. See the official documentation here and on Cloud Run How-To Guides

How to use Stackato

I have part of my team using komodo, and so I have looked into Stackato. At first Stackato looked nice, but I can not figure out how to use it. It is available for download as a VM image. You can also deploy it to an existing infrastructure. But what is the point of this. Most cloud platforms I've used(Bluemix, PWS, Openshift, etc...) are in a cloud instance, but Stackato does not seem to do this. Do I have to use Stackato with some infrastructure, or can I get a in-cloud version?
If by "in a cloud instance" you mean offered as a hosted service (like Heroku, Engine Yard, and Google App Engine) then you could try the Stackato Sandbox which is a hosted trial environment.
That said, the real benefit of Stackato is that it's PaaS software that you can run yourself (i.e. "Private PaaS"), so to really get a feel for it from an Admin/Provider's perspective, you should deploy a small cluster in a public cloud like HP Helion Public Cloud or Amazon EC2.
Yes, you can run it on your own servers, but I think the cloud hosted option what you're looking for. You can run a cluster of around 5 Stackato nodes with a free license from ActiveState, but the cloud hosting costs still apply.

any alternatives to Amazon Windows Virtual Machine hosting?

Does anyone know if there are any competing hosting alternatives I can explore other than Amazon Web Services for running very small instances of Windows virtual machines? I have used AWS for years but am thinking that it might be worth-while to see if there are better alternatives.
In particular, the scenario I have is this: I have created a Windows virtual machine image with the applications and configuration I want and then spin up VMs based on that image as I need from on the AWS spot market. I can go weeks at a time without needing any virtual machines but then will spin up 20 VMs for a few hours to do a particular job. I typically pay around .61 cents an hour per micro Windows VM running on AWS (keep in mind that the AWS spot market is way cheaper than reserved instances).
Does Microsoft Azure or any other service support a similar scenario? I don't mind paying a little more if the performance and such is better. However, it is absolutely critical that I can set things up so I only have to pay for VMs when I actually need them rather than keep paying for VMs that aren't in use.
Microsoft Azure has the capability you are looking for. You can upload your own images and then quickly deploy extra-small machines based on it. On Azure you can turf off the VM's through the Azure portal after you are finished with them and you will not be charged. Make sure that you do it through the portal and not the windows session or you will continue to be billed.
Check out this link for pricing information:
http://azure.microsoft.com/en-us/pricing/details/virtual-machines/
You can follow these steps to upload your image to your azure account:
http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-create-upload-vhd-windows-server/
Also, you can scale up very easy in the azure portal so this might help reduce your need for spinning up multiple machines.

Application Deployment - Web + REST backend

I have an application which ember.js based front end, express.js based REST APIs with postgre as DB. There is also an android application consuming the REST APIs.
I want to deploy this application in cloud. I am very new to this area and not sure what approach to take that will be economical too. Its a startup application and will not have huge traffic in the start. I have been doing RnD on heroku and amazon aws.
Can any one please guide what deployment setup will be reliable and economical for me? Should I use cloude Db?. Any guide line or reference material will be great help.
Sorry If you find this question too generic.
Cheers
You can use AWS EC2 micro instance initially which is low cost.
Once you create the instance, you can install the tools required for you in instance.
What you need is create a AWS account and create the instance. In order to create a instance you can do it from console. Later you can access the instance using secrete key and access key. If you are a new user to AWS. Yo can get the usage free for one year.
As part of AWS’s Free Usage Tier, new AWS customers can get started with Amazon EC2 for free.
More details about free usage and pricing
As your application grows you can use Opscode Chef or puppet for configuration management.

Cloud Mangement for Amazon IaaS

I am planning to migrate few products on Cloud which will be used as a platform for the developer community. In short I am trying to host PaaS vendor for my products which can be consumed by developers for build and development process.
The plan is as below:
I am trying to use Amazon IaaS ( S3, EC2) as the hardware.
I will require a cloud management software which can be installed somewhere on one of my local systems and can manage the Amazon cloud.
I will deploy all my products on the Amazon Cloud with the help of the Cloud Management Software.
I will develop and provide APIs to my end users(developer community) to use my service as a PaaS.
What I am trying to achieve is as follows:
Vendor independence in terms of IaaS. Lets say tomorrow I move to another IaaS provider.
Customer support for the cloud management software.
Ease of setup and use for the cloud management software.
Evaluation so far:
I tried looking at Eucalyptus and it sounds promising, but I am still not able to find out if this will be supporting the public cloud setup as my requirement is. I believe this is more like a private cloud setup.
If anyone can help me compare the other available options, that would help me solving my issue. For e.g. RightScale, OpenStack, CloudStack, Nimbula etc.
There are several PaaS providers out there. There is a comparison here: Looking for PaaS providers recommendations
Disclaimer: I work for GigaSpaces, developing the Cloudify open-source PaaS stack.
Cloudify answers most of your requirements, especially vendor independence - it supports a large number of IaaS providers, including: EC2, HP, Rackspace, Azure and others.
Cloudify does require its management server to run in the same cloud as the applications it runs so it can collect monitoring information using private communications rather then over the internet. Why do you want to run your management server on-premise?

Resources