Friday, 30 November 2012

Hard reverting a Maven release with Git

When trying to release a maven project, Git automatically tags your repository and then updates the project to a new version. However if there are any failures in between, the release cannot be fully undone and needs manual intervention to clean up the state.

The following code snippet shows how you can fully revert your project by removing both the tags and resetting the previous commit.

Thursday, 29 November 2012

New Age Architecture principles learnt from AWS re: Invent keynote

Was listening to the Keynote from Werner Vogels at AWS re: Invent and wanted to record all the concepts that he discussed. These are so valuable and applicable for large applications in today's environment and worth blogging about.

Fundamental Principle - EVERYTHING IS A PROGRAMMABLE RESOURCE 

Controllable

  • Decompose into small, loosely coupled, stateless building blocks 
  • Automate processes and services
  • Let business levers control the system
  • Architect with cost in mind
Resilient

  • Protecting your customer is the first priority
  • In production, deploy to at least two availability zones
  • Integrate security into your application from the group up
  • Build, test, integrate and deploy continuously
  • Don't think in single failures
  • Don't treat failure as an exception
Adaptive
  • Entla non sunt multiplicanda praeter necessitiatem - dont make things more complicated than it should be 
  • Assume Nothing
  • Use late binding
Data Driven
  • Instrument everything, all the time
  • Inspect the whole distribution
  • Put everthing in logs


Some of the quotable quotes from the session include

"you are allowed to make mistakes"
"if you cannot collect data, you cannot act"
"whole distribution not average or median - inspect 99.9 percentile"
"Thou shalt turn off the lights"


Thursday, 28 June 2012

Introducing Polyglotted

My name is Shankar Vasudevan, a developer and architect, working for a leading investment bank within the London city. I have been architecting large scale enterprise applications for the past 15 years. You can visit my professional profile on LinkedIn or follow me @vshank77 on Twitter.

Over the past 15 years, I have grown a great fascination for data storage and analysis. The advent of Big Data and NoSQL in the recent years have got me drooling and my professional work in the fields of information retrieval, analytical processing, adword classification and scoring, enterprise search have added fuel to the fire. More recently I have become a true believer of Polyglot Persistence a keyword coined by Martin Fowler and apply the philosophy in day-to-day job.

Polyglotted.org is to give back to the community, projects that I conceive in the area of information analysis and polyglot persistence.

If you are still interested, Martin Fowler has an interesting introduction to NoSQL Databases and Polyglot Persistence


Cross-posted from Polyglotted Blog