Application Deployment - Web + REST backend - heroku

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.

Related

How to get instances configuration deployed in Ali cloud?

Our customer using Alibaba cloud to deploy their application. They rented dozens of VMs/instances. We are asked to using API to get instance configuration (i.e. number of core, memory, network bandwidth, SSD, disk type, zone and etc) by program. We have found Ali open APIs in github./1/
Could someone point out which exact API could we call to get instance configuration?
/1/ https://github.com/aliyun/aliyun-openapi-java-sdk/
You can use the DescribeInstanceAttribute API. I feel it's very helpful to use the APIExplorer to debug APIs. You don't need to install SDKs, CLIs, write any code, and configure access keys etc. Just login your Alibaba Cloud account, fill in some inputs, and click the Send Request. Everything is there!

Do I need Amazon ECS or EC2 instances when I am planning to deploy IBM Bluemix fabric images on docker?

So scenario is to create a Blockchain network that is around a use case that takes input every 2 minutes. Now I need to do this on Bluemix hyperledger v0.6 and using docker. Should I deploy it on ECS or EC2 instances as blockchain is meant for multiple peers and they should be residing on each instance?
Bluemix has an excellent documentation which provides step by step instruction on getting started with block chain here: https://www.ibm.com/developerworks/cloud/library/cl-ibm-blockchain-101-quick-start-guide-for-developers-bluemix-trs/index.html?ca=drs-
The above doc provides you information such as - setting up your network, writing the chaincode, writing client apps, monitoring your code etc. you can follow that article to get an insight on how to proceed further. Hope this helps.

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.

Modify the url of my cloud service

How to change the url of windows azure application which is in cloud?
modify the url from xxx.cloudapp.net to yyy.cloudapp.net
thanks for your helps
You can't do that! The only way is to create new cloud service and deploy your package there.
Please note that creating cloud service is nothing else but reserving the DNS name (XXX.cloudapp.net). You are not being charged for creating cloud services. You are only charged for when you deploy something on those cloud services. So you can create as many as you wish (well, I think there is some soft limit on the number of cloud services you can create, so delete the ones you are not planning to use).
When you go for production I highly suggest you to use your own custom domain (i.e. www.mycomany.com). For this, please follow the instructions here.

How to install/configure new software in newly created amazon instances using Amazon SDK in java?

My team is developing an application which will enable end users to easily create, configure and destroy amazon instances without having to use Amazon SDKs themselves. The process at our end comprises of 3 steps.
1. Create / Destroy VMs in the amazon cloud using Amazon SDK (Done)
2. Configure/Install new software in the newly created instance.
3. Track usage/command and control.
We are currently in the second step. I just realized that Amazon SDK does not provide APIs for installing new software in the remote machine. I am not talking about AmazonCloudFormation APIs because those APIs are used to create and manage AWS resources rather a software like, say, a browser.
Has anyone installed new software in an amazon instance? If yes, did you use one of a)Amazon SDK, b) Any third party APIs and c) custom solution?
Also, is it even possible to install new software in an amazon instance through java code?
The Amazon API primarily controls infrastructure. It does not have any control as to what happens inside the instance.
There are a couple of ways you can bootstrap your instance and install software. You can use user-data to pass a script that will run on first launch. You could use a provisioning system like chef or puppet. You could roll your own if it works better for you.
What you are describing sounds a lot like a Platform-as-a-Service (PaaS).
A PaaS would allow you to submit an application to the PaaS and let it start the machines and set up your software on them. A PaaS would also give you additional features like monitoring, cross-cloud support and updating the application on the fly.
There are a several PaaS vendors mentioned here: Looking for Paas Recommendations
Disclaimer: I work for Cloudify, an open-source PaaS.

Resources