Skip to main content

Continuous delivery

I attended today a one day training at QCon London about Continuous delivery. The session was generally interesting until the topic of treating infrastructure as software started tools such as puppet, chef ... Is this really a good idea?


Points noted during the presentation:

  • Excellent points: Everyone should be testing, and, Need to help each other out
  • Location where binaries are stored to avoid rebuilding binaries from source is called "Artifact repository"
  • Using the same artifacts to deploy across environments is a good practice. It allows to cross potential sources of issues out if things go wrong
  • One should not use SNAPSHOTS in Maven dependencies
  • With management, it is important to agree on an outcome. After that a solution can be proposed.
  • Find the constraint you are having right now and then do the necessary to remove it.
  • Dark Launch is a very good way to de-risk a deployment.
Suggested good reads (available on the web) were:
Tools that help or support the deployment:
  • Google "go thoughtworks". There is a community edition
  • Record SQL scripts for updating database with http://dbdeploy.com 
  • Selenium for automated testing of flex applications: http://code.google.com/p/sfapi/ . Can Selenium keep a session cookie? Try against our Single Sign On infrastructure.

Comments

Popular posts from this blog

LDAP server with your schema on your laptop

To choose is to live... Jacques Brel said "choisir c'est perdre": to choose is to loose. There would indeed be no choice to make if an option was definitely superior to the others. If you choose you will have to balance pros and cons and you will then have to loose. My great colleague, Achilleas Voutsas , reacted on less than a split second on that one. He straight away answered that: "To choose is to LIVE". He is right: if you have no choice, it is monotone. Choice is creativity. Choice is life. Going back to the theme. In 2005 Romain Eude and Gonzague Huet devised a solution allowing one to run an OpenLDAP server on a windows PC. That was brilliant and it helped tremendously the development of an LDAP based system. I could run an entire system on my laptop: database, application sever and OpenLDAP with 20000 entries. If you run Linux, OpenLDAP is no brainer choice to use. On Windows, the setup from that we used in 2005 is very easy but was not

Websites about using JPA 2.0 with Google app engine

Maven archetype to generate project (found by googling maven jpa 2 google app engine Archetype ): http://webapplicationdeveloper.blogspot.co.uk/2012/07/google-datastore-with-jpa-and-spring.html For Maven and Google App Engine, see also: http://code.google.com/p/maven-gae-plugin/ Google App engine documentation about JPA 2 support: https://developers.google.com/appengine/docs/java/datastore/jpa/overview-dn2 Google App engine documentation about the java datastore: https://developers.google.com/appengine/docs/java/gettingstarted/usingdatastore Another cool article but not to JPA or google app engine: https://code.google.com/p/guava-libraries/wiki/CachesExplained  

Recursivity and Observables: yes it is possible

When writing a loop using a paging API to fetch data for an Angular app, I felt so frustrated  that I was very close to going back to Promises. I came across lot of questions on the web but no convincing answers: some even proposing to subscribe to an Observable within the service implementation. However, I did not abandon  Observables to return using Promises thanks to this very informative comparison . From there I picked an  excellent article on reactive programming  with RxJava which gave me hope. So I kept on trying... Achieving both reactivity and recursivity without understanding the fundamentals of RxJs operators, was a struggle. After focussing on the use of the map and mergeMap operators, I managed a first implementation very similar to how I would write a solution to the same problem using Promises. To help me and others who have the same questions, I created a repository of angular code snippets . One is about  RxJs Recursive Observable . Expand operator to the