A Philosophy for Modern Applications

I listened to a webinar with Pivotal today and they spoke about some of the thinking behind their Cloud Foundry platform. One of the guides they use to build this is called 12 factor.net. It is a set of principles devised by the people behind the Heroku cloud platform.

I won't go into the details here, you can read the brief web page yourself, but they cover a broad range of the factors that we often don't think about when we develop large scale enterprise systems.

One such concept is the avoidance of Software erosion. This is the gradual degradation of software running in a changing environment. For example as security holes in the OS are discovered your OS is eroded. A service on which you rely fails and is not restarted. If not managed continuously items like this can result in your application going out of service. The costs of getting it back may be too great to pay.

A related concept is Technical debt. This is work within a system which needs to be done in order for some other work to progress to completion. If you don't attend to the debt it grows as the cost of doing the work gets greater.

Taken together these items are reasons to factor continual maintenance into the costs of software ownership. Using techniques like DevOps in a managed cloud environment - which is what Pivotal were explaining in today's webinar is a way to keep these time growing problems under control for less cost.



Comments

Popular posts from this blog

Building a choropleth map for Irish agricultural data

Early Stopping with Keras

AutoCompleteTextView backed with data from SQLite in Android