What is Gondor

“What is Gondor?”, asks a friend of mine who doesn’t know the difference between Django and Rails and probably thinks that Python is a creature found at the zoo’s reptile exhibit.

To explain Gondor to someone who isn’t a programmer can be a bit tricky, if not near the impossible. I realize that I carry a lot of presuppositions when explaining Gondor even when trying to be non-technical. To get around that, I think I just need to try my best and explain some of these pre-requisites, if you will, to understanding Gondor and why it delivers so much value.

First, Gondor solves a problem called “deployment” in software development circles. This basically means taking software that has been written in one place (e.g. my laptop) and putting it in a place where others can use it (e.g. on a web server). There are a lot of steps involved in just getting the software updated on the web server in between updates to the software. In addition, to the act of updating the software, it would require the developer or another person, to be skilled at setting up web servers, keeping them updated with security patches, etc.

Secondly, Gondor, through the solution to the “deployment” problem, enables developers not only to not worry about all the complexities in setting up servers and managing manual deployments, but to deploy many different versions of their software on additional servers for testing and demos without affecting the server that people are using and relying as users of your software. This opens up new opportunities and capabilities. For example, members of a development team can demonstrate some experiment without getting in the way if that experiment is a failure or deemed not worthwhile. It also enables copies of your site to be put into place on demand to be used to demonstrate the software in sales presentations without fear that data on the site your users are relying on is disturbed in anyway.

Lastly, Gondor fits into a tier of services called Platform as a Service (PaaS). This is a trend that is becoming more and more popular as it allows a company to essentially outsource parts of its solution that is not part of its core competency. Why spend time and money on engineering resources to setup servers and figure out deployment solutions, when someone else has solved that problem and is dealing with it on a much larger scale than you would be doing on your own? It allows the company to recoup that opportunity cost and spend it on increasing value for their customers.

Oh, I just realized I should likely back up a bit further, and explain that Django is something called a web application framework built with Python, which is a computer programming language. A “web application framework” is software that makes it faster to build web applications, or interactive websites.

So, given these definitions, my response to the question of “What is Gondor?”, would be “Gondor is a PaaS solution for Django deployment and hosting”.