donderdag 27 december 2012

Continuous Delivery Continued


An updated version of the mind map.

Traditionally, releasing software was a time consuming process. Done by hand in combination with ad-hoc configuration changes.
By adopting techniques of automated build, test, and deployment, it's possible to gain many benefits: verify changes, make the process reproducible across environments.

 

dinsdag 27 november 2012

Staging omgeving

Als onderdeel van ons release en test proces kunnen we beschikken over een staging omgeving. Gebruik kunnen maken van een dergelijke omgeving is ideaal, maar wat test je nu eigenlijk op zo'n omgeving en waarvoor gebruik je die?

Op dit moment gebruiken we het voor het testen van het deployment proces. Deployment is een proces dat semi-automatisch gebeurd. Nog niet alles is op dit moment geautomatiseerd. Zo nu en dan hebben we nog te maken met een aantal handmatige update stappen. Overigens wordt een groot deel van dat proces al wel automatisch uitgevoerd. Een gemiddelde update van onze productieomgevingen vindt doorgaans plaats binnen één uur.Het testen van die handmatige stappen en het testen van het deployment proces doen we dus op die staging omgeving.

Naast het testen van het deployment proces testen we ook of onze productieomgevingen ten opzichte van elkaar correct werken. Op dit moment bestaat die productieomgeving uit twee clusters. Een klant kan beschikken over een omgeving op één van beide clusters. Bij het uitrollen van een nieuwe release beginnen we altijd met het bijwerken van het eerste cluster. Doorgaans wordt het tweede cluster na een week na het bijwerken van het eerste cluster bijgewerkt. In die week tijd draait op productie dus twee versies van ons product. Daarnaast zijn er onderdelen (bijvoorbeeld de login server) die gedeeld worden door beide clusters. Het is dus belangrijk om te testen of het tweede cluster nog goed functioneert nadat het eerste cluster al is bijgewerkt. Ook hiervoor zetten we de staging omgeving in.

donderdag 4 oktober 2012

Continuous Delivery

As part of my job as release manager at Twinfield, I'm wondering if and how we can improve our release process. As we adopted the Scrum development methodology, we want to release frequently. Some weeks ago I bought a book about continuous delivery. 

During reading the book I decided to create a kind of mind map:



Note that I just started reading the book, so the mind map is far from complete yet.