The Cache: Technology Expert's Forum
 
*
Welcome, Guest. Please login or register. September 16, 2019, 05:13:37 PM

Login with username, password and session length


Pages: [1]
  Print  
Author Topic: Elements of Continuous Integration  (Read 1287 times)
isthisthingon
Global Moderator
Lifer
*****
Offline Offline

Posts: 2879



View Profile
« on: March 13, 2010, 01:48:24 PM »

I've been spending a lot of time lately working through the design challenges of CI.  It's one of the main struggles in my day job but it has quickly become a hobby for me.  This book I'm reading takes the challenge head on blending Agile and configuration management with the intention of achieving continuous integration: Adapting Configuration Management for Agile Teams - Balancing Sustainability and Speed.

One of the exciting things about CI is in the area of providing a true SaaS L4 service.  CI is what enables companies such as Salesforce, Google, Facebook, etc. to seamlessly deploy versions to production with virtually no interruption to their users.  In a way, continuous integration is to SaaS what virtualization is to IaaS.

The attached PDF is a nice "you are here" 1-page checklist for your level of CI. 

* elements_of_ci_USLetter.pdf (131.26 KB - downloaded 125 times.)
Logged

I would love to change the world, but they won't give me the source code.
nop_90
Global Moderator
Lifer
*****
Offline Offline

Posts: 2203


View Profile
« Reply #1 on: March 13, 2010, 02:16:52 PM »

No need to do all that fancy shit just use erlang lol
http://www.rabbitmq.com/erlang.html

With lisp you can almost do similar things, but not as well as erlang.
I wish i had more time to play with all the things I want to Smiley

Either way it is cool Smiley

Live code upgrade

Large users of messaging technology, e.g. investment banks, often have hundreds of separately managed messaging nodes or routers. However, as with distribution, Erlang does not suffer from the maintenance and administrative problems associated with multi-node or complex deployments.

Erlang supports the ability to upgrade the code running on a node without taking the node down. This can be engineered so as to work across groups of nodes. Programmatic hooks allow modules to be informed when there is a new version of the module available and to migrate state safely to the new module version. This would, for example, allow RabbitMQ to be deployed supporting version "a" of AMQ and then when version "b" becomes available and is then implemented, for it to be rolled out into the live system, giving the live system the ability to support both versions of the specification with no downtime. This is obviously a very attractive feature for high availability purposes and for ease of system administration of upgrades.

Logged
isthisthingon
Global Moderator
Lifer
*****
Offline Offline

Posts: 2879



View Profile
« Reply #2 on: March 13, 2010, 03:17:06 PM »

Nice.  This works well with one dimension of CI.  There still is a need to form configuration baselines that extend way beyond programs, not to mention the numerous human dimensions required (Agile) to maintain such a VOYAGER-like beast of self awareness (what movie, anyone?).  A configuration baseline includes the OS hosting the program, the hardware, external libraries, mash-ups, protocols, cross-functional issues, etc. etc.

But RabbitMQ looks like an awesome message queue.  Thx nop Smiley
Logged

I would love to change the world, but they won't give me the source code.
Pages: [1]
  Print  
 
Jump to:  

Perkiset's Place Home   Best of The Cache   phpMyIDE: MySQL Stored Procedures, Functions & Triggers
Politics @ Perkiset's   Pinkhat's Perspective   
cache
mart
coder
programmers
ajax
php
javascript
Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks


Valid XHTML 1.0! Valid CSS!