Skip to main content

Posts

Showing posts from March, 2012

Case of missing Iron Foundry VMC client

While installing the latest Iron Foundry VMC client and Cloud Foundry Explorer there is an installation issue. Due to this VMC client install gets lost if both the VMC Client and CF Explorer are installed irrespective of the location of the install. As it turns out, if you install VMC client first and CF Explorer next, installer would delete the VMC install directory. If you install CF Explorer first and try to install VMC client later you get this error "This version or newer version of VMC Command Line Tool is already installed."  Current workaround would be copy the installed folder for VMC before starting CF Explorer install. Hope it helps.

NoSQL Data Modelling

Recently in one of the project we planned to use some NoSQL   Document database . One of the reasons we though document database would be a great fit was that we could get started without setting up any DB schema and start shoving entities into the document database. Nothing can be further from the truth. Data modeling is as essential and as fundamental an exercise for NoSQL stores as it is for RDBMS. It is just that the concepts are different as compared to RDBMS where normalization\de-normalization provide some guidance. In my pursuit to understand how to model data for a document database i came across some great reference material that i want to share here. MongoDB Schema Design : Great resource from MongoDB. Start with this one first. MongoDB Data Modeling : A quick read but explains some important concepts related to modelling. Embedding vs Linking. MongoDB Data Modeling and Rails : Covers an example to make things more clear. NoSQL Data Modelling Techniques : A great

Trying to make sense of REST (over HTTP)

People who come from WCF/ Web Services background and  transition to RESTish type communication infrastructure make mistakes that follow a common pattern. I have seen it with people who are new to REST and with people who have spent some time working with RESTful services. (Throughout the post where every I mention REST I mean REST over HTTP)  The common misconceptions  are Not understanding the difference between HTTP POST and GET, in fact having too little or no clue about HTTP Verbs. For most devs interaction with server involves calling a client proxy method, handling the request on server, sending a response back from server, handling the response on client. This abstraction means no one knows what happens at infrastructure level. When programming for HTTP one cannot ignore the abstraction, else we cannot take full advantage of the medium. The manifestation of the above affect is, either every call becomes a POST or every call becomes a GET. When every call becomes

Contrasting Azure and IronFoundry Deployment Behaviour

I have been exploring Iron Foundry a PaaS player in .Net space for the last few weeks. One of the things I liked about Iron Foundry was, how fast deployments happened. One of the reasons for this is how binary\file package gets uploaded to the cloud infrastructure. The Iron Foundry \ Cloud Foundry approach (since Iron Foundry is port of CF) of only uploading change-set instead of complete binary\file package makes this step of deployment quite fast. What happens in Azure is You create a package file (cspkg) using either Visual Studio (VS) or command line tool cspack The generated package file contains the complete set of binaries and other resources such as images, css, javasripts etc  This package is then uploaded to Azure infrastructure and then deployed by the Fabric Controller. In contrast the process that Cloud Foundry follows to decide what it should send to cloud follows a multi-stage process. When an application is ready to be pushed to Cloud Foundry the client and C

Nerddinner on Appharbor

My last exercise on deploying Nerddinner on IronFoundry helped me a lot to understand the platforms capabilities. Time to do the same thing on AppHarbor , another PaaS player in .Net space. AppHarbor tries to emulate Heroku in .Net space. They are the ' Azure done right ' brigade. As a developer I just needs to push code either to AppHarbor or some of the supported repositories such as CodePlex, GitHub, BitBucket and AppHarbor does the rest. AppHarbor Builds the code. Runs unit tests Deploys the application on AppHarbor’s application servers (backed by Amazon EC2 ). Other than that it also provides all the standard benefits as provided by most PaaS players. To gain first hand experience on AppHarbor I decided to port Nerddinner onto AppHarbor. I already had the Nerddinner codebase in github so i could start right away. Creating Account   The first step was to register my account with AppHarbor. Once registration is complete we get a single instance under the