what is the differnce between heroku and openshift? - heroku

i'd like to know what is the difference between heroku and openshift, for now i'm going to use the free package for my blog, i've noticed the openshift has more supported techs.
what about the limitation of each one of them

Both Heroku and OpenShift are open platforms.
Neither one has any 'lock in', so you can easily move your app in and out of each service with minimal hassle. They all use standard open source tools, and work as expected.
The main difference is ease of use. Heroku is quite a bit simpler to use that OpenShift. Heroku basically handles 100% of your application deployment. You basically write your code in a git repo, then say 'git push heroku master' and your code will magically be running on Heroku.
OpenShift, on the other hand, requires more work. It's not uncommon to setup and tweak your own web servers, infrastructure components, etc.
The honest answer is that you can't really go wrong either way. I've been using Heroku for years and love for both big and small apps, but OpenShift is fine as well.

Related

Is there any alternative of Heroku for ruby on rails app to deploy live?

I wanted to deploy my ruby on rails app live I already try Herkou &
Aws. So is there any alternative of this?
You can deploy your ruby app on your VPS-server. It's so simple as configure development environment. And there are many information and solution of many issues for that.
You can deploy your ruby app on any server/hosting. Better if that use linux OS, but it can be something else.
If it's that you want, you can read this great article about deploy:
https://www.digitalocean.com/community/tutorials/deploying-a-rails-app-on-ubuntu-14-04-with-capistrano-nginx-and-puma

basics of cloud computing

I am a beginner trying to understand why do I or others need heroku or other cloud services for application development. I want to know for what sort of applications or scenarios, do we need heroku or similar services?
For example, if I am an application developer, I can write my application (windows or linux) on my machine, run and test it on my machine and then share it publicly on sourceforge.net or some other website for free or for some money. I mean all of us download and run applications and programs from all over the web e.g., notepad++ or skype. They come as binaries and we can install them on our machines easily. I want to know where Heroku or cloud comes into the picture and do I/we need it? and why?
Please let me know if you need more explanation.
Heroku and Other PaaS providers helps you in application deployment and gives hosting of your application and some other features like High availability, scaling, load balancing, monitoring and ready made environment to run your apps.
Now why they cost? PaaS providers runs your application on virtual instance and use some management and deployment tool in front of it to manage and monitor your application that taken care for you. Manging a server is not easy now a day for big application, you need a high level of expertise and enough time to monitor periodically(may be hours). If you go for free hosting, you will not get all these feature of PaaS. Again it's your choice. If you can't bear down time and any data lose, you should prefer PaaS else you can go for Free hosting.
First of all notepad++ is not an application users of which need to interact or share. So it is not a good choice for to give an example. Heroku and other cloud providers host cloud applications. Generally, these applications, as part of their nature, need scaling. And scaling requires more hardware. Setting up hardware to scale your application requires time, money and expertise, so it is expensive. Buying these as a service is more appropriate for most people. I would offer you to read about IAAS, PAAS, SAAS concepts to start.
For a beginner or an individual hobbyist, the charm of Heroku or a similar PaaS lies in the fact that Heroku (and others) do away with the complexity of building and deploying cloud/web/saas software.
A typical app developer just knows/needs to know about his/her app. That is it. Why should you have to worry about how many machines you need to run your app on or get charged for machine time when you are sipping coffee and your app isn't doing anything or you are just trying out new things and don't know if it works. You can just write code and push your app to Heroku (or other platforms like it) and let them worry about things like servers, availability and reliability of your app. Yes, you will need to make some simple choices but those are much simpler choices than planning for scalability or database backup. And like any software platform, you will learn with time as to what suits your needs best. You adjust your app and things work fine. And remember you pay only for what you use and that can go up or down when you do more or less with the platform.
Also, if your app turns out to be a really popular app and you need to scale the app to support your newly founded fame :), you can ramp up your infrastructure on the fly for some affordable price.

Team Development of HTML5 PhoneGap App

First, I don't know if this is the right place to make this question but, I don't see any other place where to put it.
I would like to know how could I develop a mobile HTML5 App (using PhoneGap) with another friend, without need to have a copy of the project in more than one PC.
Could I somehow host the Code on a FTP Server and then we both could work on it for example, on Eclipse?
You need to look into using a source control system of some kind. Source control comes in many flavors, but in general it allows software developers to sync code between many servers, and allows developers to work concurrently without breaking each other's environments (imagine I have to take a component offline for many hours to code on it, but other people rely on it to do their work).
The two most common source control solutions are SVN and Git. Both of these work on Mac/Linux/PC and are documented thoroughly online.
without need to have a copy of the project in more than one PC.
How should that be possible? When want to view view something on your local computer, you must have it available on your local computer. But I think I know what you are looking for, three suggestions:
Use a cloud-based IDE. Cloud9 for example is one of the best. However, all of them tend to be slow and buggy.
Just synch the files between your computers. One of the best hosted services is Dropbox, or you can install ownCloud on your own Server.
Use a version control system. This is pretty common for software development as you can easily reproduce who made which change when and why. The best option is git and Github for hosting.
I know this is months late, but check out Adobe's Phonegap Build. Build and deploy in the cloud. They also allow you to assign a development team.
www.adobe.com/PhoneGap

stackmob addon for heroku

We're looking to build out our mobile app using Stackmob and Heroku for backend.
There is a Heroku Addon that enables a developer to control the app server-side logic using Rails.
There is not much documentation available on this addon nor are there examples.
There is a fair bit of media coverage on the add-on but no clear implementation and use-case path.
If any one in the community has some insight, we and other developers would sure benefit from hearing more.
I believe the StackMob Heroku add-on is discontinued. You can still sign up for StackMob directly on the StackMob site and use in your Heroku apps. They have multiple getting-started guides, including for Ruby, if that's what you use.
I'm the platform evangelist for StackMob.
friism is correct, we recently discontinued the StackMob Heroku add-on. (basically a way to provision an account and get up and running a little quicker on Heroku with StackMob)
This change won't prevent you from using StackMob on the Heroku platform.

How would I deploy a ruby app to a website?

Super new to programming.
Anyway, let's say I have a script that does something simple, like tells you the number of words you typed into a box (upon hitting a submit button) written in Ruby using Sinatra.
If I wanted this text box to show up on a webpage, like mysite.com/simple_app how would I set that up?
I apologize for the super noob question, but I have no idea where to start with this.
I checked out this question (http://stackoverflow.com/questions/9489803/how-to-turn-ruby-script-into-a-web-app) and since I already have working w localhost in Sinatra, I'm kind of wondering what's the next step.
I would very much recommend you try out Heroku.
As you're relatively new to programming, you don't want to mess with server stuff yet. Heroku handles most of the server configurations so you can focus more on your application.
It also offers a free account, with limitations of course. But it's very nice for beginners, compared to VPS solutions which normally cost 20 bucks a month.
Check out this great article on deploying apps with Sinatra and Heroku:
Sinatra + Heroku = Super Fast Deployment
And also how to deploy any Rack-based applications on Heroku:
Deploying Rack-based Apps on Heroku
If you want to just deploy it somewhere and don't want to mess about with servers, try pushing your Sinatra app to Heroku. They have some fairly comprehensive documentation to get you started.
If you have your own server, it's a bit more involved, although what you trade off for simplicity you gain in control. The simplest thing that would work would be to check out a working copy of your app on said server, then run it like you do on localhost.
Google ruby deployment. It's a bit of a minefield, although the options are much more attractive than they were 5 years ago. For the simplest thing(s) that work, do either of the above. For anything else, you're out there with the rest of us ;)

Resources