Showing posts with label PaaS. Show all posts
Showing posts with label PaaS. Show all posts

Saturday, May 12, 2012

Getting Started with OpenShift Paas Cloud

Getting Started

Couldn't be easier, in a nutshell:
  1. Create an OpenShift account.
  2. Add your public key to the OpenShift website.
  3. Setup the OpenShift Eclipse plugin.
That is about it! Deploying couldn't be easier as well. When you sign up OpenShift (very nicely) creates you a free git repo. All you need to do to deploy to your server is to push your changes to your repo, it does the rest! All very easy and very nice.

Changing Your GIT Upstream

I don't really want to deploy with every push, so I push to an 'inbetween' repo. I then push to 'upstream' (my OpenShift repo) only when I want to deploy.

To add an extra repo in between, run from your GIT folder:
  1. git remote rename origin upstream
  2. git remote add origin git@github.com/{your-account/{your-repo-name}.git
  3. git push -u origin master
After that your OpenShift project will be in GitHub, and any future pushes to GitHub you can just use 'git push'.

Now, to deploy just use:
git push upstream

I hope this has helped someone out there...

Tuesday, May 08, 2012

PaaS (Platform as as Service) Solutions Review

Well, I have decided to start (finally) playing around with PaaS solutions. I have briefly looked at GAE vs OpenShift, my initial impressions of each:

GAE (Google App Engine)

Strengths
  • Integrates well with Maven, and POM is nicely setup with a Maven Archetype
  • Will soon be offering MySQL solution, so you can have proper transactional apps on it
  • Plays well with Spring
  • Offers a NoSQL datastore (BigTable)
  • Automatically scales well with not much effort/monitoring on a devs behalf
  • Ties in well with other Google offerings, such as Drive, Maps, and even user management
Weaknesses
  • No full Java EE stack offering
  • Hard to avoid vender lock in

OpenShift

Strengths
  • Zero vendor lock-in
  • Can run basically any application. You can deploy straight to a JBoss 7.1 server easily (or PHP, Perl, whatever tickles your fancy)
  • Has a nice Eclipse plugin
  • Deploys by checking into a specific GIT repo (haven't tried yet but looks fairly easy)
  • Automatically scales well with not much effort/monitoring on a devs behalf
  • Can use MySQL, PostgreSQL or even MongoDB out of the box
Weaknesses
  • The default MySQL install doesn't automatically scale, I am sure you can some how set up replication but haven't looked into yet.
  • No built in niceties that you get with GAE, such as automatic user management
  • Relatively new, and not as well used and therefore tested as GAE (yet)

Verdict

I like both offerings to be honest, it would just depend on your requirements and personal likes/dislikes. I think I am leaning towards setting up a new application on OpenShift, mainly due to the fact you can deploy to a REAL application server (as opposed to a lightweight one such as Jetty etc). Stay tuned for how I get on...